liujie
2023-09-28 f0f6bd6f7499d1fa737f705091337befb98f5112
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -74,6 +74,7 @@
    @Resource
    private CouponCityService ccityService;
    @Resource
    private PointsMerchandiseCityService pmdsCityService;
@@ -148,7 +149,7 @@
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        ProductDetailsVo detailsVo = new ProductDetailsVo();
        PointsMerchandise merchandise = pmdsService.getById(detailRequest.getGoodId());
        detailsVo.setCardType(merchandise.getCardTye());
        detailsVo.setCardType(merchandise.getCardType());
        switch (detailRequest.getGoodsType()){
            case 2:
//                课包
@@ -367,7 +368,7 @@
    @ResponseBody
    @PostMapping("/base/pointMerchars/getSpecificsOfGoods")
    public PointDetailsVo getSpecificsOfGoods(@RequestBody Integer speMercharsId){
    public PointDetailsVo getSpecificsOfGoods(@RequestBody Long speMercharsId){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        PointDetailsVo detailsVo = new PointDetailsVo();
        UserPointsMerchandise byId = upmseService.getById(speMercharsId);
@@ -375,7 +376,7 @@
        if (ToolUtil.isNotEmpty(byId)){
            PointsMerchandise pmdsServiceById = pmdsService.getById(byId.getPointsMerchandiseId());
            // 2.0
            detailsVo.setCardType(pmdsServiceById.getCardTye());
            detailsVo.setCardType(pmdsServiceById.getCardType());
            detailsVo.setExchangeType(pmdsServiceById.getRedemptionMethod());
            detailsVo.setGoodType(pmdsServiceById.getType());
            if (pmdsServiceById.getRedemptionMethod() == 1){
@@ -388,7 +389,8 @@
            switch (pmdsServiceById.getType()){
                case 1:
                case 3:
                    List<String> list2 = Arrays.asList(StrUtils.splitStr2StrArr(pmdsServiceById.getProductImages(), ","));
                    List<String> list10 = Arrays.asList(StrUtils.splitStr2StrArr(pmdsServiceById.getProductImages(), ","));
                    ArrayList<String> list2 = new ArrayList<>(list10);
                    list2.add(pmdsServiceById.getCover());
                    detailsVo.setPics(list2);
                    Collections.sort(detailsVo.getPics(), (s1, s2) -> {
@@ -403,7 +405,8 @@
                    break;
                case 2:
                    CoursePackage coursePackage = cpClient.queryCoursePackageById(pmdsServiceById.getCoursePackageId());
                    List<String> list1 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","));
                    List<String> list11 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","));
                    ArrayList<String> list1 = new ArrayList<>(list11);
                    list1.add(coursePackage.getCoverDrawing());
                    detailsVo.setPics(list1);
                    CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId());
@@ -420,7 +423,8 @@
                    break;
                case 4:
                    Coupon coupon = iCouponService.getById(pmdsServiceById.getId());
                    List<String> list3 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ","));
                    List<String> list13 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ","));
                    ArrayList<String> list3 = new ArrayList<>(list13);
                    list3.add(coupon.getCover());
                    detailsVo.setPics(list3);
                    Collections.sort(detailsVo.getPics(), (s1, s2) -> {
@@ -485,10 +489,7 @@
    @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase")
    public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){
        upmseService.update(merchandise,new LambdaQueryWrapper<UserPointsMerchandise>()
                .eq(UserPointsMerchandise::getUserId,merchandise.getUserId())
                .eq(UserPointsMerchandise::getId,merchandise.getId()));
        upmseService.updateById(merchandise);
    }
    @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode")
@@ -505,6 +506,9 @@
                .eq("pointsMerchandiseId",pointMerId));
        if (list.size() >  0){
            storeIds = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList());
        }
        if(storeIds.size()==0){
            storeIds.add(-1);
        }
        return storeIds;
    }
@@ -538,9 +542,7 @@
        if (list.size() > 0 ){
            for (UserPointsMerchandise pointsMerchandise : list) {
                pointsMerchandise.setState(2);
                upmseService.update(pointsMerchandise,new LambdaQueryWrapper<UserPointsMerchandise>()
                        .eq(UserPointsMerchandise::getUserId,pointsMerchandise.getUserId())
                        .eq(UserPointsMerchandise::getId,pointsMerchandise.getId()));
                upmseService.updateById(pointsMerchandise);
            }
        }
