diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java index adc35e7..3ad44f8 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/controller/NotifyController.java @@ -66,11 +66,6 @@ public class NotifyController { } - @RequestMapping("test") - public void test(@RequestParam String payOrderNO){ - payService.test(payOrderNO); - } - @RequestMapping("notifyCallBack") public String notifyCallBack(HttpServletRequest request){ diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderInfo.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderInfo.java index 60a3dcf..3f34ec1 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderInfo.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbOrderInfo.java @@ -101,12 +101,14 @@ public class TbOrderInfo implements Serializable { private List detailList; private String winnnerNo; private String isWinner; + private String shopName; //根据状态返回 需付款 已付款 未付款 已退 private String description; - public void setDescription() { + public void setDescription(String shopName) { + this.shopName = shopName; switch (status) { case "closed": this.description = "已付款"; diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopUserFlow.java b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopUserFlow.java index 730cd8f..fb8f548 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopUserFlow.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/entity/TbShopUserFlow.java @@ -21,6 +21,11 @@ public class TbShopUserFlow implements Serializable { private String type; + + private String isReturn; + + private String remark; + private static final long serialVersionUID = 1L; public Integer getId() { @@ -86,4 +91,20 @@ public class TbShopUserFlow implements Serializable { public void setType(String type) { this.type = type == null ? null : type.trim(); } + + public String getIsReturn() { + return isReturn; + } + + public void setIsReturn(String isReturn) { + this.isReturn = isReturn; + } + + public String getRemark() { + return remark; + } + + public void setRemark(String remark) { + this.remark = remark; + } } \ No newline at end of file diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/RabbitConstants.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/RabbitConstants.java index 01a8b62..433333a 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/RabbitConstants.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/RabbitConstants.java @@ -62,4 +62,10 @@ public interface RabbitConstants { // 库存记录交换机 String EXCHANGE_STOCK_RECORD = "exchange.stock.record"; String ROUTING_STOCK_RECORD_SALE = "routing.stock.record.sale"; + + + public static final String BALANCE_PUT="balance_put"; + public static final String BALANCE_QUEUE_PUT="balance_queue_put"; + + public static final String BALANCE_ROUTINGKEY_PUT="balance_routingkey_put"; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/RabbitProducer.java b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/RabbitProducer.java index f0d67ac..2155fcd 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/RabbitProducer.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/rabbit/RabbitProducer.java @@ -58,6 +58,15 @@ public class RabbitProducer implements RabbitTemplate.ConfirmCallback { rabbitTemplate.convertAndSend(RabbitConstants.CONS_MSG_COLLECT_PUT, RabbitConstants.CONS_MSG_COLLECT_ROUTINGKEY_PUT, content, correlationId); } + + + public void balance(String content){ + CorrelationData correlationId = new CorrelationData(UUID.randomUUID().toString()); + rabbitTemplate.convertAndSend(RabbitConstants.BALANCE_PUT, RabbitConstants.BALANCE_ROUTINGKEY_PUT, content, correlationId); + } + + + @Override public void confirm(CorrelationData correlationData, boolean ack, String cause) { logger.info(" 回调id:" + correlationData); diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java index 3455262..ccb8505 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/OrderService.java @@ -220,9 +220,11 @@ public class OrderService { // } PageHelper.startPage(page, size); List tbOrderInfos = orderInfoMapper.selectByUserId(userId, status); - + String shopName = ""; for (TbOrderInfo orderInfo : tbOrderInfos) { - orderInfo.setDescription(); + TbShopInfo tbShopInfo = tbShopInfoMapper.selectByPrimaryKey(Integer.valueOf(orderInfo.getShopId())); + shopName = tbShopInfo.getShopName(); + orderInfo.setDescription(shopName); List list = tbOrderDetailMapper.selectAllByOrderId(orderInfo.getId()); int num = 0; for (TbOrderDetail orderDetail : list) { diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java index 721c520..0b2b1cc 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/PayService.java @@ -381,11 +381,12 @@ public class PayService { TbShopUserFlow flow = new TbShopUserFlow(); flow.setShopUserId(Integer.valueOf(user.getId())); flow.setBizCode("accountPay"); - flow.setBizName("会员储值卡支付"); + flow.setBizName("余额支付"); flow.setType("-"); flow.setAmount(orderInfo.getOrderAmount()); flow.setBalance(user.getAmount()); flow.setCreateTime(new Date()); + flow.setIsReturn("0"); tbShopUserFlowMapper.insert(flow); @@ -420,6 +421,22 @@ public class PayService { data.put("orderId", orderInfo.getId()); data.put("plat", "miniApp"); mQUtils.sendStockSaleMsg(data); + + + JSONObject baObj=new JSONObject(); + baObj.put("userId",userInfo.getId()); + baObj.put("shopId",user.getShopId()); + baObj.put("amount",orderInfo.getOrderAmount()); + baObj.put("balance",user.getAmount()); + baObj.put("type","消费"); + baObj.put("time",flow.getCreateTime()); + producer.balance(baObj.toString()); + + + + + + return Result.success(CodeEnum.SUCCESS, "1"); } @@ -466,6 +483,7 @@ public class PayService { flow.setAmount(orderInfo.getOrderAmount()); flow.setBalance(user.getAmount()); flow.setCreateTime(new Date()); + flow.setIsReturn("0"); tbShopUserFlowMapper.insert(flow); for (int i = 0; i < orderInfo.getNumber(); i++) { @@ -1092,6 +1110,7 @@ public class PayService { flow.setAmount(memberIn.getAmount()); flow.setBalance(tbShopUser.getAmount()); flow.setCreateTime(new Date()); + flow.setIsReturn("0"); tbShopUserFlowMapper.insert(flow); //会员活动 giveActivate(tbShopUser,memberIn.getAmount(),flow.getId()); @@ -1104,7 +1123,7 @@ public class PayService { return "success"; } - public void giveActivate(TbShopUser tbShopUser, BigDecimal memAmount,Integer flowId){ + public BigDecimal giveActivate(TbShopUser tbShopUser, BigDecimal memAmount,Integer flowId){ TbActivate activate = tbActivateMapper.selectByAmount(tbShopUser.getShopId(), memAmount); if (ObjectUtil.isNotEmpty(activate) && ObjectUtil.isNotNull(activate)) { if (activate.getIsGiftPro() != null && activate.getIsGiftPro() == 1) { @@ -1138,8 +1157,12 @@ public class PayService { flow.setAmount(amount); flow.setBalance(tbShopUser.getAmount()); flow.setCreateTime(new Date()); + flow.setIsReturn("0"); tbShopUserFlowMapper.insert(flow); + return amount; } + + return null; } @@ -1185,14 +1208,28 @@ public class PayService { flow.setAmount(memberIn.getAmount()); flow.setBalance(tbShopUser.getAmount()); flow.setCreateTime(new Date()); + flow.setRemark(payOrderNO); + flow.setIsReturn("0"); tbShopUserFlowMapper.insert(flow); //会员活动 - giveActivate(tbShopUser,memberIn.getAmount(),flow.getId()); + BigDecimal awardAmount= giveActivate(tbShopUser,memberIn.getAmount(),flow.getId()); JSONObject jsonObject = new JSONObject(); jsonObject.put("shopId", memberIn.getShopId()); jsonObject.put("type", "wxMemberIn"); jsonObject.put("amount", memberIn.getAmount()); producer.putOrderCollect(jsonObject.toJSONString()); + + + + JSONObject baObj=new JSONObject(); + baObj.put("userId", tbShopUser.getUserId()); + baObj.put("shopId",tbShopUser.getShopId()); + baObj.put("amount",ObjectUtil.isNull(awardAmount)?memberIn.getAmount():memberIn.getAmount().add(awardAmount)); + baObj.put("balance",tbShopUser.getAmount()); + baObj.put("type","充值"); + baObj.put("time",flow.getCreateTime()); + producer.balance(baObj.toString()); + return "SUCCESS"; } diff --git a/src/main/java/com/chaozhanggui/system/cashierservice/service/UserService.java b/src/main/java/com/chaozhanggui/system/cashierservice/service/UserService.java index fe9aa67..c6441e6 100644 --- a/src/main/java/com/chaozhanggui/system/cashierservice/service/UserService.java +++ b/src/main/java/com/chaozhanggui/system/cashierservice/service/UserService.java @@ -274,19 +274,30 @@ public class UserService { public Result openMember(OpenMemberVo memberVo) { TbShopUser tbShopUser = shopUserMapper.selectByUserIdAndShopId(memberVo.getId().toString(), memberVo.getShopId().toString()); - if(tbShopUser!=null){ - tbShopUser.setName(StringUtils.isNotBlank(memberVo.getNickName())?memberVo.getNickName():null); - tbShopUser.setHeadImg(StringUtils.isNotBlank(memberVo.getHeadImg())?memberVo.getHeadImg():null); + if (tbShopUser != null) { + tbShopUser.setName(StringUtils.isNotBlank(memberVo.getNickName()) ? memberVo.getNickName() : null); + tbShopUser.setHeadImg(StringUtils.isNotBlank(memberVo.getHeadImg()) ? memberVo.getHeadImg() : null); tbShopUser.setTelephone(memberVo.getTelephone()); - tbShopUser.setBirthDay(StringUtils.isNotBlank(memberVo.getBirthDay())?memberVo.getBirthDay():null); + tbShopUser.setBirthDay(StringUtils.isNotBlank(memberVo.getBirthDay()) ? memberVo.getBirthDay() : null); tbShopUser.setIsVip(Byte.parseByte("1")); shopUserMapper.updateByPrimaryKeySelective(tbShopUser); - }else { + } else { TbUserInfo tbUserInfo = userInfoMapper.selectByPrimaryKey(memberVo.getId()); + tbShopUser = shopUserMapper.selectPCByPhoneAndShopId(memberVo.getTelephone(), memberVo.getShopId().toString()); + if (tbShopUser != null) { + tbShopUser.setName(StringUtils.isNotBlank(memberVo.getNickName()) ? memberVo.getNickName() : null); + tbShopUser.setHeadImg(StringUtils.isNotBlank(memberVo.getHeadImg()) ? memberVo.getHeadImg() : null); + tbShopUser.setTelephone(memberVo.getTelephone()); + tbShopUser.setBirthDay(StringUtils.isNotBlank(memberVo.getBirthDay()) ? memberVo.getBirthDay() : null); + tbShopUser.setUserId(tbUserInfo.getId().toString()); + tbShopUser.setMiniOpenId(tbUserInfo.getMiniAppOpenId()); + shopUserMapper.updateByPrimaryKeySelective(tbShopUser); + return Result.success(CodeEnum.SUCCESS); + } tbShopUser = new TbShopUser(); - tbShopUser.setName(StringUtils.isNotBlank(memberVo.getNickName())?memberVo.getNickName():null); + tbShopUser.setName(StringUtils.isNotBlank(memberVo.getNickName()) ? memberVo.getNickName() : null); tbShopUser.setSex(Byte.parseByte("1")); - tbShopUser.setBirthDay(StringUtils.isNotBlank(memberVo.getBirthDay())?memberVo.getBirthDay():null); + tbShopUser.setBirthDay(StringUtils.isNotBlank(memberVo.getBirthDay()) ? memberVo.getBirthDay() : null); tbShopUser.setLevel(Byte.parseByte("1")); String dynamicCode = RandomUtil.randomNumbers(8); tbShopUser.setCode(dynamicCode); diff --git a/src/main/resources/mapper/TbShopUserFlowMapper.xml b/src/main/resources/mapper/TbShopUserFlowMapper.xml index 013efcf..f562bb4 100644 --- a/src/main/resources/mapper/TbShopUserFlowMapper.xml +++ b/src/main/resources/mapper/TbShopUserFlowMapper.xml @@ -10,9 +10,11 @@ + + - id, shop_user_id, amount, balance, biz_code, biz_name, create_time, type + id, shop_user_id, amount, balance, biz_code, biz_name, create_time, type,is_return,remark