feat:硬件查询用户

This commit is contained in:
dzc committed 2025-01-11 15:53:13 +08:00
1 parent f4a229f4f9
commit 08373b91cd
18 files changed
+299 -31

No files matched your search

+4 -3
View File
@@ -164,9 +164,10 @@ CREATE INDEX idx_dept_id ON wallet_transaction (wallet_id);
DROP TABLE IF EXISTS sys_user_face;
CREATE TABLE `sys_user_face`
(
id bigint AUTO_INCREMENT NOT NULL COMMENT '编号',
user_id bigint NOT NULL COMMENT '用户ID',
face_img varchar(256) NOT NULL COMMENT '人脸图片',
id bigint NOT NULL COMMENT '编号',
auto_code varchar(1024) DEFAULT NULL COMMENT '自增code',
user_id bigint NOT NULL COMMENT '用户ID',
face_img varchar(256) NOT NULL COMMENT '人脸图片',
create_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
create_time datetime DEFAULT NULL COMMENT '创建时间',
update_by varchar(64) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改人',
@@ -0,0 +1,47 @@
package com.bsd.pjcloud.hard.api.vo.android;
import lombok.Data;
@Data
public class HardAdUserVo {
/**
* 用户ID
*/
private Long userId;
/**
* 用户名
*/
private String username;
/**
* 手机号码
*/
private String userMobile;
/**
* 用户头像
*/
private String userAvatar;
/**
* 部门ID
*/
private Long deptId;
/**
* 钱包卡号
*/
private String walletCardNumber;
/**
* 钱包id
*/
private Long walletId;
/**
* 钱包类型id
*/
private Long walletTypeId;
/**
* 钱包余额
*/
private Integer walletBalance;
/**
* 是否冻结饭卡
*/
private Boolean walletIsFreeze;
}
@@ -6,7 +6,13 @@ import lombok.Data;
@Data
public class HardCarVo extends HardCarEntity {
// 商品id【超市的商品存的是 sku id】
// 商品id【超市特有】
private Long spuId;
// 商品规格【超市特有】
private String spec;
// 商品规格【超市特有】
private String unit;
}
@@ -1,14 +1,17 @@
package com.bsd.pjcloud.hard.controller.hard;
import cn.hutool.core.util.ObjectUtil;
import com.bsd.pjcloud.common.core.util.BeanUtils;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.idempotent.annotation.Idempotent;
import com.bsd.pjcloud.hard.api.constant.HardTypeEnum;
import com.bsd.pjcloud.hard.api.dto.async.SyncOfflineReqVo;
import com.bsd.pjcloud.hard.api.dto.hard.HandCancelCodeDto;
import com.bsd.pjcloud.hard.api.dto.hard.HardBindDto;
import com.bsd.pjcloud.hard.api.dto.hard.HardCreateOrderDto;
import com.bsd.pjcloud.hard.api.vo.HardInvoiceVo;
import com.bsd.pjcloud.hard.api.vo.HardManagerVo;
import com.bsd.pjcloud.hard.api.vo.android.HardAdUserVo;
import com.bsd.pjcloud.hard.api.vo.order.HardCarVo;
import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo;
import com.bsd.pjcloud.hard.service.*;
@@ -24,7 +27,7 @@ import java.util.List;
@RestController
@RequiredArgsConstructor
@RequestMapping("/hard-api")
@RequestMapping("/hard-api/ad")
@Tag(description = "hard-api", name = "硬件")
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class HardApiController {
@@ -34,6 +37,7 @@ public class HardApiController {
private final HardCarService hardCarService;
private final HardOrderService hardwareOrderService;
private final HardOrderSyncService hardOrderSyncService;
private final HardApiService hardApiService;
@PostMapping("/bind")
@Operation(summary = "绑定服务端设备")
@@ -93,4 +97,13 @@ public class HardApiController {
return R.ok(hardOrderSyncService.syncOfflineOrder(dto));
}
@GetMapping("/get-user")
@Operation(summary = "获取用户和钱包")
public R<HardAdUserVo> getUserById(@RequestParam Long id, @RequestParam(required = false) HardTypeEnum type) {
if (ObjectUtil.isEmpty(type)) {
type = HardTypeEnum.CANTEEN;
}
return R.ok(hardApiService.getUserById(id, type));
}
}
@@ -0,0 +1,13 @@
package com.bsd.pjcloud.hard.service;
import com.bsd.pjcloud.hard.api.constant.HardTypeEnum;
import com.bsd.pjcloud.hard.api.vo.android.HardAdUserVo;
import jakarta.validation.Valid;
import java.util.List;
public interface HardApiService {
HardAdUserVo getUserById(Long userId, HardTypeEnum type);
}
@@ -0,0 +1,50 @@
package com.bsd.pjcloud.hard.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.bsd.pjcloud.admin.api.dto.UserInfo;
import com.bsd.pjcloud.admin.api.entity.SysUser;
import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
import com.bsd.pjcloud.hard.api.constant.HardTypeEnum;
import com.bsd.pjcloud.hard.api.vo.android.HardAdUserVo;
import com.bsd.pjcloud.hard.service.HardApiService;
import com.bsd.pjcloud.wallet.api.constant.WalletTypeEnum;
import com.bsd.pjcloud.wallet.api.entity.WalletManageEntity;
import com.bsd.pjcloud.wallet.api.feign.RemoteWalletService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@Validated
@Slf4j
@RequiredArgsConstructor
@Service
public class HardApiServiceImpl implements HardApiService {
private final RemoteUserService userService;
private final RemoteWalletService remoteWalletService;
@Override
public HardAdUserVo getUserById(Long userId, HardTypeEnum type) {
HardAdUserVo result = new HardAdUserVo();
// 查询用户
UserInfo user = userService.getByUserId(userId).getData();
if (ObjectUtil.isEmpty(user)) return null;
// 查询钱包
WalletTypeEnum walletType = ObjectUtil.equals(HardTypeEnum.CANTEEN, type) ? WalletTypeEnum.EAT : WalletTypeEnum.PAY;
WalletManageEntity wallet = remoteWalletService.getWallet(userId, walletType).getData();
if (ObjectUtil.isEmpty(wallet)) return null;
SysUser sysUser = user.getSysUser();
result.setUserId(sysUser.getUserId());
result.setUsername(sysUser.getUsername());
result.setUserAvatar(sysUser.getAvatar());
result.setUserMobile(sysUser.getPhone());
result.setDeptId(sysUser.getDeptId());
result.setWalletCardNumber(wallet.getCardNumber());
result.setWalletId(wallet.getId());
result.setWalletTypeId(wallet.getWalletTypeId());
result.setWalletBalance(wallet.getBalance());
result.setWalletIsFreeze(wallet.getIsFreeze());
return result;
}
}
@@ -23,6 +23,7 @@ import com.bsd.pjcloud.hard.mapper.order.HardParentCarMapper;
import com.bsd.pjcloud.hard.service.HardCarService;
import com.bsd.pjcloud.supermarket.api.feign.RemoteSupermarketUnitSkuService;
import com.bsd.pjcloud.supermarket.vo.SupermarketUnitWithSpuVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -74,6 +75,8 @@ public class HardCarServiceImpl extends ServiceImpl<HardCarMapper, HardCarEntity
for (HardCarVo v : resultList) {
supList.stream().filter(i -> ObjectUtil.equals(i.getId(), v.getProductId())).findFirst().ifPresent(spu -> {
v.setSpuId(spu.getSpuId());
v.setSpec(spu.getSpec());
v.setUnit(spu.getUnit());
});
}
}
@@ -141,7 +144,8 @@ public class HardCarServiceImpl extends ServiceImpl<HardCarMapper, HardCarEntity
List<SupermarketUnitWithSpuVo> supList = supermarketUnitSkuService.getSupermarketUnits(productIds).getData();
for (HardCreateCarDto v : list) {
supList.stream().filter(i -> ObjectUtil.equals(i.getId(), v.getProductId())).findFirst().ifPresent(spu -> {
int itemTotalPrice = v.getProductCount() * spu.getPromotionPrice();
Integer price = getSupermarket(spu);
int itemTotalPrice = v.getProductCount() * price;
supermarketTotalPrice.addAndGet(itemTotalPrice);
});
}
@@ -192,10 +196,11 @@ public class HardCarServiceImpl extends ServiceImpl<HardCarMapper, HardCarEntity
for (HardCreateCarDto v : productList) {
HardCarEntity item = HardCarEntity.builder().parentCarId(parentCarId).build();
supList.stream().filter(i -> ObjectUtil.equals(i.getId(), v.getProductId())).findFirst().ifPresent(spu -> {
int totalPrice = v.getProductCount() * spu.getPromotionPrice();
Integer price = getSupermarket(spu);
int totalPrice = v.getProductCount() * price;
item.setProductId(spu.getId());
item.setProductName(spu.getProductName());
item.setProductPrice(spu.getPromotionPrice());
item.setProductPrice(price);
item.setProductPic(spu.getPicUrl());
item.setTotalPrice((long) totalPrice);
item.setProductCount(v.getProductCount());
@@ -241,6 +246,17 @@ public class HardCarServiceImpl extends ServiceImpl<HardCarMapper, HardCarEntity
);
}
private Integer getSupermarket(SupermarketUnitWithSpuVo vo) {
if (ObjectUtil.isEmpty(vo)) return 0;
if (ObjectUtil.isNotEmpty(vo.getPromotionPrice()) && !ObjectUtil.equals(vo.getPromotionPrice(), 0)) {
return vo.getPromotionPrice();
}
if (ObjectUtil.isNotEmpty(vo.getRetailPrice())) {
return vo.getRetailPrice();
}
return 0;
}
private HardCarServiceImpl getSelf() {
return SpringUtil.getBean(getClass());
}
@@ -308,8 +308,8 @@ public class HardwareOrderServiceImpl extends ServiceImpl<HardOrderMapper, HardO
log.error("|{}|支付配置不存在", TAG);
return extraPrice;
}
if (setting.getPayAmountMealTimes().compareTo(new BigDecimal(1)) <= 0) {
log.error("|{}|每一餐的倍数必须大于1", TAG);
if (setting.getPayAmountMealTimes().compareTo(new BigDecimal(0)) <= 0) {
log.error("|{}|每一餐的倍数必须大于0", TAG);
return extraPrice;
}
if (ObjectUtil.equals(setting.getPayAmountEnable(), YesNoEnum.NO.getCode())) return extraPrice;
@@ -3,6 +3,13 @@ package com.bsd.pjcloud.admin.api.dto;
import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity;
import lombok.Data;
import java.util.List;
@Data
public class SysUserFaceDto extends SysUserFaceEntity {
private Long merchantDeptId;
private List<Long> userIds;
}
@@ -29,6 +29,12 @@ public class SysUserFaceEntity extends Model<SysUserFaceEntity> {
@Schema(description="编号")
private Long id;
/**
* 自增code
*/
@Schema(description="自增code")
private String autoCode;
/**
* 用户ID
*/
@@ -1,11 +1,26 @@
package com.bsd.pjcloud.admin.api.vo;
import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity;
import com.bsd.pjcloud.admin.api.vo.base.BaseDeptInterface;
import com.bsd.pjcloud.admin.api.vo.base.BaseUserInterface;
import lombok.Data;
@Data
public class SysUserFaceVo extends SysUserFaceEntity {
public class SysUserFaceVo extends SysUserFaceEntity implements BaseUserInterface, BaseDeptInterface {
/**
* 用户相关
*/
private String username;
private String userMobile;
private String userAvatar;
/**
* 部门相关
*/
private Long deptId;
private String deptName;
}
+4
View File
@@ -195,6 +195,10 @@
<version>5.7.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.bsd</groupId>
<artifactId>pjcloud-common-idempotent</artifactId>
</dependency>
</dependencies>
@@ -10,10 +10,10 @@ import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity;
import com.bsd.pjcloud.admin.api.vo.SysUserFaceVo;
import com.bsd.pjcloud.admin.service.SysUserFaceService;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.idempotent.annotation.Idempotent;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
import com.bsd.pjcloud.common.security.util.SecurityUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import org.springdoc.core.annotations.ParameterObject;
@@ -24,7 +24,6 @@ import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
/**
* 人脸样本表
@@ -47,7 +46,7 @@ public class SysUserFaceController {
public R<Page<SysUserFaceVo>> appPageJoin(@ParameterObject Page page, @ParameterObject SysUserFaceDto dto) {
PjcloudUser user = SecurityUtils.getUser();
dto.setUserId(user.getId());
return R.ok(sysUserFaceService.pageJoin(page, dto));
return R.ok(sysUserFaceService.scopePageList(page, dto));
}
@Operation(summary = "app查询人脸详情", description = "app查询人脸详情")
@@ -59,6 +58,7 @@ public class SysUserFaceController {
@Operation(summary = "新增人脸样本表", description = "新增人脸样本表")
@SysLog("app新增人脸样本表")
@PostMapping("/app")
@Idempotent(expireTime = 10, info = "正在处理中,请勿重复操作")
public R appSave(@RequestBody SysUserFaceEntity dto) {
PjcloudUser user = SecurityUtils.getUser();
dto.setUserId(user.getId());
@@ -82,6 +82,16 @@ public class SysUserFaceController {
}
/* ************************************* end app end ************************************* */
/* ************************************* start android start ************************************* */
@Operation(summary = "android查询人脸数据库", description = "android查询人脸数据库")
@GetMapping("/ad/find-face")
public R adFinFace(@ParameterObject Page page, @RequestParam(required = false) Long userId) {
SysUserFaceDto dto = new SysUserFaceDto();
dto.setUserId(userId);
return R.ok(sysUserFaceService.pageJoin(page, dto).getRecords());
}
/* ************************************* start android start ************************************* */
@Operation(summary = "分页查询", description = "分页查询")
@GetMapping("/page")
// @PreAuthorize("@pms.hasPermission('userFace_sysUserFace_view')")
@@ -108,6 +118,7 @@ public class SysUserFaceController {
@SysLog("新增人脸样本表")
@PostMapping
// @PreAuthorize("@pms.hasPermission('userFace_sysUserFace_add')")
@Idempotent(expireTime = 10, info = "正在处理中,请勿重复操作")
public R save(@RequestBody SysUserFaceEntity sysUserFace) {
return R.ok(sysUserFaceService.create(sysUserFace));
}
@@ -1,26 +1,27 @@
package com.bsd.pjcloud.admin.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.admin.api.dto.SysUserFaceDto;
import com.bsd.pjcloud.admin.api.entity.SysDept;
import com.bsd.pjcloud.admin.api.entity.SysUser;
import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity;
import com.bsd.pjcloud.admin.api.vo.SysUserFaceVo;
import com.bsd.pjcloud.common.core.util.BeanUtils;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
import com.github.yulichang.query.MPJLambdaQueryWrapper;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface SysUserFaceMapper extends PjcloudBaseMapper<SysUserFaceEntity> {
default Page<SysUserFaceVo> pageJoin(Page page, SysUserFaceDto dto) {
MPJLambdaWrapper<SysUserFaceEntity> wrapper = new MPJLambdaWrapper<SysUserFaceEntity>()
.selectAll(SysUserFaceEntity.class)
.selectAs(SysUser::getName, SysUserFaceVo::getUsername)
.leftJoin(SysUser.class, SysUser::getUserId, SysUserFaceEntity::getUserId)
.eqIfExists(SysUserFaceEntity::getUserId, dto.getUserId());
return selectJoinPage(page, SysUserFaceVo.class, wrapper);
}
Page<SysUserFaceVo> scopePageList(Page page, @Param("pa") SysUserFaceDto dto, DataScope dataScope);
Long selectAllCount();
default SysUserFaceVo join(Long id) {
MPJLambdaWrapper<SysUserFaceEntity> wrapper = new MPJLambdaWrapper<SysUserFaceEntity>()
@@ -30,4 +31,19 @@ public interface SysUserFaceMapper extends PjcloudBaseMapper<SysUserFaceEntity>
.eq(SysUserFaceEntity::getId, id);
return selectJoinOne(SysUserFaceVo.class, wrapper);
}
default Page<SysUserFaceVo> pageJoin(Page page, SysUserFaceDto dto) {
MPJLambdaWrapper<SysUserFaceEntity> wrapper = new MPJLambdaWrapper<SysUserFaceEntity>()
.selectAll(SysUserFaceEntity.class)
.selectAs(SysUser::getName, SysUserFaceVo::getUsername)
.selectAs(SysUser::getAvatar, SysUserFaceVo::getUserAvatar)
.selectAs(SysUser::getPhone, SysUserFaceVo::getUserMobile)
.selectAs(SysDept::getName, SysUserFaceVo::getDeptName)
.selectAs(SysDept::getDeptId, SysUserFaceVo::getDeptId)
.leftJoin(SysUser.class, SysUser::getUserId, SysUserFaceEntity::getUserId)
.leftJoin(SysDept.class, SysDept::getDeptId, SysUser::getDeptId)
.eq(ObjectUtil.isNotEmpty(dto.getUserId()), SysUserFaceEntity::getUserId, dto.getUserId())
.in(ObjectUtil.isNotEmpty(dto.getUserIds()), SysUserFaceEntity::getUserId, dto.getUserIds());
return selectJoinPage(page, SysUserFaceVo.class, wrapper);
}
}
@@ -1,6 +1,5 @@
package com.bsd.pjcloud.admin.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bsd.pjcloud.admin.api.dto.SysUserFaceDto;
@@ -11,13 +10,14 @@ import java.util.ArrayList;
public interface SysUserFaceService extends IService<SysUserFaceEntity> {
Long create(SysUserFaceEntity sysUserFace);
void edit(SysUserFaceEntity sysUserFace);
void delByIds(ArrayList<Long> list);
Page<SysUserFaceVo> scopePageList(Page page, SysUserFaceDto dto);
Page<SysUserFaceVo> pageJoin(Page page, SysUserFaceDto dto);
SysUserFaceVo join(Long id);
@@ -1,19 +1,28 @@
package com.bsd.pjcloud.admin.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.admin.api.dto.SysUserFaceDto;
import com.bsd.pjcloud.admin.api.entity.SysUser;
import com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity;
import com.bsd.pjcloud.admin.api.utils.DataUtil;
import com.bsd.pjcloud.admin.api.vo.SysUserFaceVo;
import com.bsd.pjcloud.admin.mapper.SysUserFaceMapper;
import com.bsd.pjcloud.admin.service.SysUserFaceService;
import com.bsd.pjcloud.admin.service.SysUserService;
import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum;
import com.bsd.pjcloud.common.core.exception.CheckedException;
import com.bsd.pjcloud.common.core.util.CollectionUtils;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
/**
* 人脸样本表
@@ -21,14 +30,24 @@ import java.util.Collection;
* @author pjcloud
* @date 2024-12-31 11:20:04
*/
@Validated
@Slf4j
@RequiredArgsConstructor
@Service
public class SysUserFaceServiceImpl extends ServiceImpl<SysUserFaceMapper, SysUserFaceEntity> implements SysUserFaceService {
private final SysUserService sysUserService;
@Override
public Long create(SysUserFaceEntity sysUserFace) {
// 插入
baseMapper.insert(sysUserFace);
// 自增code
Long count = baseMapper.selectAllCount();
SysUserFaceEntity updateObj = new SysUserFaceEntity();
updateObj.setId(sysUserFace.getId());
updateObj.setAutoCode(String.valueOf(count));
baseMapper.updateById(updateObj);
return sysUserFace.getId();
}
@@ -50,6 +69,11 @@ public class SysUserFaceServiceImpl extends ServiceImpl<SysUserFaceMapper, SysUs
});
}
@Override
public Page<SysUserFaceVo> scopePageList(Page page, SysUserFaceDto dto) {
return baseMapper.scopePageList(page, dto, DataScope.of());
}
@Override
public Page<SysUserFaceVo> pageJoin(Page page, SysUserFaceDto dto) {
return baseMapper.pageJoin(page, dto);
@@ -2,8 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bsd.pjcloud.admin.mapper.SysUserFaceMapper">
<resultMap id="sysUserFaceMap" type="com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity">
<resultMap id="sysUserFaceMap" type="com.bsd.pjcloud.admin.api.entity.SysUserFaceEntity">
<id property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="faceImg" column="face_img"/>
@@ -13,5 +12,38 @@
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="tenantId" column="tenant_id"/>
</resultMap>
</resultMap>
<sql id="selectA">
select a.user_id,
a.face_img,
a.create_by,
a.create_time,
a.update_time,
a.del_flag,
a.tenant_id,
</sql>
<sql id="whereA">
a.del_flag = '0'
<if test="pa.userId != null">
and a.user_id = #{pa.userId}
</if>
</sql>
<select id="scopePageList" resultType="com.bsd.pjcloud.admin.api.vo.SysUserFaceVo">
<include refid="selectA"/>
u.username,
u.avatar as userAvatar,
u.phone as userMobile
from sys_user_face a
left join sys_user u on u.user_id = a.user_id
<where>
<include refid="whereA"/>
</where>
</select>
<select id="selectAllCount" resultType="java.lang.Long">
select count(0) from sys_user_face
</select>
</mapper>
@@ -43,6 +43,13 @@ public class WalletSettingController {
}
/* ************************************* end app end ************************************* */
/* ************************************* start android start ************************************* */
@GetMapping("/ad/get-setting")
public R<WalletSettingVo> androidGet() {
return R.ok(walletSettingService.getSetting());
}
/* ************************************* end android end ************************************* */
@Operation(summary = "获取支付配置", description = "获取支付配置")
@GetMapping("")
public R getSetting() {