From 18b58aaf9bd99cadd0e7f80fe5d80586f2f4831a Mon Sep 17 00:00:00 2001
From: nickchange <126672920+nickchange@users.noreply.github.com>
Date: 星期五, 24 十一月 2023 18:32:43 +0800
Subject: [PATCH] 11.24

---
 cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java |   88 +++++++++++++++++++++++++++++---------------
 1 files changed, 58 insertions(+), 30 deletions(-)

diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index 9394121..eb34857 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -24,10 +24,7 @@
 import com.dsh.activity.model.response.GoodsInfoOneVo;
 import com.dsh.activity.model.response.StoreVos;
 import com.dsh.activity.service.*;
-import com.dsh.activity.util.GDMapGeocodingUtil;
-import com.dsh.activity.util.StrUtils;
-import com.dsh.activity.util.TokenUtil;
-import com.dsh.activity.util.ToolUtil;
+import com.dsh.activity.util.*;
 import io.swagger.models.auth.In;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -279,6 +276,11 @@
     }
 
 
+    @Resource
+    private StoreClient storeClient;
+
+    @Autowired
+    private PointsMerchandiseStoreService pointsMerchandiseStoreService;
     @ResponseBody
     @PostMapping("/base/pointMerchars/convertGoods")
     public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception {
@@ -289,18 +291,39 @@
         String cityCode = geocode.get("cityCode");
 
 
-        List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
+//        if(null != geocode) {
+
+            List<Store> stores = storeClient.queryStoreList(new QueryStoreList(provinceCode, cityCode));
+            Store s = null;
+            Double d = 0D;
+            for (Store store : stores) {
+                Map<String, Double> distance = GeodesyUtil.getDistance(location.getLon() + "," + location.getLat(), store.getLon() + "," + store.getLat());
+                Double wgs84 = distance.get("WGS84");
+                if (s == null || d > wgs84) {
+                    s = store;
+                    d = wgs84;
+                }
+            }
+//        }
+
+//        List<PointsMerchandiseCity> cityCode1 = pmdsCityService.list(new QueryWrapper<PointsMerchandiseCity>().eq("cityCode", cityCode));
         List<Integer> cIds = new ArrayList<>();
-        for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
-            cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
+//        for (PointsMerchandiseCity pointsMerchandiseCity : cityCode1) {
+//            cIds.add(pointsMerchandiseCity.getPointsMerchandiseId());
+//        }
+
+        List<PointsMerchandiseStore> storesids =pointsMerchandiseStoreService.list(new QueryWrapper<PointsMerchandiseStore>().eq("storeId",s.getId()));
+        for (PointsMerchandiseStore storesid : storesids) {
+            cIds.add(storesid.getPointsMerchandiseId());
         }
+
 
 //        if (cIds.size()>0) {
 
-            List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>()
+            List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>().in("id",cIds)
                     .eq("state", 1)
                     .eq("shelves", 1)
-                    .gt("endTime", new Date()));
+                    .gt("endTime", new Date()).last("ORDER BY sort desc,insertTime desc"));
             if (merchandises.size() > 0){
                 for (PointsMerchandise merchandise : merchandises) {
                     IntegralCommodity integralCommodity = new IntegralCommodity();
@@ -309,6 +332,7 @@
                     integralCommodity.setCommodityName(merchandise.getName());
                     integralCommodity.setCommodityPrice(merchandise.getPrice());
                     integralCommodity.setGoodsType(merchandise.getType());
+                    integralCommodity.setSort(merchandise.getSort());
                     commodity.add(integralCommodity);
                 }
 //            }
@@ -991,9 +1015,10 @@
         PointDetailsVo detailsVo = new PointDetailsVo();
         UserPointsMerchandise byId = upmseService.getById(speMercharsId);
 
-        List<PointsMerchandiseStore> stores = storeService.list(new QueryWrapper<PointsMerchandiseStore>().eq("pointsMerchandiseId", byId.getPointsMerchandiseId()));
 
         if (ToolUtil.isNotEmpty(byId)){
+            List<PointsMerchandiseStore> stores = storeService.list(new QueryWrapper<PointsMerchandiseStore>().eq("pointsMerchandiseId", byId.getPointsMerchandiseId()));
+
             PointsMerchandise pmdsServiceById = pmdsService.getById(byId.getPointsMerchandiseId());
             // 2.0
             detailsVo.setCardType(pmdsServiceById.getCardType());
@@ -1185,7 +1210,9 @@
                 detailsVo.setUseType(2);
             }else {
                 detailsVo.setUseType(1);
-                detailsVo.setWriteOffTime(simpleDateFormat.format(byId.getVerificationTime()));
+                if (pmdsServiceById.getType()!=2) {
+                    detailsVo.setWriteOffTime(simpleDateFormat.format(byId.getVerificationTime()));
+                }
                 if (byId.getStoreId()!=null) {
                     StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getStoreId());
                     detailsVo.setWriteOffName(courseOfStore.getStoreName());
@@ -1246,25 +1273,26 @@
                 detailsVo.setIntegral(coupon.getIntegral().intValue());
                 detailsVo.setCash(coupon.getCash());
             }
-//            if (coupon.getUseScope() == 1){
-//                detailsVo.setExchangeAddrType(1);
-//                detailsVo.setBelongs("全国通用");
-//            }else if (coupon.getUseScope() == 2){
-//                detailsVo.setExchangeAddrType(2);
-//                List<CouponCity> list = ccityService.list(new LambdaQueryWrapper<CouponCity>()
-//                        .eq(CouponCity::getCouponId, coupon.getId()));
-//                if (list.size() > 0){
-//                    detailsVo.setBelongs(list.get(0).getProvince()+"|"+list.get(0).getCity() + "用户可用");
-//                }
-//            }else {
-//                detailsVo.setExchangeAddrType(3);
-//                List<CouponStore> list = cstoreService.list(new QueryWrapper<CouponStore>()
-//                        .eq("couponId",coupon.getId() ));
-//                StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(list.get(0).getStoreId());
-//                detailsVo.setBelongs(courseOfStore.getStoreName()+"可用");
-//            }
-//            detailsVo.setStartTime(format.format(coupon.getStartTime()));
-//            detailsVo.setEndTime(format.format(coupon.getEndTime()));
+            if (coupon.getUseScope() == 1){
+                detailsVo.setExchangeAddrType(1);
+                detailsVo.setBelongs("全国通用");
+            }else if (coupon.getUseScope() == 2){
+                detailsVo.setExchangeAddrType(2);
+                List<CouponCity> list = ccityService.list(new LambdaQueryWrapper<CouponCity>()
+                        .eq(CouponCity::getCouponId, coupon.getId()));
+                if (list.size() > 0){
+                    detailsVo.setBelongs(list.get(0).getProvince()+"|"+list.get(0).getCity() + "用户可用");
+                }
+            }else {
+                detailsVo.setExchangeAddrType(3);
+                List<CouponStore> list = cstoreService.list(new QueryWrapper<CouponStore>()
+                        .eq("couponId",coupon.getId() ));
+                StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(list.get(0).getStoreId());
+                detailsVo.setBelongs(courseOfStore.getStoreName()+"可用");
+            }
+            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+            detailsVo.setStartTime(format.format(coupon.getStartTime()));
+            detailsVo.setEndTime(format.format(coupon.getEndTime()));
 
             detailsVo.setContents(coupon.getIllustrate());
             detailsVo.setGoodType(4);

--
Gitblit v1.7.1