From 17f4e5ee78009f0432714b0866142b88b60120a4 Mon Sep 17 00:00:00 2001 From: zengtao01 Date: Thu, 11 Apr 2024 09:47:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../member/service/card/CardServiceImpl.java | 2 +- .../diningplates/DiningPlatesServiceImpl.java | 38 ++++++++++++------- .../orderdetail/OrderDetailServiceImpl.java | 4 +- .../service/user/MemberUserServiceImpl.java | 28 +++++++++++--- 4 files changed, 50 insertions(+), 22 deletions(-) diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/card/CardServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/card/CardServiceImpl.java index 666cb6f8..f19b0b3e 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/card/CardServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/card/CardServiceImpl.java @@ -124,7 +124,7 @@ public class CardServiceImpl implements CardService { public BigDecimal getMoneyByUserId(Long userId) { CardDO lastCardDO = cardMapper.selectOne(Wrappers.lambdaQuery().eq(CardDO::getUserId, userId) .orderByDesc(CardDO::getCreateTime).last("limit 1")); - if (lastCardDO.getMoney() == null) { + if (lastCardDO == null || lastCardDO.getMoney() == null) { return BigDecimal.ZERO; } return lastCardDO.getMoney(); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java index 9ee39c56..d535f4be 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java @@ -135,15 +135,11 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.lambdaQuery() .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .last("limit 1")); - if (diningPlatesDO.getUserId() != null) { - throw new ServiceException(20001, "餐盘已被绑定"); - } + checkDiningPlates(diningPlatesDO); MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.lambdaQuery() .eq(MemberUserDO::getCardId, cardId) .last("limit 1")); - if (StrUtil.isBlank(memberUserDO.getCardId())) { - throw new ServiceException(20002, "请先绑定餐卡"); - } + checkMemberUser(memberUserDO); diningPlatesDO.setUserId(memberUserDO.getId()); diningPlatesDO.setStatus(DiningPlatesDO.USE); diningPlatesDO.setBindingTime(LocalDateTime.now()); @@ -165,23 +161,20 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { } @Override + @Transactional(rollbackFor = Exception.class) public AppUserInfoCardVO bindByFace(String diningPlatesNum, Long faceId) { DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.lambdaQuery() .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .last("limit 1")); - if (diningPlatesDO.getUserId() != null) { - throw new ServiceException(20001, "餐盘已被绑定"); - } + checkDiningPlates(diningPlatesDO); MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.lambdaQuery() .eq(MemberUserDO::getFaceId, faceId) .last("limit 1")); - if (StrUtil.isBlank(memberUserDO.getCardId())) { - throw new ServiceException(20002, "请先绑定餐卡"); - } + checkMemberUser(memberUserDO); diningPlatesDO.setUserId(memberUserDO.getId()); diningPlatesDO.setStatus(DiningPlatesDO.USE); diningPlatesDO.setBindingTime(LocalDateTime.now()); - int i = diningPlatesMapper.updateById(diningPlatesDO); + diningPlatesMapper.updateById(diningPlatesDO); //创建初始订单 DishOrderDO dishOrderDO = new DishOrderDO(); @@ -222,4 +215,23 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { data.setMoney(cardService.getMoneyByUserId(memberUserDO.getId())); return data; } + + + public void checkDiningPlates(DiningPlatesDO diningPlatesDO) { + if(diningPlatesDO == null) { + throw new ServiceException(20000, "餐盘不存在"); + } + if (diningPlatesDO.getUserId() != null) { + throw new ServiceException(20001, "餐盘已被绑定"); + } + } + + public void checkMemberUser(MemberUserDO memberUserDO) { + if(memberUserDO == null){ + throw new ServiceException(20005, "该人脸未绑定用户"); + } + if (StrUtil.isBlank(memberUserDO.getCardId())) { + throw new ServiceException(20002, "请先绑定餐卡"); + } + } } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/orderdetail/OrderDetailServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/orderdetail/OrderDetailServiceImpl.java index 55f62882..66a9aa2b 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/orderdetail/OrderDetailServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/orderdetail/OrderDetailServiceImpl.java @@ -68,7 +68,7 @@ public class OrderDetailServiceImpl implements OrderDetailService { //判定餐盘是否绑定 Boolean b = diningPlatesService.checkBind(createReqVO.getDiningPlatesNum()); if(!b){ - throw new ServiceException(20001,"餐盘未绑定"); + throw new ServiceException(20003,"餐盘未绑定"); } //餐盘号去获取订单 DishOrderDO dishOrderDO = dishOrderMapper.selectOne(Wrappers.lambdaQuery().eq(DishOrderDO::getDiningPlatesNum, createReqVO.getDiningPlatesNum()) @@ -76,7 +76,7 @@ public class OrderDetailServiceImpl implements OrderDetailService { .orderByDesc(DishOrderDO::getCreateTime) .last("limit 1")); if(dishOrderDO==null){ - throw new ServiceException(20002,"该餐盘订单已完成,请重新绑定餐盘"); + throw new ServiceException(20004,"该餐盘订单已完成,请重新绑定餐盘"); } DishesRespDto dish = dishesApi.getDish(createReqVO.getDishesId()); 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 d6890f63..b3a580c9 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 @@ -6,17 +6,28 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.map.MapUtil; -import cn.hutool.core.util.*; +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.NumberUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.RandomUtil; +import cn.hutool.core.util.StrUtil; import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; -import cn.iocoder.yudao.framework.common.exception.ServerException; +import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; -import cn.iocoder.yudao.module.member.controller.app.user.vo.*; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserResetPasswordReqVO; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileByWeixinReqVO; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateMobileReqVO; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdatePasswordReqVO; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppMemberUserUpdateReqVO; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppNutritionDayVo; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppNutritionWeekVO; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppWeekVO; import cn.iocoder.yudao.module.member.convert.auth.AuthConvert; import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert; import cn.iocoder.yudao.module.member.dal.dataobject.diningplates.DiningPlatesDO; @@ -58,7 +69,12 @@ import java.math.RoundingMode; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.WeekFields; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; @@ -378,7 +394,7 @@ public class MemberUserServiceImpl implements MemberUserService { public Boolean bindCard(String cardId) { List memberUserDOS = memberUserMapper.selectList(Wrappers.lambdaQuery().eq(MemberUserDO::getCardId, cardId)); if(memberUserDOS.size()>0){ - throw new ServerException(600,"卡号已绑定"); + throw new ServiceException(600,"卡号已绑定"); } MemberUserDO memberUserDO = memberUserMapper.selectById(SecurityFrameworkUtils.getLoginUserId()); memberUserDO.setCardId(cardId); @@ -595,7 +611,7 @@ public class MemberUserServiceImpl implements MemberUserService { MemberUserDO memberUserDO = memberUserMapper.selectById(userId); if(memberUserDO == null){ - throw new ServerException(20003,"用户不存在"); + throw new ServiceException(601,"用户不存在"); } if(memberUserDO.getFaceId()!=null){ memberUserMapper.deleteFace(memberUserDO.getFaceId());