From beb37012244c63ebc9c9b4b1467205a7b4b641af Mon Sep 17 00:00:00 2001 From: zhuer <921381834@qq.com> Date: Wed, 10 Apr 2024 16:27:06 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=94=E5=9B=9E=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/card/CardController.java | 40 +++++++++++++ .../app/user/vo/AppUserInfoCardVO.java | 24 ++++++++ .../member/job/BalanceDeductionJob.java | 4 +- .../diningplates/DiningPlatesService.java | 6 +- .../diningplates/DiningPlatesServiceImpl.java | 56 +++++++++++-------- 5 files changed, 103 insertions(+), 27 deletions(-) create mode 100644 yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserInfoCardVO.java diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/card/CardController.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/card/CardController.java index 3de32e2b..c0bca522 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/card/CardController.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/card/CardController.java @@ -42,6 +42,46 @@ import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.E public class CardController { + + + + // +// // 写一个示例,将一条数据插入redis +// @Resource +// private RedisTemplate redisTemplate; +// +// @PostMapping("/weighingAddInfo") +// @Operation(summary = "称重信息入口") +// public void weighingAddInfo(@RequestBody RobotReqVO reqVO) { +//// 生成一个redis对象并且插入数据 +// redisTemplate.opsForValue().set(reqVO.getIp(), reqVO); +// } +// +// @GetMapping("/weighingGetInfo") +// @Operation(summary = "获取称重相关信息") +// public CommonResult weighingGetInfo(@RequestParam String ip) { +//// 生成一个redis对象并且插入数据 +//// redisTemplate.opsForValue().get(ip); +// return success(redisTemplate.opsForValue().get(ip)); +// } +// +// @GetMapping("/plateGetInfo") +// @Operation(summary = "获取盘子信息") +// public CommonResult plateGetInfo(@RequestParam String ip) { +//// 生成一个redis对象并且插入数据 +// return success(redisTemplate.opsForValue().get(ip)); +// } +// +// @PostMapping("/plateAddInfo") +// @Operation(summary = "盘子信息入口") +// public void plateAddInfo(@RequestBody RobotReqVO reqVO) { +//// 生成一个redis对象并且插入数据 +// redisTemplate.opsForValue().set(reqVO.getIp(), reqVO); +// } + + + // 创建一个websocket链接 + @Resource private CardService cardService; diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserInfoCardVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserInfoCardVO.java new file mode 100644 index 00000000..7e25a6de --- /dev/null +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/app/user/vo/AppUserInfoCardVO.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.member.controller.app.user.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +/** + * @author zt + * @description + * @since 2024/3/29 + */ +@Data +public class AppUserInfoCardVO { + + @Schema(description = "余额", requiredMode = Schema.RequiredMode.REQUIRED) + private BigDecimal Money; + + @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED) + private String name; + + +} diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/job/BalanceDeductionJob.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/job/BalanceDeductionJob.java index d484d661..27cb5882 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/job/BalanceDeductionJob.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/job/BalanceDeductionJob.java @@ -67,8 +67,8 @@ public class BalanceDeductionJob implements JobHandler { List list = new ArrayList<>(); toPay.forEach(dishOrderDO -> { //新的总价 -// BigDecimal total = new BigDecimal(stringRedisTemplate.opsForValue().get(dishOrderDO.getDiningPlatesNum())); - BigDecimal total = new BigDecimal(0.01); + BigDecimal total = new BigDecimal(stringRedisTemplate.opsForValue().get(dishOrderDO.getDiningPlatesNum())); +// BigDecimal total = new BigDecimal(0.01); Long userId = dishOrderDO.getUserId(); CardDO cardDO = new CardDO(); cardDO.setType(TimePeriodEnum.getTimePeriod(LocalDateTime.now())); diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesService.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesService.java index bee80bbd..8e032932 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesService.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesService.java @@ -3,7 +3,9 @@ package cn.iocoder.yudao.module.member.service.diningplates; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.member.controller.admin.diningplates.vo.DiningPlatesPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.diningplates.vo.DiningPlatesSaveReqVO; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserInfoCardVO; import cn.iocoder.yudao.module.member.dal.dataobject.diningplates.DiningPlatesDO; +import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import javax.validation.Valid; import java.util.List; @@ -80,9 +82,9 @@ public interface DiningPlatesService { * 绑定 * @return */ - Boolean bind(String diningPlatesNum,String cardId); + AppUserInfoCardVO bind(String diningPlatesNum,String cardId); - Boolean bindByFace(String diningPlatesNum,Long faceId); + AppUserInfoCardVO bindByFace(String diningPlatesNum, Long faceId); Boolean checkBind(String diningPlatesNum); } \ 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/diningplates/DiningPlatesServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/diningplates/DiningPlatesServiceImpl.java index 07207fa5..139cfa1a 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 @@ -6,12 +6,14 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.member.controller.admin.diningplates.vo.DiningPlatesPageReqVO; import cn.iocoder.yudao.module.member.controller.admin.diningplates.vo.DiningPlatesSaveReqVO; +import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserInfoCardVO; import cn.iocoder.yudao.module.member.dal.dataobject.diningplates.DiningPlatesDO; import cn.iocoder.yudao.module.member.dal.dataobject.order.DishOrderDO; import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO; import cn.iocoder.yudao.module.member.dal.mysql.diningplates.DiningPlatesMapper; import cn.iocoder.yudao.module.member.dal.mysql.order.DishOrderMapper; import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper; +import cn.iocoder.yudao.module.member.service.card.CardService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.data.redis.core.StringRedisTemplate; @@ -38,6 +40,8 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { @Resource private DiningPlatesMapper diningPlatesMapper; @Resource + private CardService cardService; + @Resource private MemberUserMapper memberUserMapper; @Resource private DishOrderMapper dishOrderMapper; @@ -104,20 +108,20 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { } @Override - public void updatePayFlag(List ids,String payStatus) { + public void updatePayFlag(List ids, String payStatus) { diningPlatesMapper.update(Wrappers.lambdaUpdate() - .set(DiningPlatesDO::getPayFlag,DiningPlatesDO.PAY) - .in(DiningPlatesDO::getId,ids)); + .set(DiningPlatesDO::getPayFlag, DiningPlatesDO.PAY) + .in(DiningPlatesDO::getId, ids)); } @Override public void updateBind(List ids) { diningPlatesMapper.update(Wrappers.lambdaUpdate() - .set(DiningPlatesDO::getPayFlag,DiningPlatesDO.TO_PAY) - .set(DiningPlatesDO::getStatus,DiningPlatesDO.FREE) - .set(DiningPlatesDO::getUserId,null) - .set(DiningPlatesDO::getBindingTime,null) - .in(DiningPlatesDO::getId,ids)); + .set(DiningPlatesDO::getPayFlag, DiningPlatesDO.TO_PAY) + .set(DiningPlatesDO::getStatus, DiningPlatesDO.FREE) + .set(DiningPlatesDO::getUserId, null) + .set(DiningPlatesDO::getBindingTime, null) + .in(DiningPlatesDO::getId, ids)); } @Override @@ -127,18 +131,18 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { @Override @Transactional(rollbackFor = Exception.class) - public Boolean bind(String diningPlatesNum,String cardId) { + public AppUserInfoCardVO bind(String diningPlatesNum, String cardId) { DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.lambdaQuery() .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .last("limit 1")); - if(diningPlatesDO.getUserId()!=null){ - throw new ServiceException(20001,"餐盘已被绑定"); + if (diningPlatesDO.getUserId() != null) { + throw new ServiceException(20001, "餐盘已被绑定"); } MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.lambdaQuery() .eq(MemberUserDO::getCardId, cardId) .last("limit 1")); - if(StrUtil.isBlank(memberUserDO.getCardId())){ - throw new ServiceException(20002,"请先绑定餐卡"); + if (StrUtil.isBlank(memberUserDO.getCardId())) { + throw new ServiceException(20002, "请先绑定餐卡"); } diningPlatesDO.setUserId(memberUserDO.getId()); diningPlatesDO.setStatus(DiningPlatesDO.USE); @@ -153,23 +157,26 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { dishOrderMapper.insert(dishOrderDO); //设置总价 - stringRedisTemplate.opsForValue().set(diningPlatesNum,"0"); - return i>0; + stringRedisTemplate.opsForValue().set(diningPlatesNum, "0"); + AppUserInfoCardVO data = new AppUserInfoCardVO(); + data.setName(memberUserDO.getNickname()); + data.setMoney(cardService.getMoneyByUserId(memberUserDO.getId())); + return data; } @Override - public Boolean bindByFace(String diningPlatesNum, Long faceId) { + 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,"餐盘已被绑定"); + if (diningPlatesDO.getUserId() != null) { + throw new ServiceException(20001, "餐盘已被绑定"); } MemberUserDO memberUserDO = memberUserMapper.selectOne(Wrappers.lambdaQuery() .eq(MemberUserDO::getFaceId, faceId) .last("limit 1")); - if(StrUtil.isBlank(memberUserDO.getCardId())){ - throw new ServiceException(20002,"请先绑定餐卡"); + if (StrUtil.isBlank(memberUserDO.getCardId())) { + throw new ServiceException(20002, "请先绑定餐卡"); } diningPlatesDO.setUserId(memberUserDO.getId()); diningPlatesDO.setStatus(DiningPlatesDO.USE); @@ -184,8 +191,11 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { dishOrderMapper.insert(dishOrderDO); //设置总价 - stringRedisTemplate.opsForValue().set(diningPlatesNum,"0"); - return i>0; + stringRedisTemplate.opsForValue().set(diningPlatesNum, "0"); + AppUserInfoCardVO data = new AppUserInfoCardVO(); + data.setName(memberUserDO.getNickname()); + data.setMoney(cardService.getMoneyByUserId(memberUserDO.getId())); + return data; } @Override @@ -193,7 +203,7 @@ public class DiningPlatesServiceImpl implements DiningPlatesService { DiningPlatesDO diningPlatesDO = diningPlatesMapper.selectOne(Wrappers.lambdaQuery() .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .last("limit 1")); - if(diningPlatesDO==null || diningPlatesDO.getUserId()==null){ + if (diningPlatesDO == null || diningPlatesDO.getUserId() == null) { return false; } return true;