@@ -640,13 +642,10 @@
    public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId){
        PointMercharsVo vo = new PointMercharsVo();
        PointsMerchandise byId = pmdsService.getById(pointMercharsId);
        List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>()
                .eq(UserPointsMerchandise::getPointsMerchandiseId, pointMercharsId));
        if (ToolUtil.isNotEmpty(byId)){
            vo.setName(byId.getName());
            vo.setCover(byId.getCover());
            vo.setPics(byId.getProductImages());
            vo.setQuantityHas(list.size());
            vo.setQuantityIssued(byId.getQuantityIssued());
            vo.setPickUpQuantity(byId.getPickUpQuantity());
            vo.setSort(byId.getSort());
@@ -688,7 +687,7 @@
        if (list.size() > 0 ){
            for (UserPointsMerchandise pointsMerchandise : list) {
                Map<String, Object> map = new HashMap<>();
                map.put("id",pointsMerchandise.getId().toString());
                map.put("id",pointsMerchandise.getId());
                map.put("userId",pointsMerchandise.getUserId());
                map.put("status", pointsMerchandise.getStatus());
                mapList.add(map);
@@ -698,61 +697,17 @@
        return mapList;
    }
    @ResponseBody
    @PostMapping("/base/pointMerchars/writeOffGoodsStatus")
    public boolean writeOffGoodsStatus(@RequestBody Map<String, Object> map){
        try {
            String o = (String) map.get("goodsId");
            Integer managerId = (Integer) map.get("managerId");
            UserPointsMerchandise byId = upmseService.getOne(new LambdaQueryWrapper<UserPointsMerchandise>()
                    .eq(UserPointsMerchandise::getId,Long.parseLong(o) ));
            if (byId.getStatus() == 2){
                return false;
            }
            byId.setStatus(2);
            byId.setVerificationUserId(managerId);
            byId.setVerificationTime(new Date());
            upmseService.update(byId,new LambdaQueryWrapper<UserPointsMerchandise>()
                    .eq(UserPointsMerchandise::getUserId,byId.getUserId())
                    .eq(UserPointsMerchandise::getId,byId.getId()));
            System.out.println(byId);
            return true;
        }catch (Exception e){
            return false;
        }
    @PostMapping("/base/pointMerchars/queryPointMerchaseById")
    public PointsMerchandise queryPointMerchaseById(@RequestBody Integer id){
        return pmdsService.getById(id);
    }
    @ResponseBody
    @PostMapping("/base/pointMerchars/updateGoodsDetail")
    public boolean updateGoodsDetail(@RequestBody Map<String, Object> map){
        try {
            Integer pointMerchandiseId = (Integer) map.get("pointMerchandiseId");
            PointsMerchandise byId1 = pmdsService.getById(pointMerchandiseId);
            Integer quantityIssued = (Integer) map.get("quantityIssued");
            Integer pickUpQuantity = (Integer) map.get("pickUpQuantity");
            String redemptionInstructions = (String) map.get("redemptionInstructions");
            String cover = (String) map.get("cover");
            String productImages = (String) map.get("productImages");
            Integer sort = (Integer) map.get("sort");
            byId1.setQuantityIssued(quantityIssued);
            byId1.setPickUpQuantity(pickUpQuantity);
            byId1.setRedemptionInstructions(redemptionInstructions);
            if (ToolUtil.isNotEmpty(cover)){
                byId1.setCover(cover);
            }
            if (ToolUtil.isNotEmpty(productImages)){
                byId1.setProductImages(productImages);
            }
            byId1.setSort(sort);
            pmdsService.updateById(byId1);
            return true;
        }catch (Exception e){
            return false;
        }
    @PostMapping("/base/pointMerchars/getshopName")
    public Integer getshopName(@RequestBody Integer id){
        List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, id));
        PointsMerchandiseStore pointsMerchandiseStore = list.get(0);
        Integer storeId = pointsMerchandiseStore.getStoreId();
        return storeId;
    }
@@ -822,6 +777,23 @@
    }
    @ResponseBody
    @PostMapping("/base/pointMerchars/getProvinces")
    public List<StoreVos> getProvinces(@RequestBody Integer id){
        List<StoreVos> storeVos = new ArrayList<>();
        List<PointsMerchandiseCity> list = pmdsCityService.list(new LambdaQueryWrapper<PointsMerchandiseCity>()
                .eq(PointsMerchandiseCity::getPointsMerchandiseId,id));
        if (list.size() > 0 ){
            for (PointsMerchandiseCity pointsMerchandiseCity : list) {
                StoreVos storeVos1 = new StoreVos();
                storeVos1.setNum1(pointsMerchandiseCity.getProvince());
                storeVos1.setNum2(pointsMerchandiseCity.getCity());
                storeVos.add(storeVos1);
            }
        }
        return storeVos;
    }
    @ResponseBody
    @PostMapping("/base/pointMerchars/getStoreList")
@@ -845,25 +817,42 @@
    }
    @ResponseBody
    @PostMapping("/base/pointMerchars/getProvinces")
    public List<StoreVos> getProvinces(@RequestBody Integer id){
        List<StoreVos> storeVos = new ArrayList<>();
        List<PointsMerchandiseCity> list = pmdsCityService.list(new LambdaQueryWrapper<PointsMerchandiseCity>()
                .eq(PointsMerchandiseCity::getPointsMerchandiseId,id));
        if (list.size() > 0 ){
            for (PointsMerchandiseCity pointsMerchandiseCity : list) {
                StoreVos storeVos1 = new StoreVos();
                storeVos1.setNum1(pointsMerchandiseCity.getProvince());
                storeVos1.setNum2(pointsMerchandiseCity.getCity());
                storeVos.add(storeVos1);
    @PostMapping("/base/pointMerchars/updateGoodsDetail")
    public boolean updateGoodsDetail(@RequestBody Map<String, Object> map){
        try {
            Integer pointMerchandiseId = (Integer) map.get("pointMerchandiseId");
            PointsMerchandise byId1 = pmdsService.getById(pointMerchandiseId);
            Integer quantityIssued = (Integer) map.get("quantityIssued");
            Integer pickUpQuantity = (Integer) map.get("pickUpQuantity");
            String redemptionInstructions = (String) map.get("redemptionInstructions");
            String cover = (String) map.get("cover");
            String productImages = (String) map.get("productImages");
            Integer sort = (Integer) map.get("sort");
            byId1.setQuantityIssued(quantityIssued);
            byId1.setPickUpQuantity(pickUpQuantity);
            byId1.setRedemptionInstructions(redemptionInstructions);
            if (ToolUtil.isNotEmpty(cover)){
                byId1.setCover(cover);
            }
            if (ToolUtil.isNotEmpty(productImages)){
                byId1.setProductImages(productImages);
            }
            byId1.setSort(sort);
            pmdsService.updateById(byId1);
            return true;
        }catch (Exception e){
            return false;
        }
        return storeVos;
    }
    @PostMapping("/base/pointMerchars/add")
   public Integer add(@RequestBody PointsMerchandise pointsMerchandise){
    public Integer add(@RequestBody PointsMerchandise pointsMerchandise){
        Integer storeId = pointsMerchandise.getShelves();
        pointsMerchandise.setShelves(2);
        boolean save = pmdsService.save(pointsMerchandise);
@@ -881,6 +870,7 @@
        }
        return null;
    }
    @PostMapping("/base/pointMerchars/addOther")
@@ -910,20 +900,74 @@
    }
    @PostMapping("/base/pointMerchars/queryPointMerchaseById")
    public PointsMerchandise queryPointMerchaseById(@RequestBody Integer id){
        return pmdsService.getById(id);
    @ResponseBody
    @PostMapping("/base/pointMerchars/writeOffGoodsStatus")
    public boolean writeOffGoodsStatus(@RequestBody Map<String, Object> map){
        try {
            String o = (String) map.get("goodsId");
            Integer managerId = (Integer) map.get("managerId");
            UserPointsMerchandise byId = upmseService.getOne(new LambdaQueryWrapper<UserPointsMerchandise>()
                    .eq(UserPointsMerchandise::getId,Long.parseLong(o) ));
            if (byId.getStatus() == 2){
                return false;
            }
            byId.setStatus(2);
            byId.setVerificationUserId(managerId);
            byId.setVerificationTime(new Date());
            upmseService.update(byId,new LambdaQueryWrapper<UserPointsMerchandise>()
                    .eq(UserPointsMerchandise::getUserId,byId.getUserId())
                    .eq(UserPointsMerchandise::getId,byId.getId()));
            System.out.println(byId);
            return true;
        }catch (Exception e){
            return false;
        }
    }
    @PostMapping("/base/pointMerchars/getshopName")
    public Integer getshopName(@RequestBody Integer id){
        List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, id));
            PointsMerchandiseStore pointsMerchandiseStore = list.get(0);
        Integer storeId = pointsMerchandiseStore.getStoreId();
        return storeId;
    @ResponseBody
    @PostMapping("/base/pointMerchars/getIntegralGoodsListOfSearchAudit")
    public List<Map<String,Object>> getIntegralGoodsListOfSearchAudit(@RequestBody IntegralGoodsOfSearch ofSearch){
        System.out.println(ofSearch);
        List<Map<String, Object>> mapList = pmdsService.queryGoodsListOfSearchAudit(ofSearch);
        if (mapList.size() > 0){
            for (Map<String, Object> stringObjectMap : mapList) {
                Integer o = (Integer) stringObjectMap.get("id");
                String startTime = (String) stringObjectMap.get("startTime");
                String endTime = (String) stringObjectMap.get("endTime");
                stringObjectMap.put("timeValue",startTime + "至"+endTime);
                int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
                        .eq(UserPointsMerchandise::getPointsMerchandiseId, o));
                int count2 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>()
                        .eq(UserPointsMerchandise::getPointsMerchandiseId, o)
                        .eq(UserPointsMerchandise::getStatus,2));
                stringObjectMap.put("hasExchangeQty",count1);
                stringObjectMap.put("hasPickQty",count2);
                stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime));
            }
            if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){
                mapList = dealTimeData(mapList,ofSearch.getActiveStatus());
            }
        }
        System.out.println("mapList->"+mapList);
        return mapList;
    }
    @PostMapping("/base/pointMerchars/updateType")
    @ResponseBody
    public Object updateType(@RequestBody String s){
        String[] split = s.split("_");
        PointsMerchandise byId = pmdsService.getById(split[0]);
        byId.setStatus(Integer.valueOf(split[1]));
        if(Integer.valueOf(split[1])==3){
            byId.setRemark(split[2]);
        }
        return   pmdsService.updateById(byId);
    }
}