44323
2024-03-08 db3e6f6d5a8f29a5dc576aba2eab76a8133ce03c
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -10,11 +10,9 @@
import com.dsh.activity.feignclient.course.model.CoursePackagePaymentConfig;
import com.dsh.activity.feignclient.model.*;
import com.dsh.activity.feignclient.other.OperatorClient;
import com.dsh.activity.feignclient.other.SiteClient;
import com.dsh.activity.feignclient.other.StoreClient;
import com.dsh.activity.feignclient.other.model.Store;
import com.dsh.activity.feignclient.other.model.StoreDetailOfCourse;
import com.dsh.activity.feignclient.other.model.StoreInfoDto;
import com.dsh.activity.feignclient.other.model.TOperatorCity;
import com.dsh.activity.feignclient.other.model.*;
import com.dsh.activity.model.CoachChangeStateVO;
import com.dsh.activity.model.PointMerchandiseIncomeVo;
import com.dsh.activity.model.PointMerchandiseVo;
@@ -27,6 +25,7 @@
import com.dsh.activity.util.*;
import io.swagger.models.auth.In;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -78,6 +77,8 @@
    @Resource
    private CouponCityService ccityService;
    @Autowired
    private SiteClient siteClient;
    @Resource
@@ -297,12 +298,11 @@
        List<IntegralCommodity> commodity = new ArrayList<>();
        Map<String, String> geocode = gdMapGeocodingUtil.geocode(location.getLon(), location.getLat());
        if(null == geocode){
            return new ArrayList<>();
        }
        String provinceCode = geocode.get("provinceCode");
        String cityCode = geocode.get("cityCode");
//        if(null != geocode) {
        List<Store> stores = storeClient.queryStoreList(new QueryStoreList(provinceCode, cityCode));
        Store s = null;
        Double d = 0D;
@@ -314,14 +314,7 @@
                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());
//        }
        List<PointsMerchandiseStore> storesids = pointsMerchandiseStoreService.list(new QueryWrapper<PointsMerchandiseStore>().eq("storeId", s.getId()));
        for (PointsMerchandiseStore storesid : storesids) {
            cIds.add(storesid.getPointsMerchandiseId());
@@ -449,7 +442,7 @@
                detailsVo.setGoodName(coursePackage.getName());
                detailsVo.setBelongsScope(merchandise.getUserPopulation());
                int coursePackageNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
                        .eq("pointsMerchandiseId", merchandise.getId()));
                        .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1));
                detailsVo.setRedeemedNum(coursePackageNums);
                detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - coursePackageNums, 0));
                detailsVo.setPerLimit(merchandise.getPickUpQuantity());
@@ -512,7 +505,7 @@
                detailsVo.setGoodName(merchandise.getName());
                detailsVo.setBelongsScope(merchandise.getUserPopulation());
                int count = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
                        .eq("pointsMerchandiseId", merchandise.getId()));
                        .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1));
                detailsVo.setRedeemedNum(count);
                detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - count, 0));
                detailsVo.setPerLimit(merchandise.getPickUpQuantity());
@@ -567,7 +560,7 @@
                detailsVo.setGoodName(coupon.getName());
                detailsVo.setBelongsScope(coupon.getUserPopulation());
                int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
                        .eq("pointsMerchandiseId", merchandise.getId()));
                        .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1));
                detailsVo.setRedeemedNum(couponNums);
                detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponNums, 0));
                detailsVo.setPerLimit(coupon.getPickUpQuantity());
@@ -647,7 +640,7 @@
                detailsVo.setGoodName(coursePackage.getName());
                detailsVo.setBelongsScope(merchandise.getUserPopulation());
                int coursePackageNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
                        .eq("pointsMerchandiseId", merchandise.getId()));
                        .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1));
                detailsVo.setRedeemedNum(coursePackageNums);
                detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - coursePackageNums, 0));
                detailsVo.setPerLimit(merchandise.getPickUpQuantity());
@@ -710,7 +703,7 @@
                detailsVo.setGoodName(merchandise.getName());
                detailsVo.setBelongsScope(merchandise.getUserPopulation());
                int count = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
                        .eq("pointsMerchandiseId", merchandise.getId()));
                        .eq("pointsMerchandiseId", merchandise.getId()).eq("payStatus", 2).eq("state", 1));
                detailsVo.setRedeemedNum(count);
                detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - count, 0));
                detailsVo.setPerLimit(merchandise.getPickUpQuantity());
@@ -934,14 +927,11 @@
                        String endDate = dateFormat.format(end);
                        detailsResponse.setStartTime(startDate);
                        detailsResponse.setEndTime(startDate);
                        Date now = new Date();
                        Calendar cal1 = Calendar.getInstance();
                        cal1.setTime(pointsMerchandise.getInsertTime());
                        Calendar cal2 = Calendar.getInstance();
                        cal2.setTime(now);
                        // Compare the year, month, and day of the two Calendar instances
                        boolean isSameDate = cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) &&
                                cal1.get(Calendar.MONTH) == cal2.get(Calendar.MONTH) &&
@@ -1392,7 +1382,8 @@
    public int queryUserHasGoodsNums(@RequestBody AppUserGoodResp goodResp) {
        int count = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
                .eq(UserPointsMerchandise::getUserId, goodResp.getAppUserId())
                .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId()));
                .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId())
                .eq(UserPointsMerchandise::getPayStatus, 2).eq(UserPointsMerchandise::getState, 1));
        System.out.println(count);
        return count;
    }
