nickchange
2023-10-31 1eb07ec3e65ae47267becdbe7e7bc95ce40fec52
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -89,12 +89,23 @@
     * 门票上下架 state=1 上架 state=2 下架
     */
    @RequestMapping("/base/pointMerchars/changeState")
    public Object changeState(@RequestBody CoachChangeStateVO dto){
        return pmdsService.changeState(dto);
    public void changeState(@RequestBody CoachChangeStateVO dto){
         pmdsService.changeState(dto);
    }
    /**
     * 门票核销
     */
    @RequestMapping("/base/course/changeState")
    @ResponseBody
    public Object changeState(@RequestBody CourseChangeStateDTO dto){
        return userPointsMerchandiseService.changeState(dto);
    }
    @RequestMapping("/base/pointMerchars/writeOff")
    public Object writeOff(@RequestBody WriteOffDTO dto){
        UserPointsMerchandise byId = userPointsMerchandiseService.getById(dto.getId());
@@ -108,7 +119,46 @@
    @ResponseBody
    @PostMapping("/base/pointMerchars/ticketList")
    public List<Map<String,Object>> ticketList(@RequestBody IntegralGoodsOfSearch ofSearch){
        List<Map<String, Object>> result = pmdsService.ticketList(ofSearch);
        List<Map<String, Object>> result1 = pmdsService.ticketList(ofSearch);
        List<Map<String, Object>> result = new ArrayList<>();
        if(ofSearch.getObjType()==3){
            for (Map<String, Object> map : result1) {
                List<PointsMerchandiseStore> id = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, map.get("id")));
                List<Integer> collect = id.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList());
                if(collect.size()==0){
                    collect.add(-1);
                }
                if(collect.contains(ofSearch.getObjId())){
                    if(id.size()>1){
                        map.put("size",1);
                    }else {
                        map.put("size",0);
                    }
                    result.add(map);
                }
            }
        }else if(ofSearch.getObjType()==2){
            for (Map<String, Object> map : result1) {
                // 拿到当前运营商下的门店的门票
                List<PointsMerchandiseStore> id = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>().in("storeId",ofSearch.getStoreIds()));
                // 拿到积分商品id集合
                List<Integer> collect = id.stream().map(PointsMerchandiseStore::getPointsMerchandiseId).collect(Collectors.toList());
                if(collect.size()==0){
                    collect.add(-1);
                }
                Integer temp =(Integer)map.get("id");
                if (collect.contains(temp)){
                    if(id.size()>1){
                        map.put("size",1);
                    }else {
                        map.put("size",0);
                    }
                    result.add(map);
                }
            }
        } else {
            result=result1;
        }
        if (result.size() > 0){
            for (Map<String, Object> stringObjectMap : result) {
                Integer o = (Integer) stringObjectMap.get("id");
@@ -199,18 +249,18 @@
    @ResponseBody
    @PostMapping("/base/pointMerchars/getCommoditys")
    public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request){
        if (request.getShopId()!=null){
            List<CoursePackage> coursePackages = coursePackageClient.queryByStoreId(request.getShopId());
            List<Integer> coursIds = new ArrayList<>();
            for (CoursePackage coursePackage : coursePackages) {
                coursIds.add(coursePackage.getId());
            }
            List<PointsMerchandise> points = pointsMerchandiseService.list(new QueryWrapper<PointsMerchandise>().eq("state",1).eq("shelves",1).in("coursePackageId", coursIds));
            PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo();
            pointMerchandiseVo.setMerchandises(points);
            return pointMerchandiseVo;
        }
//        if (request.getShopId()!=null){
//            List<CoursePackage> coursePackages = coursePackageClient.queryByStoreId(request.getShopId());
//            List<Integer> coursIds = new ArrayList<>();
//            for (CoursePackage coursePackage : coursePackages) {
//                coursIds.add(coursePackage.getId());
//            }
//            List<PointsMerchandise> points = pointsMerchandiseService.list(new QueryWrapper<PointsMerchandise>().eq("state",1).eq("shelves",1).in("coursePackageId", coursIds));
//            PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo();
//            pointMerchandiseVo.setMerchandises(points);
//            return pointMerchandiseVo;
//
//        }
@@ -441,13 +491,19 @@
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        ProductDetailsVo detailsVo = new ProductDetailsVo();
        PointsMerchandise merchandise = pmdsService.getById(detailRequest.getGoodId());
        detailsVo.setCardType(merchandise.getCardType());
        if (merchandise!=null) {
            detailsVo.setCardType(merchandise.getCardType());
        }
        switch (detailRequest.getGoodsType()){
            case 2:
//                课包
                CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId());
                detailsVo.setGoodId(coursePackage.getId());
//                detailsVo.setGoodId(coursePackage.getId());
                detailsVo.setGoodId(merchandise.getId());
                List<String> list1 = new ArrayList<>();
                list1.add(coursePackage.getCoverDrawing());
                list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")));
@@ -581,10 +637,10 @@
                });
                detailsVo.setGoodName(coupon.getName());
                detailsVo.setBelongsScope(coupon.getUserPopulation());
                int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
                        .eq("pointsMerchandiseId",merchandise.getId() ));
                detailsVo.setRedeemedNum(couponNums);
                detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponNums, 0));
