nickchange
2023-11-24 18b58aaf9bd99cadd0e7f80fe5d80586f2f4831a
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);