diff --git a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java index 031fe59d..d8a7405d 100644 --- a/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java +++ b/yudao-module-member/yudao-module-member-api/src/main/java/cn/iocoder/yudao/module/member/enums/ErrorCodeConstants.java @@ -14,6 +14,8 @@ public interface ErrorCodeConstants { ErrorCode USER_MOBILE_NOT_EXISTS = new ErrorCode(1_004_001_001, "手机号未注册用户"); ErrorCode USER_MOBILE_USED = new ErrorCode(1_004_001_002, "修改手机失败,该手机号({})已经被使用"); ErrorCode USER_POINT_NOT_ENOUGH = new ErrorCode(1_004_001_003, "用户积分余额不足"); + ErrorCode CARD_USER_NOT_EXISTS = new ErrorCode(1_004_001_004, "卡号未绑定"); + ErrorCode FACE_USER_NOT_EXISTS = new ErrorCode(1_004_001_005, "用户信息不存在"); // ========== AUTH 模块 1-004-003-000 ========== ErrorCode AUTH_LOGIN_BAD_CREDENTIALS = new ErrorCode(1_004_003_000, "登录失败,账号密码不正确"); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/order/vo/OrderDetailsRespVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/order/vo/OrderDetailsRespVO.java index d0d91f39..6107ea8d 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/order/vo/OrderDetailsRespVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/order/vo/OrderDetailsRespVO.java @@ -89,4 +89,6 @@ public class OrderDetailsRespVO { * 最大退款金额 */ private BigDecimal refundAmount; + + private String faceData; } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/order/vo/AppOrderRespVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/order/vo/AppOrderRespVO.java index c95ed9c3..a5bab8d7 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/order/vo/AppOrderRespVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/order/vo/AppOrderRespVO.java @@ -79,4 +79,5 @@ public class AppOrderRespVO { */ private BigDecimal refundAmount; + private String faceData; } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppMemberUserController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppMemberUserController.java index 9f720280..eab29324 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppMemberUserController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/AppMemberUserController.java @@ -145,5 +145,11 @@ public class AppMemberUserController { public CommonResult getCardId(Long userId){ return success(userService.getCardId(userId)); } + + @GetMapping("/getInfoByCardOrFace") + @Operation(summary = "获取用户绑定的卡号") + public CommonResult> getInfoByCard(String cardId,Long faceId){ + return success(userService.getInfoByCard(cardId,faceId)); + } } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/order/DishOrderDO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/order/DishOrderDO.java index 1d147714..6c4d5371 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/order/DishOrderDO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/order/DishOrderDO.java @@ -102,4 +102,6 @@ public class DishOrderDO extends BaseDO { * 最大退款金额 */ private BigDecimal refundAmount; + + private String faceData; } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/user/MemberUserDO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/user/MemberUserDO.java index 649f1676..3c141340 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/user/MemberUserDO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/user/MemberUserDO.java @@ -8,7 +8,6 @@ import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; import cn.iocoder.yudao.module.member.dal.dataobject.group.MemberGroupDO; import cn.iocoder.yudao.module.member.dal.dataobject.level.MemberLevelDO; import cn.iocoder.yudao.module.system.enums.common.SexEnum; -import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.KeySequence; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; @@ -149,7 +148,6 @@ public class MemberUserDO extends TenantBaseDO { /** * 卡号 */ - @TableField(updateStrategy = FieldStrategy.IGNORED) private String cardId; /** * 人脸 diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java index 34d75d3b..d06768c0 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserService.java @@ -252,4 +252,6 @@ public interface MemberUserService { MemberUserDO getByFaceId(Long faceId); MemberUserDO getByCardId(String cardId); + + Map getInfoByCard(String cardId,Long faceId); } diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java index f70aa9bf..10634828 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/user/MemberUserServiceImpl.java @@ -339,7 +339,7 @@ public class MemberUserServiceImpl implements MemberUserService { // 更新 MemberUserDO updateObj = MemberUserConvert.INSTANCE.convert(updateReqVO); - updateObj.setCardId(StringUtils.isBlank(updateReqVO.getCardId())?null:updateReqVO.getCardId()); + updateObj.setCardId(StringUtils.isBlank(updateReqVO.getCardId())?"":updateReqVO.getCardId()); memberUserMapper.updateById(updateObj); } @@ -795,6 +795,30 @@ public class MemberUserServiceImpl implements MemberUserService { return memberUserMapper.selectOne(new LambdaQueryWrapper().eq(MemberUserDO::getCardId,cardId).last("limit 1")); } + @Override + public Map getInfoByCard(String cardId,Long faceId) { + HashMap map = new HashMap<>(); + if(ObjectUtil.isNotEmpty(cardId)){ + MemberUserDO byCardId = getByCardId(cardId); + if(ObjectUtil.isEmpty(byCardId)){ + throw exception(CARD_USER_NOT_EXISTS); + } + BigDecimal money = cardService.getMoneyByUserId(byCardId.getId()); + map.put("money",money); + map.put("userName",byCardId.getNickname()); + } + if(ObjectUtil.isNotEmpty(faceId)){ + MemberUserDO byFaceId = getByFaceId(faceId); + if(ObjectUtil.isEmpty(byFaceId)){ + throw exception(FACE_USER_NOT_EXISTS); + } + BigDecimal money = cardService.getMoneyByUserId(byFaceId.getId()); + map.put("money",money); + map.put("userName",byFaceId.getNickname()); + } + return map; + } + public BigDecimal countAmount(MemberTagDO memberTagDO, BigDecimal money, String timePeriod ){ if(memberTagDO.getType().equals("1")){ if (memberTagDO.getTimeFlag().equals("0")){