//                int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>()
//                        .eq("pointsMerchandiseId",merchandise.getId() ));
                detailsVo.setRedeemedNum(coupon.getPickUpQuantity());
                detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - coupon.getPickUpQuantity(), 0));
                detailsVo.setPerLimit(coupon.getPickUpQuantity());
                detailsVo.setExchangeType(coupon.getRedemptionMethod());
                if (coupon.getRedemptionMethod() == 1){
@@ -656,6 +712,7 @@
                    if(merchandise.getUseScope()==1){
                        sids.add(0);
                        detailsResponse.setSid(sids);
                        detailsResponse.setRid(new ArrayList<>());
                    }else if(merchandise.getUseScope()==2){
                        // 指定城市
                        List<PointsMerchandiseCity> list = pmdsCityService.list(new LambdaQueryWrapper<PointsMerchandiseCity>().eq(PointsMerchandiseCity::getPointsMerchandiseId, merchandise.getId()));
@@ -665,13 +722,23 @@
                        }
                        List<Integer> storeIds = stoClient.queryStoreIdByCityCode(collect);
                        detailsResponse.setSid(storeIds);
                        if(storeIds.size()>0){
                            // 获取rid
                            List<Integer> rid= stoClient.querySiteIdById(storeIds);
                            detailsResponse.setRid(rid);
                        }
                    }else if(merchandise.getUseScope()==3){
                        // 指定门店
                        List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, merchandise.getId()));
                        List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList());
                        detailsResponse.setSid(collect);
                        if(collect.size()>0){
                            // 获取rid
                            List<Integer> rid= stoClient.querySiteIdById(collect);
                            detailsResponse.setRid(rid);
                        }
                    }
                }
@@ -809,6 +876,7 @@
        upmseService.updateById(merchandise);
    }
    @ResponseBody
    @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode")
    public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code){
        return upmseService.list(new QueryWrapper<UserPointsMerchandise>()
@@ -1130,7 +1198,9 @@
        try {
            Integer pointMerchandiseId = (Integer) map.get("pointMerchandiseId");
            PointsMerchandise byId1 = pmdsService.getById(pointMerchandiseId);
            if(Integer.valueOf(map.get("type").toString())!=1){
                byId1.setStatus(2);
            }
            Integer quantityIssued = (Integer) map.get("quantityIssued");
            Integer pickUpQuantity = (Integer) map.get("pickUpQuantity");
            String redemptionInstructions = (String) map.get("redemptionInstructions");
@@ -1156,7 +1226,6 @@
    }
    @PostMapping("/base/pointMerchars/add")
    public Integer add(@RequestBody PointsMerchandise pointsMerchandise){
        Integer storeId = pointsMerchandise.getShelves();
@@ -1179,6 +1248,7 @@
    @PostMapping("/base/pointMerchars/addOther")
    public Boolean addOther(@RequestBody String pam){
        Boolean save =false;