From ed7cde0f64b01e95e11d6f66d1f27b05cea84332 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期日, 09 七月 2023 18:13:00 +0800
Subject: [PATCH] 管理台bug和用户端

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |  148 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 148 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index 5884fed..01d4970 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -28,6 +28,7 @@
 import com.ruoyi.system.api.domain.poji.goods.ShopGoods;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import com.ruoyi.system.api.domain.poji.member.MemberCoupon;
+import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.*;
@@ -1031,6 +1032,84 @@
         consumerGoodsService.saveBatchConsumerGoods(consumerGoodsList);
         return merVerifyCouponVo;
     }
+
+
+    /**
+     * @description  确认核销奖品
+     * @author  jqs
+     * @date    2023/7/9 9:54
+     * @param merVerifyPrizeDto
+     * @return  MerVerifyAwardVo
+     */
+    @Override
+    public MerVerifyAwardVo sureVerifyPrize(MerVerifyPrizeDto merVerifyPrizeDto){
+        MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo();
+        MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(merVerifyPrizeDto.getPrizeId()).getData();
+        if(memberGiftRecord==null||memberGiftRecord.getVerifyStatus()!=1){
+            throw new ServiceException(AppErrorConstant.COUPON_USED);
+        }
+        Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData();
+        merVerifyAwardVo.setUserName(member.getNickName());
+        merVerifyAwardVo.setUserMobile(member.getMobile());
+        if(memberGiftRecord.getGiftFrom()==1){
+            merVerifyAwardVo.setGiftFrom("平台生日卡");
+        }else{
+            merVerifyAwardVo.setGiftFrom("商户生日卡");
+        }
+
+        merVerifyAwardVo.setGiftType(memberGiftRecord.getGiftType());
+        List<BirthdayGiftSendDto> giftSendDtoList = new ArrayList<>();
+        BirthdayGiftSendDto birthdayGiftSendDto = new BirthdayGiftSendDto();
+        switch(memberGiftRecord.getGiftType()){
+            case 1:
+                merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName());
+                merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber()));
+                birthdayGiftSendDto.setUserId(memberGiftRecord.getUserId());
+                birthdayGiftSendDto.setGiftType(memberGiftRecord.getGiftType());
+                birthdayGiftSendDto.setGiftFrom(memberGiftRecord.getGiftFrom());
+                birthdayGiftSendDto.setShopId(memberGiftRecord.getShopId());
+                birthdayGiftSendDto.setCouponId(memberGiftRecord.getCouponId());
+                birthdayGiftSendDto.setCouponNumber(memberGiftRecord.getCouponNumber());
+                giftSendDtoList.add(birthdayGiftSendDto);
+                remoteCouponService.sendCouponGift(giftSendDtoList);
+                break;
+            case 2:
+                Goods goods = remoteGoodsService.getGoods(memberGiftRecord.getGoodsId()).getData();
+                merVerifyAwardVo.setGiftName(memberGiftRecord.getGoodsName());
+                merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGoodsNumber()));
+                if (goods.getGoodsType() == 1) {
+                    merVerifyAwardVo.setGiftRemark("周期");
+                } else if (goods.getGoodsType() == 2) {
+                    merVerifyAwardVo.setGiftRemark("服务");
+                } else if (goods.getGoodsType() == 3) {
+                    merVerifyAwardVo.setGiftRemark("体验");
+                } else if (goods.getGoodsType() == 4) {
+                    merVerifyAwardVo.setGiftRemark("单品");
+                }
+                birthdayGiftSendDto.setUserId(memberGiftRecord.getUserId());
+                birthdayGiftSendDto.setGiftType(memberGiftRecord.getGiftType());
+                birthdayGiftSendDto.setGiftFrom(memberGiftRecord.getGiftFrom());
+                birthdayGiftSendDto.setShopId(memberGiftRecord.getShopId());
+                birthdayGiftSendDto.setGoodsId(memberGiftRecord.getGoodsId());
+                birthdayGiftSendDto.setGoodsNumber(memberGiftRecord.getGoodsNumber());
+                giftSendDtoList.add(birthdayGiftSendDto);
+                consumerGoodsService.sendGoodsGift(giftSendDtoList);
+                break;
+            case 3:
+                merVerifyAwardVo.setGiftName("现金");
+                merVerifyAwardVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue());
+                break;
+            case 4:
+                merVerifyAwardVo.setGiftName(memberGiftRecord.getGiftName());
+                merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGiftNumber()));
+                break;
+            default:
+                break;
+        }
+        merVerifyAwardVo.setCreateTime(memberGiftRecord.getCreateTime());
+        return merVerifyAwardVo;
+    }
+
 
     /**
      * 收银未结清订单列表
@@ -2328,6 +2407,68 @@
     }
 
     /**
+     * @description  获取核销奖品
+     * @author  jqs
+     * @date    2023/7/8 17:46
+     * @param verifyCode
+     * @param shopId
+     * @return  MerVerifyAwardVo
+     */
+    @Override
+    public MerVerifyAwardVo verifyPrize(String verifyCode,Long shopId){
+        MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo();
+        MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(verifyCode).getData();
+        if(memberGiftRecord==null||memberGiftRecord.getVerifyStatus()!=1){
+            throw new ServiceException(AppErrorConstant.COUPON_USED);
+        }
+        if(memberGiftRecord.getGiftFrom()==2&&!memberGiftRecord.getShopId().equals(shopId)){
+            throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR);
+        }
+        Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData();
+        merVerifyAwardVo.setUserName(member.getNickName());
+        merVerifyAwardVo.setUserMobile(member.getMobile());
+        if(memberGiftRecord.getGiftFrom()==1){
+            merVerifyAwardVo.setGiftFrom("平台生日卡");
+        }else{
+            merVerifyAwardVo.setGiftFrom("商户生日卡");
+        }
+
+        merVerifyAwardVo.setGiftType(memberGiftRecord.getGiftType());
+        switch(memberGiftRecord.getGiftType()){
+            case 1:
+                merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName());
+                merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber()));
+                break;
+            case 2:
+                Goods goods = remoteGoodsService.getGoods(memberGiftRecord.getGoodsId()).getData();
+                merVerifyAwardVo.setGiftName(memberGiftRecord.getGoodsName());
+                merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGoodsNumber()));
+                if (goods.getGoodsType() == 1) {
+                    merVerifyAwardVo.setGiftRemark("周期");
+                } else if (goods.getGoodsType() == 2) {
+                    merVerifyAwardVo.setGiftRemark("服务");
+                } else if (goods.getGoodsType() == 3) {
+                    merVerifyAwardVo.setGiftRemark("体验");
+                } else if (goods.getGoodsType() == 4) {
+                    merVerifyAwardVo.setGiftRemark("单品");
+                }
+                break;
+            case 3:
+                merVerifyAwardVo.setGiftName("现金");
+                merVerifyAwardVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue());
+                break;
+            case 4:
+                merVerifyAwardVo.setGiftName(memberGiftRecord.getGiftName());
+                merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGiftNumber()));
+                break;
+            default:
+                break;
+        }
+        merVerifyAwardVo.setCreateTime(memberGiftRecord.getCreateTime());
+        return merVerifyAwardVo;
+    }
+
+    /**
      * @param merBaseDto
      * @return BigDecimal
      * @description 获取用户未支付金额
@@ -2360,6 +2501,13 @@
             merTotalDto.setShopId(null);
         }
         MerOrderTotalVo orderTotalVo = orderMapper.getMerOrderTotalOrderFrom(merTotalDto);
+        MerOrderTotalVo goodsTypeVo = orderMapper.getMerTotalOrderTotalGoodsType(merTotalDto);
+        orderTotalVo.setCycleTotal(goodsTypeVo.getCycleTotal());
+        orderTotalVo.setCycleMoney(goodsTypeVo.getCycleMoney());
+        orderTotalVo.setExperienceTotal(goodsTypeVo.getExperienceTotal());
+        orderTotalVo.setExperienceMoney(goodsTypeVo.getExperienceMoney());
+        orderTotalVo.setServiceTotal(goodsTypeVo.getServiceTotal());
+        orderTotalVo.setServiceMoney(goodsTypeVo.getServiceMoney());
         return orderTotalVo;
     }
 

--
Gitblit v1.7.1