@@ -1401,7 +1392,8 @@
    @PostMapping("/base/pointMerchars/queryUserHasGoodsNums1")
    public int queryUserHasGoodsNums1(@RequestBody AppUserGoodResp goodResp) {
        int count = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
                .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId()));
                .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId())
                .eq(UserPointsMerchandise::getPayStatus, 2).eq(UserPointsMerchandise::getState, 1));
        System.out.println(count);
        return count;
    }
@@ -1633,6 +1625,9 @@
                case 3:
                    infoOneVo.setExchangeArea("指定门店");
                    break;
                case 4:
                    infoOneVo.setExchangeArea("指定场地");
                    break;
                default:
                    break;
            }
@@ -1670,27 +1665,66 @@
        List<StoreVos> storeVos = new ArrayList<>();
        List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>()
                .eq("pointsMerchandiseId", id));
        if (list.size() > 0) {
            List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList());
            List<Store> stores = stoClient.queryStoreByIds(collect);
            if (stores.size() > 0) {
                for (Store store : stores) {
                    StoreVos storeVos1 = new StoreVos();
                    storeVos1.setNum1(store.getProvince() + "省" + store.getCity() + "市");
                    if (store.getOperatorId() == 0) {
                        storeVos1.setNum2("平台");
                    } else {
        PointsMerchandise byId = pmdsService.getById(id);
                        storeVos1.setNum2(store.getOName());
        if (list.size() > 0) {
            if (byId.getUseScope()==3){
                // 如果是指定门店
                List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList());
                List<Store> stores = stoClient.queryStoreByIds(collect);
                if (stores.size() > 0) {
                    int a = 0;
                    for (Store store : stores) {
                        StoreVos storeVos1 = new StoreVos();
                        storeVos1.setNum1(store.getProvince() + "省" + store.getCity() + "市");
                        if (store.getOperatorId()==null){
                            storeVos1.setNum2("平台");
                        }else if (store.getOperatorId() == 0) {
                            storeVos1.setNum2("平台");
                        } else {
                            storeVos1.setNum2(store.getOName());
                        }
                        storeVos1.setNum3(store.getName());
                        storeVos1.setNum4(store.getIds());
                        storeVos.add(storeVos1);
                    }
                    storeVos1.setNum3(store.getName());
                    storeVos1.setNum4(store.getIds());
                    storeVos.add(storeVos1);
                }
            }else if (byId.getUseScope()==4){
                // 如果是指定场地
                List<Integer> collect1 = list.stream().map(PointsMerchandiseStore::getSiteId).collect(Collectors.toList());
                int temp =0;
                List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList());
                List<Store> stores = stoClient.queryStoreByIds(collect);
                while (temp!=collect1.size()){
                    for (Store store : stores) {
                        Integer integer = collect1.get(temp);
                        Site site = siteClient.querySiteById(integer);
                        StoreVos storeVos1 = new StoreVos();
                        storeVos1.setNum5(site.getName());
                        storeVos1.setNum1(store.getProvince() + "省" + store.getCity() + "市");
                        if (store.getOperatorId()==null){
                            storeVos1.setNum2("平台");
                        }else if (store.getOperatorId() == 0) {
                            storeVos1.setNum2("平台");
                        } else {
                            storeVos1.setNum2(store.getOName());
                        }
                        storeVos1.setNum3(store.getName());
                        storeVos1.setNum4(store.getIds());
                        storeVos.add(storeVos1);
                        temp++;
                    }
                }
            }
        }
        return storeVos;
    }
    @ResponseBody
@@ -1753,6 +1787,20 @@
    public Boolean addOther(@RequestBody String pam) {
        Boolean save = false;
        String[] split = pam.split("_");
        if (split.length>2){
        if (StringUtils.hasLength(split[2])){
            for (String s : split[2].split(",")) {
                PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore();
                pointsMerchandiseStore.setPointsMerchandiseId(Integer.valueOf(split[0]));
                pointsMerchandiseStore.setSiteId(Integer.valueOf(s));
                Site site = siteClient.querySiteById(Integer.valueOf(s));
                pointsMerchandiseStore.setStoreId(site.getStoreId());
                save = pmdstoService.save(pointsMerchandiseStore);
            }
            // 这个门票是选择的场地
            return save;
        }
        }
        for (String s : split[1].split(",")) {
            PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore();
            pointsMerchandiseStore.setPointsMerchandiseId(Integer.valueOf(split[0]));
@@ -1761,6 +1809,7 @@
        }
        return save;
    }
    @PostMapping("/base/pointMerchars/addCitys")
    public Boolean addCitys(@RequestBody ArrayList<Map<String, String>> objects) {
@@ -1854,6 +1903,8 @@
        List<Integer> ids = queryDataFee.getIds();
        if (ids.size() == 0) {
            ids.add(-1);
        }else{
        }
        List<PointsMerchandise> list1 = pmdsService.list(new LambdaQueryWrapper<PointsMerchandise>().eq(PointsMerchandise::getRedemptionMethod, 3));
        LambdaQueryWrapper<UserPointsMerchandise> vipPaymentLambdaQueryWrapper = new LambdaQueryWrapper<>();