From d09828cdec78a160f4530a8ab245216ed8671c27 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期三, 20 九月 2023 18:43:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java |   70 +++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 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 0165162..656063c 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
@@ -1,10 +1,13 @@
 package com.dsh.account.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.dsh.account.dto.SelectDto;
 import com.dsh.account.entity.*;
 import com.dsh.account.enums.RechargeRecordEnum;
+import com.dsh.account.feignclient.activity.IntroduceRewardsClient;
 import com.dsh.account.feignclient.activity.MerChandiseClient;
 import com.dsh.account.feignclient.activity.MerChandiseStoreClient;
 import com.dsh.account.feignclient.activity.UserConponClient;
@@ -12,6 +15,7 @@
 import com.dsh.account.feignclient.competition.DeductionCompetitionsClient;
 import com.dsh.account.feignclient.competition.model.BillingDataRequestVo;
 import com.dsh.account.feignclient.competition.model.PaymentCompetition;
+import com.dsh.account.feignclient.competition.model.PurchaseRecordVo;
 import com.dsh.account.feignclient.course.CoursePackageClient;
 import com.dsh.account.feignclient.course.CoursePackageConfigClient;
 import com.dsh.account.feignclient.course.CoursePaymentClient;
@@ -29,12 +33,14 @@
 import com.dsh.account.model.*;
 import com.dsh.account.model.dto.Coupon;
 import com.dsh.account.model.query.appUserQuery.QueryAppUser;
+import com.dsh.account.model.vo.DetailsListVo;
 import com.dsh.account.model.vo.QueryAppUserVO;
 import com.dsh.account.model.vo.classDetails.CourseVenue;
 import com.dsh.account.model.vo.classDetails.ExerciseVideo;
 import com.dsh.account.model.vo.classDetails.RegisteredCourse;
 import com.dsh.account.model.vo.classDetails.classInsVo.ClassInfoVo;
 import com.dsh.account.model.vo.userBenefitDetail.*;
+import com.dsh.account.service.TAppGiftService;
 import com.dsh.account.service.TAppUserService;
 import com.dsh.account.util.*;
 import com.dsh.account.util.akeylogin.Md5Util;
@@ -138,10 +144,30 @@
     @Autowired
     private TAppUserMapper appUserMapper;
 
+    @Autowired
+    private TAppGiftService appGiftService;
+
+    @Autowired
+    private IntroduceRewardsClient introduceRewardsClient;
     @Override
     public List<QueryAppUserVO> listAll(QueryAppUser query) {
        return appUserMapper.listAll(query);
     }
+
+    @Override
+    public HashMap<String,Object> weeksOfCourseDetailsList(Integer appUserId, Integer stuId, String time, Integer storeId,String lon,String lat) {
+        // 门店id 查出所有课程
+        HashMap<String, Object> map = paymentClient.weeksOfCourseDetailsList(new CourseDetailReq(appUserId, stuId, time, storeId,lon,lat));
+
+        return map;
+    }
+
+
+    @Override
+    public List<SelectDto> getSelects(List<Integer> studentIds) {
+        return this.baseMapper.getSelects(studentIds);
+    }
+
     @Override
     public ClassInfoVo queryUserOfStus(Integer id) {
         TAppUser tAppUser = this.baseMapper.selectById(id);
@@ -225,6 +251,10 @@
                 couList.setTimeStr(courseOfStoreVo.getClassStartTime() + "-" + courseOfStoreVo.getClassEndTime());
                 couList.setDetail("¥" + courseOfStoreVo.getCoursePrice() + "/会员扣2学时");
                 couList.setStatus(courseOfStoreVo.getStatus());
+
+                couList.setAllNum(courseOfStoreVo.getAllNum());
+                couList.setUseNum(courseOfStoreVo.getUseNum());
+                couList.setLastNum(courseOfStoreVo.getLastNum());
                 courses.add(couList);
             }
             courseVenue.setCourses(courses);
@@ -287,6 +317,32 @@
         tAppUser.setState(1);
         tAppUser.setInsertTime(new Date());
         this.baseMapper.insert(tAppUser);
+
+
+        // 介绍有礼
+        if(addAppUserVo.getReferralUserId()!=null){
+            Map<String, String> geocode = gdMapGeocodingUtil.geocode(addAppUserVo.getLon(), addAppUserVo.getLat());
+            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");
+                 num =  introduceRewardsClient.getGiftList(cityCode);
+            }
+            TAppGift one = appGiftService.getOne(new LambdaQueryWrapper<TAppGift>().eq(TAppGift::getUserId, addAppUserVo.getReferralUserId()));
+            if(one!=null){
+                one.setNum(one.getNum()+num);
+                appGiftService.updateById(one);
+            }else {
+                TAppGift tAppGift = new TAppGift();
+                tAppGift.setUserId(addAppUserVo.getReferralUserId());
+                tAppGift.setNum(num);
+                appGiftService.save(tAppGift);
+            }
+
+        }
+
         return ResultUtil.success();
     }
 
@@ -699,6 +755,8 @@
                         commodity.setBelongsType(vicinityGood.getUserPopulation());
                         commodity.setGoodsType(1);
                         commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId()));
+                        List<Integer> integers = mcsClient.queryPointMerStoreIds(vicinityGood.getId());
+                        commodity.setShopIds(integers);
                         break;
                     case 2:
                         commodity.setGoodId(vicinityGood.getCoursePackageId());
@@ -715,6 +773,7 @@
                         commodity.setBelongsType(vicinityGood.getUserPopulation());
                         commodity.setGoodsType(2);
                         commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId()));
+                        commodity.setShopIds(mcsClient.queryPointMerStoreIds(vicinityGood.getId()));
                         break;
                     case 3:
                         commodity.setGoodId(vicinityGood.getId());
@@ -730,6 +789,7 @@
                         commodity.setBelongsType(vicinityGood.getUserPopulation());
                         commodity.setGoodsType(3);
                         commodity.setNums(mcClient.getRedeemedQuantity(vicinityGood.getId()));
+                        commodity.setShopIds(mcsClient.queryPointMerStoreIds(vicinityGood.getId()));
                         break;
                     default:
                         break;
@@ -757,6 +817,7 @@
                 goods.add(commodity);
             }
         }
+
         if (StringUtils.hasText(request.getSearch())){
             if (goods.size() > 0 ){
                 goods = goods.stream()
@@ -764,6 +825,15 @@
                         .collect(Collectors.toList());
             }
         }
+        // 2.0 门店筛选
+        if (request.getShopId()!=null){
+            if (goods.size() > 0 ){
+                goods = goods.stream()
+                        .filter(merchandise -> merchandise.getShopIds().contains(request.getShopId()))
+                        .collect(Collectors.toList());
+            }
+        }
+
         if (null != request.getRank()){
             switch (request.getRank()){
                 case 1:

--
Gitblit v1.7.1