This commit is contained in:
zengtao01
2024-04-11 09:47:51 +08:00
parent 0c7d271539
commit 17f4e5ee78
4 changed files with 50 additions and 22 deletions

View File

@ -124,7 +124,7 @@ public class CardServiceImpl implements CardService {
public BigDecimal getMoneyByUserId(Long userId) { public BigDecimal getMoneyByUserId(Long userId) {
CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, userId) CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, userId)
.orderByDesc(CardDO::getCreateTime).last("limit 1")); .orderByDesc(CardDO::getCreateTime).last("limit 1"));
if (lastCardDO.getMoney() == null) { if (lastCardDO == null || lastCardDO.getMoney() == null) {
return BigDecimal.ZERO; return BigDecimal.ZERO;
} }
return lastCardDO.getMoney(); return lastCardDO.getMoney();

View File

@ -135,15 +135,11 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.<DiningPlatesDO>lambdaQuery() DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.<DiningPlatesDO>lambdaQuery()
.eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum)
.last("limit 1")); .last("limit 1"));
if (diningPlatesDO.getUserId() != null) { checkDiningPlates(diningPlatesDO);
throw new ServiceException(20001, "餐盘已被绑定");
}
MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.<MemberUserDO>lambdaQuery() MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.<MemberUserDO>lambdaQuery()
.eq(MemberUserDO::getCardId, cardId) .eq(MemberUserDO::getCardId, cardId)
.last("limit 1")); .last("limit 1"));
if (StrUtil.isBlank(memberUserDO.getCardId())) { checkMemberUser(memberUserDO);
throw new ServiceException(20002, "请先绑定餐卡");
}
diningPlatesDO.setUserId(memberUserDO.getId()); diningPlatesDO.setUserId(memberUserDO.getId());
diningPlatesDO.setStatus(DiningPlatesDO.USE); diningPlatesDO.setStatus(DiningPlatesDO.USE);
diningPlatesDO.setBindingTime(LocalDateTime.now()); diningPlatesDO.setBindingTime(LocalDateTime.now());
@ -165,23 +161,20 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public AppUserInfoCardVO bindByFace(String diningPlatesNum, Long faceId) { public AppUserInfoCardVO bindByFace(String diningPlatesNum, Long faceId) {
DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.<DiningPlatesDO>lambdaQuery() DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.<DiningPlatesDO>lambdaQuery()
.eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum)
.last("limit 1")); .last("limit 1"));
if (diningPlatesDO.getUserId() != null) { checkDiningPlates(diningPlatesDO);
throw new ServiceException(20001, "餐盘已被绑定");
}
MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.<MemberUserDO>lambdaQuery() MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.<MemberUserDO>lambdaQuery()
.eq(MemberUserDO::getFaceId, faceId) .eq(MemberUserDO::getFaceId, faceId)
.last("limit 1")); .last("limit 1"));
if (StrUtil.isBlank(memberUserDO.getCardId())) { checkMemberUser(memberUserDO);
throw new ServiceException(20002, "请先绑定餐卡");
}
diningPlatesDO.setUserId(memberUserDO.getId()); diningPlatesDO.setUserId(memberUserDO.getId());
diningPlatesDO.setStatus(DiningPlatesDO.USE); diningPlatesDO.setStatus(DiningPlatesDO.USE);
diningPlatesDO.setBindingTime(LocalDateTime.now()); diningPlatesDO.setBindingTime(LocalDateTime.now());
int i = diningPlatesMapper.updateById(diningPlatesDO); diningPlatesMapper.updateById(diningPlatesDO);
//创建初始订单 //创建初始订单
DishOrderDO dishOrderDO = new DishOrderDO(); DishOrderDO dishOrderDO = new DishOrderDO();
@ -222,4 +215,23 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
data.setMoney(cardService.getMoneyByUserId(memberUserDO.getId())); data.setMoney(cardService.getMoneyByUserId(memberUserDO.getId()));
return data; 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, "请先绑定餐卡");
}
}
} }

View File

@ -68,7 +68,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
//判定餐盘是否绑定 //判定餐盘是否绑定
Boolean b = diningPlatesService.checkBind(createReqVO.getDiningPlatesNum()); Boolean b = diningPlatesService.checkBind(createReqVO.getDiningPlatesNum());
if(!b){ if(!b){
throw new ServiceException(20001,"餐盘未绑定"); throw new ServiceException(20003,"餐盘未绑定");
} }
//餐盘号去获取订单 //餐盘号去获取订单
DishOrderDO dishOrderDO = dishOrderMapper.selectOne(Wrappers.<DishOrderDO>lambdaQuery().eq(DishOrderDO::getDiningPlatesNum, createReqVO.getDiningPlatesNum()) DishOrderDO dishOrderDO = dishOrderMapper.selectOne(Wrappers.<DishOrderDO>lambdaQuery().eq(DishOrderDO::getDiningPlatesNum, createReqVO.getDiningPlatesNum())
@ -76,7 +76,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
.orderByDesc(DishOrderDO::getCreateTime) .orderByDesc(DishOrderDO::getCreateTime)
.last("limit 1")); .last("limit 1"));
if(dishOrderDO==null){ if(dishOrderDO==null){
throw new ServiceException(20002,"该餐盘订单已完成,请重新绑定餐盘"); throw new ServiceException(20004,"该餐盘订单已完成,请重新绑定餐盘");
} }
DishesRespDto dish = dishesApi.getDish(createReqVO.getDishesId()); DishesRespDto dish = dishesApi.getDish(createReqVO.getDishesId());

View File

@ -6,17 +6,28 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.ListUtil; import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil; 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.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; 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.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; 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.MemberUserPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.user.vo.MemberUserUpdateReqVO; 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.auth.AuthConvert;
import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert; import cn.iocoder.yudao.module.member.convert.user.MemberUserConvert;
import cn.iocoder.yudao.module.member.dal.dataobject.diningplates.DiningPlatesDO; 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.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.temporal.WeekFields; 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 java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; 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) { public Boolean bindCard(String cardId) {
List<MemberUserDO> memberUserDOS = memberUserMapper.selectList(Wrappers.<MemberUserDO>lambdaQuery().eq(MemberUserDO::getCardId, cardId)); List<MemberUserDO> memberUserDOS = memberUserMapper.selectList(Wrappers.<MemberUserDO>lambdaQuery().eq(MemberUserDO::getCardId, cardId));
if(memberUserDOS.size()>0){ if(memberUserDOS.size()>0){
throw new ServerException(600,"卡号已绑定"); throw new ServiceException(600,"卡号已绑定");
} }
MemberUserDO memberUserDO = memberUserMapper.selectById(SecurityFrameworkUtils.getLoginUserId()); MemberUserDO memberUserDO = memberUserMapper.selectById(SecurityFrameworkUtils.getLoginUserId());
memberUserDO.setCardId(cardId); memberUserDO.setCardId(cardId);
@ -595,7 +611,7 @@ public class MemberUserServiceImpl implements MemberUserService {
MemberUserDO memberUserDO = memberUserMapper.selectById(userId); MemberUserDO memberUserDO = memberUserMapper.selectById(userId);
if(memberUserDO == null){ if(memberUserDO == null){
throw new ServerException(20003,"用户不存在"); throw new ServiceException(601,"用户不存在");
} }
if(memberUserDO.getFaceId()!=null){ if(memberUserDO.getFaceId()!=null){
memberUserMapper.deleteFace(memberUserDO.getFaceId()); memberUserMapper.deleteFace(memberUserDO.getFaceId());