44323
2023-12-08 2fa137fdda93862d79ef09a75603faef4f4769cd
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -287,6 +287,10 @@
    @Autowired
    private PointsMerchandiseStoreService pointsMerchandiseStoreService;
    @Autowired
    private CouponStoreService couponStoreService;
    @ResponseBody
    @PostMapping("/base/pointMerchars/convertGoods")
    public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception {
@@ -324,12 +328,14 @@
        }
//        if (cIds.size()>0) {
        List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>().in("id", cIds)
        QueryWrapper<PointsMerchandise> wrapper = new QueryWrapper<PointsMerchandise>()
                .eq("state", 1)
                .eq("shelves", 1)
                .gt("endTime", new Date()).last("ORDER BY sort desc,insertTime desc"));
                .gt("endTime", new Date());
        if(cIds.size() > 0){
            wrapper.in("id", cIds);
        }
        List<PointsMerchandise> merchandises = pmdsService.list(wrapper.last("ORDER BY sort desc,insertTime desc"));
        if (merchandises.size() > 0) {
            for (PointsMerchandise merchandise : merchandises) {
                IntegralCommodity integralCommodity = new IntegralCommodity();
@@ -341,34 +347,42 @@
                integralCommodity.setSort(merchandise.getSort());
                commodity.add(integralCommodity);
            }
//            }
        }
        List<CouponStore> storeId = couponStoreService.list(new QueryWrapper<CouponStore>().eq("storeId", s.getId()));
        List<Integer> storeCoupons = new ArrayList<>();
        for (CouponStore couponStore : storeId) {
            storeCoupons.add(couponStore.getCouponId());
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        QueryWrapper<Coupon> queryWrapper = new QueryWrapper<Coupon>().eq("state", 1).gt("endTime", sdf.format(new Date()));
        if(storeCoupons.size() > 0){
            queryWrapper.in("id", storeCoupons);
        }
        List<Coupon> list = couponService.list(queryWrapper.last(" ORDER BY insertTime desc"));
        if (!list.isEmpty()){
            for (Coupon coupon : list) {
            IntegralCommodity integralCommodity = new IntegralCommodity();
            integralCommodity.setCommodityId(coupon.getId());
            integralCommodity.setCommodityImg(coupon.getCover());
            integralCommodity.setCommodityName(coupon.getName());
            integralCommodity.setCommodityPrice(coupon.getIntegral());
            integralCommodity.setGoodsType(coupon.getType());
//            integralCommodity.setSort(coupon.getSort());
            commodity.add(integralCommodity);
            }
        }
        System.out.println(commodity);
        return commodity;
    }
    @Resource
    private CoursePackageClient coursePackageClient;
    @Autowired
    private PointsMerchandiseService pointsMerchandiseService;
    @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;
//
//        }
        PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo();
        List<PointsMerchandise> list = new ArrayList<>();
@@ -873,15 +887,40 @@
                    } else if (merchandise.getUseScope() == 3) {
                        // 指定门店
                        List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, merchandise.getId()));
                        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);
                        }
//                            List<Integer> rid= stoClient.querySiteIdById(collect);
                            //detailsResponse.setRid(rid);
                            // todo 修改区域id 临时
                            // 根据门店id 写死区域id 后续调整为门票指定多个区域
                            // 以下代码均为临时代码===============================
                            for (Integer integer : collect) {
                                ArrayList<Integer> list2 = new ArrayList<>();
                                if (integer==2024){
                                    list2.add(32);
                                    detailsResponse.setRid(list2);
                                }
                                // 临时 根据门票id 指定的区域
                                if (integer==9919){
                                    if (pointsMerchandise.getPointsMerchandiseId()==196||pointsMerchandise.getPointsMerchandiseId()==198){
                                        // 返回儿童区id
                                        ArrayList<Integer> list3 = new ArrayList<>();
                                        list3.add(44);
                                        detailsResponse.setRid(list3);
                                    }else if(pointsMerchandise.getPointsMerchandiseId()==197) {
                                        ArrayList<Integer> list4 = new ArrayList<>();
                                        list4.add(43);
                                        detailsResponse.setRid(list4);
                                    }
                                }
                            }
                            //======================================================
                        }
                    }
@@ -1162,8 +1201,11 @@
                    ArrayList<String> list1 = new ArrayList<>(list11);
                    list1.add(coursePackage.getCoverDrawing());
                    detailsVo.setPics(list1);
                    CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId());
                    detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours());
                    detailsVo.setClassHours(0);
                    if(coursePackage.getType() != 3){
                        CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId());
                        detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours());
                    }
                    Collections.sort(detailsVo.getPics(), (s1, s2) -> {
                        if (s1.equals(coursePackage.getCoverDrawing())) {
                            return -1; // s1排在前面
@@ -1689,6 +1731,7 @@
    public Integer add(@RequestBody PointsMerchandise pointsMerchandise) {
        Integer storeId = pointsMerchandise.getShelves();
        pointsMerchandise.setShelves(1);
        pointsMerchandise.setInsertTime(new Date());
        boolean save = pmdsService.save(pointsMerchandise);
        if (save && ToolUtil.isNotEmpty(storeId) && pointsMerchandise.getType() == 2) {
            PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore();