From 537ed054fe1d9b40b4908cf41ce8c9a6a82d0df9 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期一, 18 三月 2024 16:04:04 +0800
Subject: [PATCH] 部分bug修改

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java |  199 ++++++++++++++++++++++++++++---------------------
 1 files changed, 115 insertions(+), 84 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 5b053b4..00b51ee 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -20,6 +20,8 @@
 import com.dsh.account.enums.RechargeRecordEnum;
 import com.dsh.account.feignclient.activity.*;
 import com.dsh.account.feignclient.activity.model.*;
+import com.dsh.account.feignclient.communityWorldCup.WorldCupPaymentClinet;
+import com.dsh.account.feignclient.communityWorldCup.model.GetWorldCupPayment;
 import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
 import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
 import com.dsh.account.feignclient.course.CoursePackageClient;
@@ -180,6 +182,9 @@
 
     @Autowired
     private IRefereeService refereeService;
+
+    @Resource
+    private WorldCupPaymentClinet worldCupPaymentClinet;
 
 
 
@@ -462,43 +467,40 @@
                 return ResultUtil.error("请先开启定位", "");
             }
             Map<String, String> geocode = gdMapGeocodingUtil.geocode(addAppUserVo.getLon(), addAppUserVo.getLat());
-            Integer num = 0;
-            Integer activityId = null;
             if (null != geocode) {
-                String province = geocode.get("province");
-                String provinceCode = geocode.get("provinceCode");
-                String city = geocode.get("city");
                 String cityCode = geocode.get("cityCode");
                 // 根据所在市code 查询是否有介绍有礼活动
-                IntroduceRewards res = introduceRewardsClient.getGiftList(cityCode);
+                List<IntroduceRewards> res = introduceRewardsClient.getGiftList(cityCode);
                 if (res != null) {
-                    num = res.getGiveClass();
-                    activityId = res.getId();
-                    if (ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())) {
-                        List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>()
-                                .eq(TAppUser::getPhone, addAppUserVo.getInvitePhone()));
-                        if (tAppUsers.size() > 0) {
-                            addAppUserVo.setReferralUserId(tAppUsers.get(0).getId());
+                    for (IntroduceRewards re : res) {
+                        Integer num = re.getGiveClass();
+                        Integer activityId = re.getId();
+                        if (ToolUtil.isNotEmpty(addAppUserVo.getInvitePhone())) {
+                            List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>()
+                                    .eq(TAppUser::getPhone, addAppUserVo.getInvitePhone()));
+                            if (tAppUsers.size() > 0) {
+                                addAppUserVo.setReferralUserId(tAppUsers.get(0).getId());
+                            }
                         }
-                    }
-                    if (num != 0) {
-                        TAppGift tAppGift = new TAppGift();
-                        TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>()
-                                .eq("phone", addAppUserVo.getInvitePhone()));
-                        if (phone == null) {
-                            return ResultUtil.error("推荐人手机号未注册玩湃会员!");
-                        } else {
-                            tAppGift.setUserName(phone.getName());
-                            tAppGift.setUserPhone(phone.getPhone());
+                        if (num != 0) {
+                            TAppGift tAppGift = new TAppGift();
+                            TAppUser phone = appUserService.getOne(new QueryWrapper<TAppUser>()
+                                    .eq("phone", addAppUserVo.getInvitePhone()));
+                            if (phone == null) {
+                                return ResultUtil.error("推荐人手机号未注册玩湃会员!");
+                            } else {
+                                tAppGift.setUserName(phone.getName());
+                                tAppGift.setUserPhone(phone.getPhone());
+                            }
+                            tAppGift.setUserId(addAppUserVo.getReferralUserId());
+                            tAppGift.setNum(num);
+                            tAppGift.setShareUserId(tAppUser.getId());
+                            tAppGift.setShareUserName(tAppUser.getPhone());
+                            tAppGift.setShareUserPhone(tAppUser.getPhone());
+                            tAppGift.setActivityId(activityId);
+                            tAppGift.setInsertTime(new Date());
+                            appGiftService.save(tAppGift);
                         }
-                        tAppGift.setUserId(addAppUserVo.getReferralUserId());
-                        tAppGift.setNum(num);
-                        tAppGift.setShareUserId(tAppUser.getId());
-                        tAppGift.setShareUserName(tAppUser.getPhone());
-                        tAppGift.setShareUserPhone(tAppUser.getPhone());
-                        tAppGift.setActivityId(activityId);
-                        tAppGift.setInsertTime(new Date());
-                        appGiftService.save(tAppGift);
                     }
                 }
             }
@@ -950,6 +952,39 @@
                         .collect(Collectors.toList());
             }
         }
+
+        //世界杯
+        GetWorldCupPayment getWorldCupPayment = new GetWorldCupPayment();
+        getWorldCupPayment.setAppUserId(appUserId);
+        getWorldCupPayment.setPayType("1,2");
+        getWorldCupPayment.setStartTime(monthStart);
+        getWorldCupPayment.setEndTime(monthEnd);
+        List<WorldCupPayment> worldCupPayment = worldCupPaymentClinet.getWorldCupPayment(getWorldCupPayment);
+        for (WorldCupPayment cupPayment : worldCupPayment) {
+            ConsumeDetail consumeDetail = new ConsumeDetail();
+            if(cupPayment.getPayStatus() != 3){
+                consumeDetail.setConsumeName(RechargeRecordEnum.WORLD_CIP_PAYMENT.getMsg());
+                consumeDetail.setConsumeTime(simpleDateFormat.format(cupPayment.getCreateTime()));
+                consumeDetail.setConsumeAmount("-" + cupPayment.getAmount());
+                consumeDetail.setType(2);
+                details.add(consumeDetail);
+            }else{
+                consumeDetail = new ConsumeDetail();
+                consumeDetail.setConsumeName(RechargeRecordEnum.WORLD_CIP_PAYMENT.getMsg());
+                consumeDetail.setConsumeTime(simpleDateFormat.format(cupPayment.getCreateTime()));
+                consumeDetail.setConsumeAmount("-" + cupPayment.getAmount());
+                consumeDetail.setType(2);
+                details.add(consumeDetail);
+
+                consumeDetail = new ConsumeDetail();
+                consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_WORLD_CIP_PAYMENT.getMsg());
+                consumeDetail.setConsumeTime(simpleDateFormat.format(cupPayment.getCreateTime()));
+                consumeDetail.setConsumeAmount("+" + cupPayment.getRefundAmount());
+                consumeDetail.setType(1);
+                details.add(consumeDetail);
+            }
+        }
+
         return details;
     }
 
@@ -1179,6 +1214,7 @@
         if (tAppUser.getState() == 2) {
             return ResultUtil.error("您的账号已被冻结");
         }
+        boolean newUser = false;
         List<TAppUser> tAppUsers1 = appUserMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getPhone()).eq(TAppUser::getState, 1));
         if (tAppUsers1.size() > 0) {
             TAppUser tAppUser1 = tAppUsers1.get(0);
@@ -1196,56 +1232,49 @@
             appUserMapper.updateById(tAppUser);
             token = getToken(tAppUser);
             map.put("token", token);
-
+            newUser = true;
         }
 
-//        tAppUser.setPhone(dto.getPhone());
-
-        if (ToolUtil.isNotEmpty(dto.getInvitePhone())) {
+        if (newUser && ToolUtil.isNotEmpty(dto.getInvitePhone())) {
             if (ToolUtil.isEmpty(dto.getLat()) || ToolUtil.isEmpty(dto.getLon())) {
                 return ResultUtil.error("请先开启定位");
             }
-            TAppUser tAppUser1 = appUserMapper.selectOne(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getInvitePhone()).eq(TAppUser::getState, 1));
-            if (tAppUser1 != null) {
-                Map<String, String> geocode = null;
-                try {
-                    geocode = gdMapGeocodingUtil.geocode(dto.getLon(), dto.getLat());
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-                Integer num = 0;
-                if (null != geocode) {
-                    String province = geocode.get("province");
-                    String provinceCode = geocode.get("provinceCode");
-                    String city = geocode.get("city");
-                    String cityCode = geocode.get("cityCode");
-                    IntroduceRewards giftList = introduceRewardsClient.getGiftList(cityCode);
-                    num = giftList.getGiveClass();
-                }
-                Integer userId = null;
-                if (ToolUtil.isNotEmpty(dto.getInvitePhone())) {
-                    List<TAppUser> tAppUsers = this.baseMapper.selectList(new LambdaQueryWrapper<TAppUser>().eq(TAppUser::getPhone, dto.getInvitePhone()));
-                    if (tAppUsers.size() > 0) {
-                        userId = tAppUsers.get(0).getId();
-                    }
-                }
-                if (userId != null) {
-                    TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, userId));
-                    if (one != null) {
-                        one.setNum(one.getNum() + num);
-                        appGiftService.updateById(one);
-                    } else {
-                        TAppGift tAppGift = new TAppGift();
-                        tAppGift.setUserId(userId);
-                        tAppGift.setNum(num);
-                        appGiftService.save(tAppGift);
+            TAppUser tAppUser1 = appUserMapper.selectOne(new LambdaQueryWrapper<TAppUser>()
+                    .eq(TAppUser::getPhone, dto.getInvitePhone()).eq(TAppUser::getState, 1));
+            if(null == tAppUser1){
+                return ResultUtil.error("邀请人还未注册账号");
+            }
+            Map<String, String> geocode = null;
+            try {
+                geocode = gdMapGeocodingUtil.geocode(dto.getLon(), dto.getLat());
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+            if (null != geocode) {
+                String cityCode = geocode.get("cityCode");
+                // 根据所在市code 查询是否有介绍有礼活动
+                List<IntroduceRewards> res = introduceRewardsClient.getGiftList(cityCode);
+                if (res != null) {
+                    for (IntroduceRewards re : res) {
+                        Integer num = re.getGiveClass();
+                        Integer activityId = re.getId();
+                        if (num != 0) {
+                            TAppGift tAppGift = new TAppGift();
+                            tAppGift.setUserName(tAppUser1.getName());
+                            tAppGift.setUserPhone(tAppUser1.getPhone());
+                            tAppGift.setUserId(tAppUser1.getId());
+                            tAppGift.setNum(num);
+                            tAppGift.setShareUserId(tAppUser.getId());
+                            tAppGift.setShareUserName(tAppUser.getPhone());
+                            tAppGift.setShareUserPhone(tAppUser.getPhone());
+                            tAppGift.setActivityId(activityId);
+                            tAppGift.setInsertTime(new Date());
+                            appGiftService.save(tAppGift);
+                        }
                     }
                 }
             }
         }
-
-//        appUserMapper.updateById(tAppUser);
-
         return ResultUtil.success(map);
     }
 
@@ -1570,18 +1599,18 @@
                         case 1:
                             try {
                                 if (merchandise.getType() == 2) {
-                                    return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code);
+                                    return WechatPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code);
                                 } else {
-                                    return WechatPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code);
+                                    return WechatPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(goodsNums)), code);
                                 }
                             } catch (Exception e) {
                                 return ResultUtil.runErr();
                             }
                         case 2:
                             if (merchandise.getType() == 2) {
-                                return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code, returnId);
+                                return AlipayPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code, returnId);
                             } else {
-                                return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code, returnId);
+                                return AlipayPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(goodsNums)), code, returnId);
                             }
                         default:
                             break;
@@ -1592,18 +1621,18 @@
                         case 1:
                             try {
                                 if (merchandise.getType() == 2) {
-                                    return WechatPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code);
+                                    return WechatPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code);
                                 } else {
-                                    return WechatPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code);
+                                    return WechatPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(goodsNums)), code);
                                 }
                             } catch (Exception e) {
                                 return ResultUtil.runErr();
                             }
                         case 2:
                             if (merchandise.getType() == 2) {
-                                return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code, returnId);
+                                return AlipayPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(exchangeType.getStuIds().size())), code, returnId);
                             } else {
-                                return AlipayPayment(merchandise.getCash().multiply(new BigDecimal(goodsNums)), code, returnId);
+                                return AlipayPayment(merchandise.getType(), merchandise.getCash().multiply(new BigDecimal(goodsNums)), code, returnId);
                             }
                         default:
                             break;
@@ -1847,8 +1876,9 @@
         }
     }
 
-    private ResultUtil AlipayPayment(BigDecimal cash, String code, Long returnId) {
-        ResultUtil alipay = payMoneyUtil.alipay(smid,"优惠卷", "优惠卷", String.valueOf(returnId), code, cash.toString(),
+    private ResultUtil AlipayPayment(Integer type, BigDecimal cash, String code, Long returnId) {
+        String name = (type == 1 ? "购买实体商品" : type == 2 ? "报名运动营": type == 3 ? "购买门票" : "购买优惠券");
+        ResultUtil alipay = payMoneyUtil.alipay(smid,name, name, String.valueOf(returnId), code, cash.toString(),
                 "/base/pointMer/exchangeGoodPaymentAliCallback");
         if (alipay.getCode() == 200) {
             new Thread(new Runnable() {
@@ -2013,8 +2043,9 @@
     }
 
 
-    private ResultUtil WechatPayment(BigDecimal cash, String code) throws Exception {
-        ResultUtil weixinpay = payMoneyUtil.weixinpay("课包", "", code, cash.toString(),
+    private ResultUtil WechatPayment(Integer type, BigDecimal cash, String code) throws Exception {
+        String name = (type == 1 ? "购买实体商品" : type == 2 ? "报名运动营": type == 3 ? "购买门票" : "购买优惠券");
+        ResultUtil weixinpay = payMoneyUtil.weixinpay(name, "", code, cash.toString(),
                 "/base/pointMer/exchangeGoodPaymentWeChatCallback", "APP", "");
         if (weixinpay.getCode() == 200) {
             new Thread(new Runnable() {

--
Gitblit v1.7.1