From 3a9e03941a49e4d37c0b227ced0920c6a37bc8ee Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期二, 05 三月 2024 10:36:07 +0800 Subject: [PATCH] 修改bug --- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 1133 +++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 831 insertions(+), 302 deletions(-) diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java index e49f7a3..97d4f5c 100644 --- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java +++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java @@ -9,9 +9,12 @@ import com.dsh.activity.feignclient.course.model.CoursePackage; 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.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.model.CoachChangeStateVO; import com.dsh.activity.model.PointMerchandiseIncomeVo; import com.dsh.activity.model.PointMerchandiseVo; @@ -21,10 +24,8 @@ 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.*; @@ -89,14 +90,34 @@ * 门票上下架 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); } + + /** + * 根据id查询 + */ + + @RequestMapping("/base/pointMerchars/getById") + @ResponseBody + public PointsMerchandise getById(@RequestBody Integer id) { + return pmdsService.getById(id); + } + /** * 门票核销 */ + @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){ + public Object writeOff(@RequestBody WriteOffDTO dto) { UserPointsMerchandise byId = userPointsMerchandiseService.getById(dto.getId()); byId.setStoreId(dto.getVerifiStoreId()); byId.setStatus(2); @@ -105,99 +126,209 @@ byId.setVerificationUserId(dto.getVerificationUserId()); return userPointsMerchandiseService.updateById(byId); } + + @Autowired + private OperatorClient operatorClient; + @Resource + private CouponCityService cityService; + @ResponseBody @PostMapping("/base/pointMerchars/ticketList") - public List<Map<String,Object>> ticketList(@RequestBody IntegralGoodsOfSearch ofSearch){ + public List<Map<String, Object>> ticketList(@RequestBody IntegralGoodsOfSearch ofSearch) { List<Map<String, Object>> result1 = pmdsService.ticketList(ofSearch); List<Map<String, Object>> result = new ArrayList<>(); - if(ofSearch.getObjType()==3){ + 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){ + 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); + if (collect.contains(ofSearch.getObjId())) { + if (id.size() > 1) { + map.put("size", 1); + } else { + map.put("size", 0); } result.add(map); } } - }else { - result=result1; + } 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); + } + if (Integer.parseInt(String.valueOf(map.get("useScope"))) == 1) { + result.add(map); + } + if (Integer.parseInt(String.valueOf(map.get("useScope"))) == 2) { + // 获取到优惠券id 查询这个优惠券指定了哪些城市 + Integer id1 = Integer.parseInt(String.valueOf(map.get("id"))); + // 获取到运营商管理的省和市 + List<TOperatorCity> cityByOperatorId = operatorClient.getCityByOperatorId(ofSearch.getObjId()); + // 拿到运营商市的code集合 + List<String> collect1 = cityByOperatorId.stream().filter(t -> t.getPid() != 0) + .map(tOperatorCity -> Integer.toString(tOperatorCity.getCode())) + .collect(Collectors.toList()); + List<CouponCity> couponId = cityService.list(new QueryWrapper<CouponCity>().eq("couponId", id1)); + // 先判断优惠券管理的市 运营商是否有 + List<String> collect3 = couponId.stream().map(CouponCity::getCityCode) + .collect(Collectors.toList()); + // 优惠券指定的省 + List<String> collect4 = couponId.stream().map(CouponCity::getCityCode) + .collect(Collectors.toList()); + if (!Collections.disjoint(collect3, collect4)) { + result.add(map); + } else { + // 如果没有交集 那么还需要判断运营商是否管理了整个省 + + + } + } + if (Integer.parseInt(String.valueOf(map.get("useScope"))) == 3) { + // 获取到优惠券id 查询这个优惠券指定了哪些门店 + Integer id3 = Integer.parseInt(String.valueOf(map.get("id"))); + // 当前运营商管理的门店ids + List<Integer> storeIds = ofSearch.getStoreIds(); + // 优惠券指定的门店 + List<Integer> collect5 = cstoreService.list(new QueryWrapper<CouponStore>().eq("couponId", id3) + .in("storeId", storeIds)).stream().map(CouponStore::getStoreId) + .collect(Collectors.toList()); + // 判断两个集合是否相交 + // 比较两个集合中是否有相同的元素;当两个集合中没有相同元素时返回true, + // 当有相同元素时返回false。 + if (!Collections.disjoint(collect5, storeIds)) { + result.add(map); + } + } + } + } else { + result = result1; } - if (result.size() > 0){ + if (result.size() > 0) { for (Map<String, Object> stringObjectMap : result) { Integer o = (Integer) stringObjectMap.get("id"); String startTime = (String) stringObjectMap.get("startTime"); String endTime = (String) stringObjectMap.get("endTime"); - stringObjectMap.put("timeValue",startTime + "至"+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); + .eq(UserPointsMerchandise::getStatus, 2)); + stringObjectMap.put("hasExchangeQty", count1); + stringObjectMap.put("hasPickQty", count2); - stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime)); + stringObjectMap.put("activeStatus", dealTimeStatus(startTime, endTime)); } - if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){ - result = dealTimeData(result,ofSearch.getActiveStatus()); + if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())) { + result = dealTimeData(result, ofSearch.getActiveStatus()); } } return result; } + @ResponseBody @PostMapping("/base/pointMerchars/queryGoodsListSearch") - public List<Map<String,Object>> getIntegralGoodsListOfSearch(@RequestBody IntegralGoodsOfSearch ofSearch){ + public List<Map<String, Object>> getIntegralGoodsListOfSearch(@RequestBody IntegralGoodsOfSearch ofSearch) { System.out.println(ofSearch); List<Map<String, Object>> mapList = pmdsService.queryGoodsListOfSearch(ofSearch); - if (mapList.size() > 0){ + 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); + stringObjectMap.put("timeValue", startTime + "至" + endTime); int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getPointsMerchandiseId, o)); + .eq(UserPointsMerchandise::getPointsMerchandiseId, o) + .eq(UserPointsMerchandise::getStatus, 2)); 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("hasExchangeQty", count1); + stringObjectMap.put("hasPickQty", count2); - stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime)); + stringObjectMap.put("activeStatus", dealTimeStatus(startTime, endTime)); } - if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){ - mapList = dealTimeData(mapList,ofSearch.getActiveStatus()); + if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())) { + mapList = dealTimeData(mapList, ofSearch.getActiveStatus()); } } - System.out.println("mapList->"+mapList); + System.out.println("mapList->" + mapList); return mapList; } + /** * 获取积分商票消费金额 */ @ResponseBody @RequestMapping("/base/pointMerchars/getAmount") - public List<PointMerchandiseIncomeVo> getAmount(){ - return userPointsMerchandiseService.getAmount(); + public List<PointMerchandiseIncomeVo> getAmount() { + return userPointsMerchandiseService.getAmount(); } + @Resource + private StoreClient storeClient; + + @Autowired + private PointsMerchandiseStoreService pointsMerchandiseStoreService; + + + @Autowired + private CouponStoreService couponStoreService; + @ResponseBody @PostMapping("/base/pointMerchars/convertGoods") - public List<IntegralCommodity> getConvertibleGoods(){ + public List<IntegralCommodity> getConvertibleGoods(@RequestBody Location location) throws Exception { List<IntegralCommodity> commodity = new ArrayList<>(); - List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>() - .eq("state",1) - .eq("shelves",1) - .gt("endTime",new Date())); - if (merchandises.size() > 0){ + + 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"); + 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<Integer> cIds = new ArrayList<>(); + List<PointsMerchandiseStore> storesids = pointsMerchandiseStoreService.list(new QueryWrapper<PointsMerchandiseStore>().eq("storeId", s.getId())); + for (PointsMerchandiseStore storesid : storesids) { + cIds.add(storesid.getPointsMerchandiseId()); + } + + + QueryWrapper<PointsMerchandise> wrapper = new QueryWrapper<PointsMerchandise>() + .eq("state", 1) + .eq("shelves", 1) + .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(); integralCommodity.setCommodityId(merchandise.getId()); @@ -205,54 +336,65 @@ integralCommodity.setCommodityName(merchandise.getName()); integralCommodity.setCommodityPrice(merchandise.getPrice()); integralCommodity.setGoodsType(merchandise.getType()); + 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; -// -// } - - + public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request) { PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo(); - List<PointsMerchandise> list = new ArrayList<>(); + List<PointsMerchandise> list = new ArrayList<>(); String provinceCode = ""; String cityCode = ""; - if (ToolUtil.isEmpty(request.getLon()) && ToolUtil.isEmpty(request.getLat())){ + if (ToolUtil.isEmpty(request.getLon()) && ToolUtil.isEmpty(request.getLat())) { return pointMerchandiseVo; } try { Map<String, String> geocode = gdMapGeocodingUtil.geocode(request.getLon(), request.getLat()); provinceCode = geocode.get("provinceCode"); cityCode = geocode.get("cityCode"); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } list = pmdsService.list(new QueryWrapper<PointsMerchandise>() .eq("state", 1) - .eq("shelves",1).le("startTime",new Date()).ge("endTime",new Date())); - if (list.size() > 0 ){ + .eq("shelves", 1).le("startTime", new Date()).ge("endTime", new Date())); + if (list.size() > 0) { Iterator<PointsMerchandise> iterator = list.iterator(); while (iterator.hasNext()) { PointsMerchandise merchandise = iterator.next(); @@ -266,18 +408,18 @@ } @PostMapping("/base/pointMerchars/getRedeemedNums") - public int getRedeemedQuantity(@RequestBody Integer goodId){ + public int getRedeemedQuantity(@RequestBody Integer goodId) { return upmseService.count(new QueryWrapper<UserPointsMerchandise>() - .eq("pointsMerchandiseId",goodId)); + .eq("pointsMerchandiseId", goodId)); } @PostMapping("/base/pointMerchars/getGoodDetailsWithIdOne") - public ProductDetailsVo getGoodDetailsWithIdOne(@RequestBody Integer id){ + public ProductDetailsVo getGoodDetailsWithIdOne(@RequestBody Integer id) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); ProductDetailsVo detailsVo = new ProductDetailsVo(); PointsMerchandise merchandise = pmdsService.getById(id); detailsVo.setCardType(merchandise.getCardType()); - switch (merchandise.getType()){ + switch (merchandise.getType()) { case 2: // 课包 CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId()); @@ -299,37 +441,37 @@ 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()); - if (merchandise.getRedemptionMethod() == 1){ + if (merchandise.getRedemptionMethod() == 1) { detailsVo.setExchangeType(1); detailsVo.setIntegral(merchandise.getIntegral()); - }else { + } else { detailsVo.setExchangeType(2); detailsVo.setIntegral(merchandise.getIntegral()); detailsVo.setCash(merchandise.getCash()); } detailsVo.setCost(merchandise.getPrice()); - if (merchandise.getUseScope() == 1){ + if (merchandise.getUseScope() == 1) { detailsVo.setExchangeAddrType(1); detailsVo.setBelongs("全国通用"); - }else if (merchandise.getUseScope() == 2){ + } else if (merchandise.getUseScope() == 2) { detailsVo.setExchangeAddrType(2); - detailsVo.setBelongs(merchandise.getProvince()+"|"+merchandise.getCity() + "用户可用"); - }else { + detailsVo.setBelongs(merchandise.getProvince() + "|" + merchandise.getCity() + "用户可用"); + } else { detailsVo.setExchangeAddrType(3); List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() - .eq("pointsMerchandiseId",merchandise.getId() )); + .eq("pointsMerchandiseId", merchandise.getId())); PointsMerchandiseStore pointsMerchandiseStore = list.get(0); StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(pointsMerchandiseStore.getStoreId()); - detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); + detailsVo.setBelongs(courseOfStore.getStoreName() + "可用"); } List<CoursePackagePaymentConfig> courseConfigList = cpcfigClient.getCourseConfigList(coursePackage.getId()); for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { - if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())){ + if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())) { detailsVo.setCourseHours(coursePackagePaymentConfig.getClassHours()); break; } @@ -362,31 +504,31 @@ 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()); detailsVo.setExchangeType(merchandise.getRedemptionMethod()); - if (merchandise.getRedemptionMethod() == 1){ + if (merchandise.getRedemptionMethod() == 1) { detailsVo.setIntegral(merchandise.getIntegral()); - }else { + } else { detailsVo.setIntegral(merchandise.getIntegral()); detailsVo.setCash(merchandise.getCash()); } detailsVo.setCost(merchandise.getPrice()); - if (merchandise.getUseScope() == 1){ + if (merchandise.getUseScope() == 1) { detailsVo.setExchangeAddrType(1); detailsVo.setBelongs("全国通用"); - }else if (merchandise.getUseScope() == 2){ + } else if (merchandise.getUseScope() == 2) { detailsVo.setExchangeAddrType(2); - detailsVo.setBelongs(merchandise.getProvince()+"|"+merchandise.getCity() + "用户可用"); - }else { + detailsVo.setBelongs(merchandise.getProvince() + "|" + merchandise.getCity() + "用户可用"); + } else { detailsVo.setExchangeAddrType(3); List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() - .eq("pointsMerchandiseId",merchandise.getId() )); + .eq("pointsMerchandiseId", merchandise.getId())); PointsMerchandiseStore pointsMerchandiseStore = list.get(0); StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(pointsMerchandiseStore.getStoreId()); - detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); + detailsVo.setBelongs(courseOfStore.getStoreName() + "可用"); } detailsVo.setStartTime(format.format(merchandise.getStartTime())); @@ -401,7 +543,7 @@ detailsVo.setGoodId(coupon.getId()); List<String> list3 = new ArrayList<>(); list3.add(ToolUtil.isEmpty(coupon.getCover()) ? "" : coupon.getCover()); - if (ToolUtil.isNotEmpty(coupon.getProductImages())){ + if (ToolUtil.isNotEmpty(coupon.getProductImages())) { list3.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ","))); } detailsVo.setPics(list3); @@ -417,33 +559,33 @@ 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()); detailsVo.setExchangeType(coupon.getRedemptionMethod()); - if (coupon.getRedemptionMethod() == 1){ + if (coupon.getRedemptionMethod() == 1) { detailsVo.setIntegral(coupon.getIntegral().intValue()); - }else { + } else { detailsVo.setIntegral(coupon.getIntegral().intValue()); detailsVo.setCash(coupon.getCash()); } - if (coupon.getUseScope() == 1){ + if (coupon.getUseScope() == 1) { detailsVo.setExchangeAddrType(1); detailsVo.setBelongs("全国通用"); - }else if (coupon.getUseScope() == 2){ + } 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() + "用户可用"); + if (list.size() > 0) { + detailsVo.setBelongs(list.get(0).getProvince() + "|" + list.get(0).getCity() + "用户可用"); } - }else { + } else { detailsVo.setExchangeAddrType(3); List<CouponStore> list = cstoreService.list(new QueryWrapper<CouponStore>() - .eq("couponId",coupon.getId() )); + .eq("couponId", coupon.getId())); StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(list.get(0).getStoreId()); - detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); + detailsVo.setBelongs(courseOfStore.getStoreName() + "可用"); } detailsVo.setStartTime(format.format(coupon.getStartTime())); detailsVo.setEndTime(format.format(coupon.getEndTime())); @@ -456,22 +598,35 @@ } return detailsVo; } + + + @Autowired + private UserCouponService userCouponService; + @PostMapping("/base/pointMerchars/getGoodDetails") - public ProductDetailsVo getGoodDetailsWithId(@RequestBody ProductDetailRequest detailRequest){ + public ProductDetailsVo getGoodDetailsWithId(@RequestBody ProductDetailRequest detailRequest) { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); ProductDetailsVo detailsVo = new ProductDetailsVo(); PointsMerchandise merchandise = pmdsService.getById(detailRequest.getGoodId()); - detailsVo.setCardType(merchandise.getCardType()); - switch (detailRequest.getGoodsType()){ + + + if (merchandise != null) { + detailsVo.setCardType(merchandise.getCardType()); + } + switch (detailRequest.getGoodsType()) { case 2: // 课包 CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId()); - detailsVo.setGoodId(coursePackage.getId()); - List<String> list1 = new ArrayList<>(); - list1.add(coursePackage.getCoverDrawing()); - list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","))); - detailsVo.setPics(list1); +// 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(), ","))); + + String productImages = merchandise.getProductImages(); + String[] list1 = productImages.split(","); + detailsVo.setPics(Arrays.asList(list1)); Collections.sort(detailsVo.getPics(), (s1, s2) -> { if (s1.equals(coursePackage.getCoverDrawing())) { return -1; // s1排在前面 @@ -484,37 +639,37 @@ 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()); - if (merchandise.getRedemptionMethod() == 1){ + if (merchandise.getRedemptionMethod() == 1) { detailsVo.setExchangeType(1); detailsVo.setIntegral(merchandise.getIntegral()); - }else { + } else { detailsVo.setExchangeType(2); detailsVo.setIntegral(merchandise.getIntegral()); detailsVo.setCash(merchandise.getCash()); } detailsVo.setCost(merchandise.getPrice()); - if (merchandise.getUseScope() == 1){ + if (merchandise.getUseScope() == 1) { detailsVo.setExchangeAddrType(1); detailsVo.setBelongs("全国通用"); - }else if (merchandise.getUseScope() == 2){ + } else if (merchandise.getUseScope() == 2) { detailsVo.setExchangeAddrType(2); - detailsVo.setBelongs(merchandise.getProvince()+"|"+merchandise.getCity() + "用户可用"); - }else { + detailsVo.setBelongs(merchandise.getProvince() + "|" + merchandise.getCity() + "用户可用"); + } else { detailsVo.setExchangeAddrType(3); List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() - .eq("pointsMerchandiseId",merchandise.getId() )); + .eq("pointsMerchandiseId", merchandise.getId())); PointsMerchandiseStore pointsMerchandiseStore = list.get(0); StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(pointsMerchandiseStore.getStoreId()); - detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); + detailsVo.setBelongs(courseOfStore.getStoreName() + "可用"); } List<CoursePackagePaymentConfig> courseConfigList = cpcfigClient.getCourseConfigList(coursePackage.getId()); for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { - if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())){ + if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())) { detailsVo.setCourseHours(coursePackagePaymentConfig.getClassHours()); break; } @@ -547,31 +702,31 @@ 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()); detailsVo.setExchangeType(merchandise.getRedemptionMethod()); - if (merchandise.getRedemptionMethod() == 1){ + if (merchandise.getRedemptionMethod() == 1) { detailsVo.setIntegral(merchandise.getIntegral()); - }else { + } else { detailsVo.setIntegral(merchandise.getIntegral()); detailsVo.setCash(merchandise.getCash()); } detailsVo.setCost(merchandise.getPrice()); - if (merchandise.getUseScope() == 1){ + if (merchandise.getUseScope() == 1) { detailsVo.setExchangeAddrType(1); detailsVo.setBelongs("全国通用"); - }else if (merchandise.getUseScope() == 2){ + } else if (merchandise.getUseScope() == 2) { detailsVo.setExchangeAddrType(2); - detailsVo.setBelongs(merchandise.getProvince()+"|"+merchandise.getCity() + "用户可用"); - }else { + detailsVo.setBelongs(merchandise.getProvince() + "|" + merchandise.getCity() + "用户可用"); + } else { detailsVo.setExchangeAddrType(3); List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() - .eq("pointsMerchandiseId",merchandise.getId() )); + .eq("pointsMerchandiseId", merchandise.getId())); PointsMerchandiseStore pointsMerchandiseStore = list.get(0); StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(pointsMerchandiseStore.getStoreId()); - detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); + detailsVo.setBelongs(courseOfStore.getStoreName() + "可用"); } detailsVo.setStartTime(format.format(merchandise.getStartTime())); @@ -586,7 +741,7 @@ detailsVo.setGoodId(coupon.getId()); List<String> list3 = new ArrayList<>(); list3.add(ToolUtil.isEmpty(coupon.getCover()) ? "" : coupon.getCover()); - if (ToolUtil.isNotEmpty(coupon.getProductImages())){ + if (ToolUtil.isNotEmpty(coupon.getProductImages())) { list3.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ","))); } detailsVo.setPics(list3); @@ -601,34 +756,40 @@ }); 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() )); + + + int couponCounts = userCouponService.count(new QueryWrapper<UserCoupon>().eq("couponId", coupon.getId())); +// detailsVo.setRedeemedNum(coupon.getPickUpQuantity()); + detailsVo.setRedeemedNum(couponCounts); + + detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponCounts, 0)); + detailsVo.setPerLimit(coupon.getPickUpQuantity()); detailsVo.setExchangeType(coupon.getRedemptionMethod()); - if (coupon.getRedemptionMethod() == 1){ + if (coupon.getRedemptionMethod() == 1) { detailsVo.setIntegral(coupon.getIntegral().intValue()); - }else { + } else { detailsVo.setIntegral(coupon.getIntegral().intValue()); detailsVo.setCash(coupon.getCash()); } - if (coupon.getUseScope() == 1){ + if (coupon.getUseScope() == 1) { detailsVo.setExchangeAddrType(1); detailsVo.setBelongs("全国通用"); - }else if (coupon.getUseScope() == 2){ + } 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() + "用户可用"); + if (list.size() > 0) { + detailsVo.setBelongs(list.get(0).getProvince() + "|" + list.get(0).getCity() + "用户可用"); } - }else { + } else { detailsVo.setExchangeAddrType(3); List<CouponStore> list = cstoreService.list(new QueryWrapper<CouponStore>() - .eq("couponId",coupon.getId() )); + .eq("couponId", coupon.getId())); StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(list.get(0).getStoreId()); - detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); + detailsVo.setBelongs(courseOfStore.getStoreName() + "可用"); } detailsVo.setStartTime(format.format(coupon.getStartTime())); detailsVo.setEndTime(format.format(coupon.getEndTime())); @@ -643,102 +804,286 @@ } + @Autowired + private ICouponService couponService; + + @ResponseBody @PostMapping("/base/pointMerchars/getDetailsOfExchange") - public ExchangeDetailsVo getIntegralExchangeDetails(@RequestBody Integer appUserId){ + public ExchangeDetailsVo getIntegralExchangeDetails(@RequestBody Integer appUserId) { ExchangeDetailsVo detailsVo = new ExchangeDetailsVo(); List<ExchangeDetailsResponse> responses = new ArrayList<>(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); List<UserPointsMerchandise> pointsMerchandises = upmseService.list(new QueryWrapper<UserPointsMerchandise>() - .eq("userId",appUserId )); - if (pointsMerchandises.size() > 0 ){ + .eq("userId", appUserId).eq("payStatus", 2)); + + + List<Coupon> list1 = couponService.list(); + List<Integer> ids = new ArrayList<>(); + for (Coupon coupon : list1) { + if (coupon.getDistributionMethod() == 1) { + ids.add(coupon.getId()); + } + } + List<UserCoupon> userCoupons = new ArrayList<>(); + if (ids.size() > 0) { + userCoupons = userCouponService.list(new QueryWrapper<UserCoupon>().eq("userId", appUserId).in("couponId", ids)); + } + if (pointsMerchandises.size() > 0) { for (UserPointsMerchandise pointsMerchandise : pointsMerchandises) { PointsMerchandise merchandise = pmdsService.getById(pointsMerchandise.getPointsMerchandiseId()); + if (merchandise == null) { + continue; + } ExchangeDetailsResponse detailsResponse = new ExchangeDetailsResponse(); detailsResponse.setDetailsId(pointsMerchandise.getId()); detailsResponse.setGoodName(merchandise.getName()); - if (merchandise.getRedemptionMethod() == 1){ + if (merchandise.getRedemptionMethod() == 1) { detailsResponse.setExchangeType(1); detailsResponse.setIntegral(merchandise.getIntegral()); - }else { + } else if (merchandise.getRedemptionMethod() == 2) { detailsResponse.setExchangeType(2); detailsResponse.setIntegral(merchandise.getIntegral()); + detailsResponse.setCash(merchandise.getCash()); + } else if (merchandise.getRedemptionMethod() == 3) { + detailsResponse.setExchangeType(3); detailsResponse.setCash(merchandise.getCash()); } detailsResponse.setStartTime(simpleDateFormat.format(merchandise.getStartTime())); detailsResponse.setEndTime(simpleDateFormat.format(merchandise.getEndTime())); detailsResponse.setUseStatus(pointsMerchandise.getStatus() == 1 ? 2 : 1); detailsResponse.setGoodType(merchandise.getType()); - if(merchandise.getType()==3){ + if (merchandise.getType() == 3) { detailsResponse.setCardType(merchandise.getCardType()); List<Integer> sids = new ArrayList<>(); detailsResponse.setUserId(appUserId); - if(merchandise.getUseScope()==1){ + if (merchandise.getUseScope() == 1) { sids.add(0); detailsResponse.setSid(sids); detailsResponse.setRid(new ArrayList<>()); - }else if(merchandise.getUseScope()==2){ + } else if (merchandise.getUseScope() == 2) { // 指定城市 List<PointsMerchandiseCity> list = pmdsCityService.list(new LambdaQueryWrapper<PointsMerchandiseCity>().eq(PointsMerchandiseCity::getPointsMerchandiseId, merchandise.getId())); List<String> collect = list.stream().map(PointsMerchandiseCity::getCityCode).collect(Collectors.toList()); - if(collect.size()==0){ + if (collect.size() == 0) { collect.add("-1"); } List<Integer> storeIds = stoClient.queryStoreIdByCityCode(collect); detailsResponse.setSid(storeIds); - if(storeIds.size()>0){ + if (storeIds.size() > 0) { // 获取rid - List<Integer> rid= stoClient.querySiteIdById(storeIds); + List<Integer> rid = stoClient.querySiteIdById(storeIds); detailsResponse.setRid(rid); } - }else if(merchandise.getUseScope()==3){ + } 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){ + 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); + } + + } + } + //====================================================== + } + } + + + if (merchandise.getCardType() == 1) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pointsMerchandise.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 1); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); + 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) && + cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH); + + // Print the result + if (isSameDate) { + } else { + System.out.println("The two dates do not have the same date."); + detailsResponse.setUseStatus(3); + + } + + + } else if (merchandise.getCardType() == 2) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pointsMerchandise.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 31); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); + String endDate = dateFormat.format(end); + detailsResponse.setStartTime(startDate); + detailsResponse.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)) { + detailsResponse.setUseStatus(3); + } + + } else if (merchandise.getCardType() == 3) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pointsMerchandise.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 93); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); + String endDate = dateFormat.format(end); + detailsResponse.setStartTime(startDate); + detailsResponse.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)) { + detailsResponse.setUseStatus(3); + } + + } else if (merchandise.getCardType() == 4) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(pointsMerchandise.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 372); + Date end = calendar.getTime(); + String startDate = dateFormat.format(pointsMerchandise.getInsertTime()); + String endDate = dateFormat.format(end); + detailsResponse.setStartTime(startDate); + detailsResponse.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)) { + detailsResponse.setUseStatus(3); } } + + } responses.add(detailsResponse); } detailsVo.setDetailsResponses(responses); } + + if (userCoupons.size() > 0) { + for (UserCoupon userCoupon : userCoupons) { + + Coupon c = couponService.getById(userCoupon.getCouponId()); + if (c == null || c.getRedemptionMethod() == null) { + continue; + } + + ExchangeDetailsResponse detailsResponse = new ExchangeDetailsResponse(); + detailsResponse.setDetailsId(Long.valueOf(c.getId())); + detailsResponse.setGoodName(c.getName()); + if (c.getRedemptionMethod() == 1) { + detailsResponse.setExchangeType(1); + detailsResponse.setIntegral(c.getIntegral().intValue()); + } else { + detailsResponse.setExchangeType(2); + detailsResponse.setIntegral(c.getIntegral().intValue()); + detailsResponse.setCash(c.getCash()); + } + detailsResponse.setStartTime(simpleDateFormat.format(c.getStartTime())); + detailsResponse.setEndTime(simpleDateFormat.format(c.getEndTime())); + detailsResponse.setUseStatus(userCoupon.getStatus() == 1 ? 2 : 1); + detailsResponse.setGoodType(4); + responses.add(detailsResponse); + + + } + Comparator<ExchangeDetailsResponse> comparator = Comparator.comparing(ExchangeDetailsResponse::getStartTime).reversed(); + Collections.sort(responses, comparator); + detailsVo.setDetailsResponses(responses); + + } return detailsVo; } + @Autowired + private PointsMerchandiseStoreService storeService; + @ResponseBody @PostMapping("/base/pointMerchars/getSpecificsOfGoods") - public PointDetailsVo getSpecificsOfGoods(@RequestBody Long speMercharsId){ + public PointDetailsVo getSpecificsOfGoods(@RequestBody Long speMercharsId) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); PointDetailsVo detailsVo = new PointDetailsVo(); UserPointsMerchandise byId = upmseService.getById(speMercharsId); - if (ToolUtil.isNotEmpty(byId)){ + + 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()); + detailsVo.setExchangeAddrType(pmdsServiceById.getUseScope()); detailsVo.setExchangeType(pmdsServiceById.getRedemptionMethod()); detailsVo.setGoodType(pmdsServiceById.getType()); - if (pmdsServiceById.getRedemptionMethod() == 1){ + if (pmdsServiceById.getRedemptionMethod() == 1) { detailsVo.setIntegral(pmdsServiceById.getIntegral()); - }else { + } else { detailsVo.setCash(pmdsServiceById.getCash()); detailsVo.setIntegral(pmdsServiceById.getIntegral()); } detailsVo.setDetailsId(byId.getId()); - switch (pmdsServiceById.getType()){ + switch (pmdsServiceById.getType()) { case 1: case 3: List<String> list10 = Arrays.asList(StrUtils.splitStr2StrArr(pmdsServiceById.getProductImages(), ",")); ArrayList<String> list2 = new ArrayList<>(list10); + + + SimpleDateFormat dateFormat5 = new SimpleDateFormat("yyyy-MM-dd"); + + + for (PointsMerchandiseStore store : stores) { + StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(store.getStoreId()); + detailsVo.setBelongs(courseOfStore.getStoreName()); + } + + String format = dateFormat5.format(byId.getInsertTime()); + detailsVo.setOrderTime(format); + + list2.add(pmdsServiceById.getCover()); detailsVo.setPics(list2); Collections.sort(detailsVo.getPics(), (s1, s2) -> { @@ -750,6 +1095,94 @@ return 0; // 保持原顺序 } }); + + + if (pmdsServiceById.getCardType() == 1) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(byId.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 1); + Date end = calendar.getTime(); + String startDate = dateFormat.format(byId.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(startDate); + + Date now = new Date(); + Calendar cal1 = Calendar.getInstance(); + cal1.setTime(pmdsServiceById.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) && + cal1.get(Calendar.DAY_OF_MONTH) == cal2.get(Calendar.DAY_OF_MONTH); + + // Print the result + if (isSameDate) { + } else { + System.out.println("The two dates do not have the same date."); + detailsVo.setUseType(3); + } + + + } else if (pmdsServiceById.getCardType() == 2) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(byId.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 31); + Date end = calendar.getTime(); + String startDate = dateFormat.format(byId.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)) { + detailsVo.setUseType(3); + } + + } else if (pmdsServiceById.getCardType() == 3) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(byId.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 93); + Date end = calendar.getTime(); + String startDate = dateFormat.format(byId.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)) { + detailsVo.setUseType(3); + } + + } else if (pmdsServiceById.getCardType() == 4) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Calendar calendar = Calendar.getInstance(); + calendar.setTime(byId.getInsertTime()); + calendar.add(Calendar.DAY_OF_MONTH, 372); + Date end = calendar.getTime(); + String startDate = dateFormat.format(byId.getInsertTime()); + String endDate = dateFormat.format(end); + detailsVo.setStartTime(startDate); + detailsVo.setEndTime(endDate); + + Date now = new Date(); + if (now.after(end)) { + detailsVo.setUseType(3); + } + + } + + break; case 2: CoursePackage coursePackage = cpClient.queryCoursePackageById(pmdsServiceById.getCoursePackageId()); @@ -757,8 +1190,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排在前面 @@ -791,71 +1227,144 @@ detailsVo.setGoodName(pmdsServiceById.getName()); // 2.0 - detailsVo.setStartTime(simpleDateFormat.format(byId.getInsertTime())); - detailsVo.setEndTime(simpleDateFormat.format(pmdsServiceById.getEndTime())); - detailsVo.setOrderTime(simpleDateFormat.format(byId.getInsertTime())); - if (byId.getStatus() == 1){ - detailsVo.setUseType(2); - }else { - detailsVo.setUseType(1); - detailsVo.setWriteOffTime(simpleDateFormat.format(byId.getVerificationTime())); - StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getVerifiStoreId()); - detailsVo.setWriteOffName(courseOfStore.getStoreName()); + if (detailsVo.getStartTime() == null) { + detailsVo.setStartTime(simpleDateFormat.format(byId.getInsertTime())); + detailsVo.setEndTime(simpleDateFormat.format(pmdsServiceById.getEndTime())); + detailsVo.setOrderTime(simpleDateFormat.format(byId.getInsertTime())); + } - switch (pmdsServiceById.getUseScope()){ + if (byId.getStatus() == 1) { + detailsVo.setUseType(2); + } else { + detailsVo.setUseType(1); + if (pmdsServiceById.getType() != 2) { + detailsVo.setWriteOffTime(simpleDateFormat.format(byId.getVerificationTime())); + } + if (byId.getStoreId() != null) { + StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getStoreId()); + detailsVo.setWriteOffName(courseOfStore.getStoreName()); + } + } + switch (pmdsServiceById.getUseScope()) { case 1: detailsVo.setBelongs("全国通用"); break; case 2: - detailsVo.setBelongs(pmdsServiceById.getProvince()+pmdsServiceById.getCity()); + detailsVo.setBelongs(pmdsServiceById.getProvince() + pmdsServiceById.getCity()); break; case 3: - StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getStoreId()); - detailsVo.setBelongs(courseOfStore.getStoreName()+" "+courseOfStore.getStoreAddr()); +// StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getStoreId()); +// detailsVo.setBelongs(courseOfStore.getStoreName()+" "+courseOfStore.getStoreAddr()); +// detailsVo.setBelongs("---------------"); break; default: break; } detailsVo.setContents(pmdsServiceById.getRedemptionInstructions()); + } else { + Coupon coupon = iCouponService.getById(speMercharsId); + detailsVo.setDetailsId(Long.valueOf(coupon.getId())); + List<String> list3 = new ArrayList<>(); + list3.add(ToolUtil.isEmpty(coupon.getCover()) ? "" : coupon.getCover()); + if (ToolUtil.isNotEmpty(coupon.getProductImages())) { + list3.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ","))); + } + detailsVo.setPics(list3); + Collections.sort(detailsVo.getPics(), (s1, s2) -> { + if (s1.equals(coupon.getCover())) { + return -1; // s1排在前面 + } else if (s2.equals(coupon.getCover())) { + return 1; // s2排在前面 + } else { + return 0; // 保持原顺序 + } + }); + detailsVo.setGoodName(coupon.getName()); +// detailsVo.setBelongsScope(coupon.getUserPopulation()); +// int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() +// .eq("pointsMerchandiseId",merchandise.getId() )); + + + int couponCounts = userCouponService.count(new QueryWrapper<UserCoupon>().eq("couponId", coupon.getId())); +// detailsVo.setRedeemedNum(coupon.getPickUpQuantity()); +// detailsVo.setRedeemedNum(couponCounts); + +// detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponCounts, 0)); + +// detailsVo.setPerLimit(coupon.getPickUpQuantity()); + detailsVo.setExchangeType(coupon.getRedemptionMethod()); + if (coupon.getRedemptionMethod() == 1) { + detailsVo.setIntegral(coupon.getIntegral().intValue()); + } else { + 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() + "可用"); + } + 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); } return detailsVo; } @PostMapping("/base/pointMerchars/selectPointsMerchandiseById") - public PointsMerchandise selectPointsMerchandiseById(@RequestBody Integer speMercharsId){ + public PointsMerchandise selectPointsMerchandiseById(@RequestBody Integer speMercharsId) { return pmdsService.getById(speMercharsId); } @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase") - public void saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ + public Long saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise) { merchandise.setInsertTime(new Date()); upmseService.save(merchandise); + return merchandise.getId(); } @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase") - public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ + public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise) { + merchandise.setUserId(null); + merchandise.setPointsMerchandiseId(null); upmseService.updateById(merchandise); } + @ResponseBody @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") - public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code){ + public List<UserPointsMerchandise> queryUserPointMerchaseByCode(@RequestBody String code) { return upmseService.list(new QueryWrapper<UserPointsMerchandise>() - .eq("code",code)); + .eq("code", code)); } @PostMapping("/base/pointMerchars/queryStoreIdsOfMerchandise") - public List<Integer> queryPointMerStoreIds(@RequestBody Integer pointMerId){ + public List<Integer> queryPointMerStoreIds(@RequestBody Integer pointMerId) { List<Integer> storeIds = new ArrayList<>(); List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() - .eq("pointsMerchandiseId",pointMerId)); - if (list.size() > 0){ + .eq("pointsMerchandiseId", pointMerId)); + if (list.size() > 0) { storeIds = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); } - if(storeIds.size()==0){ + if (storeIds.size() == 0) { storeIds.add(-1); } return storeIds; @@ -863,23 +1372,27 @@ /** * 获取用户已兑换商品的数量 + * * @param goodResp * @return 数量 */ @ResponseBody @PostMapping("/base/pointMerchars/queryUserHasGoodsNums") - public int queryUserHasGoodsNums(@RequestBody AppUserGoodResp goodResp){ + 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::getUserId, goodResp.getAppUserId()) + .eq(UserPointsMerchandise::getPointsMerchandiseId, goodResp.getGoodId()) + .eq(UserPointsMerchandise::getPayStatus, 2).eq(UserPointsMerchandise::getState, 1)); System.out.println(count); return count; } + @ResponseBody @PostMapping("/base/pointMerchars/queryUserHasGoodsNums1") - public int queryUserHasGoodsNums1(@RequestBody AppUserGoodResp goodResp){ + 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; } @@ -887,15 +1400,16 @@ /** * 变更兑换商品的的状态 + * * @param code * @return 数量 */ @ResponseBody @PostMapping("/base/pointMerchars/deletePaymentRecord") - public void deletePaymentRecord(@RequestBody String code){ + public void deletePaymentRecord(@RequestBody String code) { List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getCode,code)); - if (list.size() > 0 ){ + .eq(UserPointsMerchandise::getCode, code)); + if (list.size() > 0) { for (UserPointsMerchandise pointsMerchandise : list) { pointsMerchandise.setState(2); upmseService.updateById(pointsMerchandise); @@ -904,9 +1418,17 @@ } + //拿到积分商品现金的消费记录 + @ResponseBody + @PostMapping("/base/pointMerchars/getConsumeDetails") + public List<ConsumeDetail> getConsumeDetails(@RequestBody BillingDataRequestVo requestVo) { + return upmseService.getConsumeDetails(requestVo); - public int dealTimeStatus(String startTime, String endTime){ + } + + + public int dealTimeStatus(String startTime, String endTime) { LocalDate now = LocalDate.now(); LocalDate start = LocalDate.parse(startTime); LocalDate end = LocalDate.parse(endTime); @@ -920,15 +1442,14 @@ } /** - * * @param mapLists - * @param timeType 1=未开始 2=已开始 3=已结束 + * @param timeType 1=未开始 2=已开始 3=已结束 * @return */ - public List<Map<String, Object>> dealTimeData(List<Map<String, Object>> mapLists,Integer timeType){ + public List<Map<String, Object>> dealTimeData(List<Map<String, Object>> mapLists, Integer timeType) { Date currentDate = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); - switch (timeType){ + switch (timeType) { case 1: return mapLists.stream() .filter(event -> { @@ -967,10 +1488,10 @@ @PostMapping("/base/pointMerchars/queryPointMerchaseDetailOfId") - public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId){ + public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId) { PointMercharsVo vo = new PointMercharsVo(); PointsMerchandise byId = pmdsService.getById(pointMercharsId); - if (ToolUtil.isNotEmpty(byId)){ + if (ToolUtil.isNotEmpty(byId)) { vo.setName(byId.getName()); vo.setCover(byId.getCover()); vo.setPics(byId.getProductImages()); @@ -986,7 +1507,7 @@ @PostMapping("/base/pointMerchars/updateGoodsGroudingStatus") - boolean updateGoodsGroudingStatus(@RequestBody Map<String,Integer> map){ + boolean updateGoodsGroudingStatus(@RequestBody Map<String, Integer> map) { Integer id = map.get("id"); Integer type = map.get("type"); System.out.println(id); @@ -996,7 +1517,7 @@ byId.setShelves(type); pmdsService.updateById(byId); return true; - }catch (Exception e){ + } catch (Exception e) { return false; } } @@ -1004,21 +1525,21 @@ @ResponseBody @PostMapping("/base/pointMerchars/queryUserPayedGoodsList") - public List<Map<String, Object>> queryUserPayedGoodsList(@RequestBody PointMercharsPayedVo pointMercharsPayedVo){ + public List<Map<String, Object>> queryUserPayedGoodsList(@RequestBody PointMercharsPayedVo pointMercharsPayedVo) { System.out.println(pointMercharsPayedVo); - List<Map<String, Object>> mapList = new ArrayList<>(); + List<Map<String, Object>> mapList = new ArrayList<>(); LambdaQueryWrapper<UserPointsMerchandise> userPointsMerchandiseLambdaQueryWrapper = new LambdaQueryWrapper<>(); - userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getPointsMerchandiseId,pointMercharsPayedVo.getId()); - if (ToolUtil.isNotEmpty(pointMercharsPayedVo.getStatus())){ - userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getStatus,pointMercharsPayedVo.getStatus()); + userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getPointsMerchandiseId, pointMercharsPayedVo.getId()); + if (ToolUtil.isNotEmpty(pointMercharsPayedVo.getStatus())) { + userPointsMerchandiseLambdaQueryWrapper.eq(UserPointsMerchandise::getStatus, pointMercharsPayedVo.getStatus()); } List<UserPointsMerchandise> list = upmseService.list(userPointsMerchandiseLambdaQueryWrapper); System.out.println(list); - if (list.size() > 0 ){ + if (list.size() > 0) { for (UserPointsMerchandise pointsMerchandise : list) { Map<String, Object> map = new HashMap<>(); - map.put("id",pointsMerchandise.getId()); - map.put("userId",pointsMerchandise.getUserId()); + map.put("id", pointsMerchandise.getId()); + map.put("userId", pointsMerchandise.getUserId()); map.put("status", pointsMerchandise.getStatus()); mapList.add(map); } @@ -1028,12 +1549,21 @@ } @PostMapping("/base/pointMerchars/queryPointMerchaseById") - public PointsMerchandise queryPointMerchaseById(@RequestBody Integer id){ - return pmdsService.getById(id); + public PointsMerchandise queryPointMerchaseById(@RequestBody Integer id) { + PointsMerchandise byId = pmdsService.getById(id); + int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() + .eq(UserPointsMerchandise::getPointsMerchandiseId, byId.getId()) + .eq(UserPointsMerchandise::getStatus, 2)); + int count2 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() + .eq(UserPointsMerchandise::getPointsMerchandiseId, byId.getId()) + ); + byId.setPickUpQuantity3(count2); + byId.setPickUpQuantity4(count1); + return byId; } @PostMapping("/base/pointMerchars/getshopName") - public Integer getshopName(@RequestBody Integer id){ + 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(); @@ -1042,18 +1572,18 @@ @PostMapping("/base/pointMerchars/queryDetailsOfGoods") - public GoodsInfoOneVo queryDetailsOfGoods(@RequestBody Integer id){ + public GoodsInfoOneVo queryDetailsOfGoods(@RequestBody Integer id) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); GoodsInfoOneVo infoOneVo = new GoodsInfoOneVo(); PointsMerchandise byId = pmdsService.getById(id); - if (ToolUtil.isNotEmpty(byId)){ + if (ToolUtil.isNotEmpty(byId)) { infoOneVo.setName(byId.getName()); infoOneVo.setCover(byId.getCover()); infoOneVo.setPics(byId.getProductImages()); infoOneVo.setPrice(byId.getPrice()); infoOneVo.setExchangeMethod(byId.getRedemptionMethod()); - switch (byId.getRedemptionMethod()){ + switch (byId.getRedemptionMethod()) { case 1: infoOneVo.setIntegral(byId.getIntegral()); break; @@ -1067,7 +1597,7 @@ default: break; } - switch (byId.getUserPopulation()){ + switch (byId.getUserPopulation()) { case 1: infoOneVo.setUserPopulation("全部用户"); break; @@ -1082,9 +1612,9 @@ } infoOneVo.setQuantityIssued(byId.getQuantityIssued()); List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getPointsMerchandiseId,byId.getId())); + .eq(UserPointsMerchandise::getPointsMerchandiseId, byId.getId())); infoOneVo.setUseScope(byId.getUseScope()); - switch (byId.getUseScope()){ + switch (byId.getUseScope()) { case 1: infoOneVo.setExchangeArea("全国通用"); break; @@ -1099,7 +1629,7 @@ } infoOneVo.setHasPicked(list.size()); infoOneVo.setPickUpQuantity(byId.getPickUpQuantity()); - infoOneVo.setValidTime(simpleDateFormat.format(byId.getStartTime())+"至"+ simpleDateFormat.format(byId.getEndTime())); + infoOneVo.setValidTime(simpleDateFormat.format(byId.getStartTime()) + "至" + simpleDateFormat.format(byId.getEndTime())); infoOneVo.setRedemptionInstructions(byId.getRedemptionInstructions()); infoOneVo.setSort(byId.getSort()); } @@ -1109,11 +1639,11 @@ @ResponseBody @PostMapping("/base/pointMerchars/getProvinces") - public List<StoreVos> getProvinces(@RequestBody Integer id){ + 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 ){ + .eq(PointsMerchandiseCity::getPointsMerchandiseId, id)); + if (list.size() > 0) { for (PointsMerchandiseCity pointsMerchandiseCity : list) { StoreVos storeVos1 = new StoreVos(); storeVos1.setNum1(pointsMerchandiseCity.getProvince()); @@ -1127,20 +1657,20 @@ @ResponseBody @PostMapping("/base/pointMerchars/getStoreList") - public List<StoreVos> getStoreList(@RequestBody Integer id){ + public List<StoreVos> getStoreList(@RequestBody Integer id) { List<StoreVos> storeVos = new ArrayList<>(); List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() - .eq("pointsMerchandiseId",id)); - if (list.size() > 0 ){ + .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 ){ + if (stores.size() > 0) { for (Store store : stores) { StoreVos storeVos1 = new StoreVos(); - storeVos1.setNum1(store.getProvince() +"省"+ store.getCity() +"市"); - if(store.getOperatorId()==0){ + storeVos1.setNum1(store.getProvince() + "省" + store.getCity() + "市"); + if (store.getOperatorId() == 0) { storeVos1.setNum2("平台"); - }else { + } else { storeVos1.setNum2(store.getOName()); } @@ -1154,14 +1684,13 @@ } - @ResponseBody @PostMapping("/base/pointMerchars/updateGoodsDetail") - public boolean updateGoodsDetail(@RequestBody Map<String, Object> map){ + public boolean updateGoodsDetail(@RequestBody Map<String, Object> map) { try { Integer pointMerchandiseId = (Integer) map.get("pointMerchandiseId"); PointsMerchandise byId1 = pmdsService.getById(pointMerchandiseId); - if(Integer.valueOf(map.get("type").toString())!=1){ + if (Integer.valueOf(map.get("type").toString()) != 1) { byId1.setStatus(2); } Integer quantityIssued = (Integer) map.get("quantityIssued"); @@ -1174,65 +1703,64 @@ byId1.setQuantityIssued(quantityIssued); byId1.setPickUpQuantity(pickUpQuantity); byId1.setRedemptionInstructions(redemptionInstructions); - if (ToolUtil.isNotEmpty(cover)){ + if (ToolUtil.isNotEmpty(cover)) { byId1.setCover(cover); } - if (ToolUtil.isNotEmpty(productImages)){ + if (ToolUtil.isNotEmpty(productImages)) { byId1.setProductImages(productImages); } byId1.setSort(sort); pmdsService.updateById(byId1); return true; - }catch (Exception e){ + } catch (Exception e) { return false; } } @PostMapping("/base/pointMerchars/add") - public Integer add(@RequestBody PointsMerchandise pointsMerchandise){ + public Integer add(@RequestBody PointsMerchandise pointsMerchandise) { Integer storeId = pointsMerchandise.getShelves(); - pointsMerchandise.setShelves(2); + pointsMerchandise.setShelves(1); + pointsMerchandise.setInsertTime(new Date()); boolean save = pmdsService.save(pointsMerchandise); - if(save && ToolUtil.isNotEmpty(storeId) && pointsMerchandise.getType()==2){ + if (save && ToolUtil.isNotEmpty(storeId) && pointsMerchandise.getType() == 2) { PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore(); pointsMerchandiseStore.setPointsMerchandiseId(pointsMerchandise.getId()); pointsMerchandiseStore.setStoreId(storeId); - save = pmdstoService.save(pointsMerchandiseStore); + save = pmdstoService.save(pointsMerchandiseStore); } - if(save && pointsMerchandise.getType()==2 && ToolUtil.isNotEmpty(pointsMerchandise.getProvinceCode())){ - pmdsService.saveCity(pointsMerchandise.getId(),pointsMerchandise.getProvince(),pointsMerchandise.getProvinceCode(),pointsMerchandise.getCity(),pointsMerchandise.getCityCode()); + if (save && pointsMerchandise.getType() == 2 && ToolUtil.isNotEmpty(pointsMerchandise.getProvinceCode())) { + pmdsService.saveCity(pointsMerchandise.getId(), pointsMerchandise.getProvince(), pointsMerchandise.getProvinceCode(), pointsMerchandise.getCity(), pointsMerchandise.getCityCode()); } - if(save){ + if (save) { return pointsMerchandise.getId(); } return null; } - - @PostMapping("/base/pointMerchars/addOther") - public Boolean addOther(@RequestBody String pam){ - Boolean save =false; + public Boolean addOther(@RequestBody String pam) { + Boolean save = false; String[] split = pam.split("_"); for (String s : split[1].split(",")) { PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore(); pointsMerchandiseStore.setPointsMerchandiseId(Integer.valueOf(split[0])); pointsMerchandiseStore.setStoreId(Integer.valueOf(s)); - save = pmdstoService.save(pointsMerchandiseStore); + save = pmdstoService.save(pointsMerchandiseStore); } return save; } @PostMapping("/base/pointMerchars/addCitys") - public Boolean addCitys(@RequestBody ArrayList<Map<String, String>> objects){ + public Boolean addCitys(@RequestBody ArrayList<Map<String, String>> objects) { try { for (Map<String, String> object : objects) { - pmdsService.saveCity(Integer.valueOf(object.get("id")),object.get("pName"),object.get("pCode"),object.get("cName"),object.get("cCode")); + pmdsService.saveCity(Integer.valueOf(object.get("id")), object.get("pName"), object.get("pCode"), object.get("cName"), object.get("cCode")); } return true; - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); return false; } @@ -1241,122 +1769,123 @@ @ResponseBody @PostMapping("/base/pointMerchars/writeOffGoodsStatus") - public boolean writeOffGoodsStatus(@RequestBody Map<String, Object> map){ + 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){ + .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())); + 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){ + } catch (Exception e) { return false; } } - @ResponseBody @PostMapping("/base/pointMerchars/getIntegralGoodsListOfSearchAudit") - public List<Map<String,Object>> getIntegralGoodsListOfSearchAudit(@RequestBody IntegralGoodsOfSearch ofSearch){ + 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){ + 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); + 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); + .eq(UserPointsMerchandise::getStatus, 2)); + stringObjectMap.put("hasExchangeQty", count1); + stringObjectMap.put("hasPickQty", count2); - stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime)); + stringObjectMap.put("activeStatus", dealTimeStatus(startTime, endTime)); } - if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){ - mapList = dealTimeData(mapList,ofSearch.getActiveStatus()); + if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())) { + mapList = dealTimeData(mapList, ofSearch.getActiveStatus()); } } - System.out.println("mapList->"+mapList); + System.out.println("mapList->" + mapList); return mapList; } @PostMapping("/base/pointMerchars/updateType") @ResponseBody - public Object updateType(@RequestBody String s){ + 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){ + if (Integer.valueOf(split[1]) == 3) { byId.setRemark(split[2]); } - return pmdsService.updateById(byId); + return pmdsService.updateById(byId); } @PostMapping("/base/pointMerchars/queryFee") @ResponseBody - public HashMap<String, Object> queryFee(@RequestBody QueryDataFee queryDataFee){ + public HashMap<String, Object> queryFee(@RequestBody QueryDataFee queryDataFee) { HashMap<String, Object> map = new HashMap<>(); String data = queryDataFee.getData(); List<Integer> ids = queryDataFee.getIds(); - if(ids.size()==0){ + 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<>(); - if(ToolUtil.isNotEmpty(data)){ - String stime = data.split(" - ")[0]+" 00:00:00"; - String etime = data.split(" - ")[1]+" 23:59:59"; - vipPaymentLambdaQueryWrapper.between(UserPointsMerchandise::getInsertTime,stime,etime); + if (ToolUtil.isNotEmpty(data)) { + String stime = data.split(" - ")[0] + " 00:00:00"; + String etime = data.split(" - ")[1] + " 23:59:59"; + vipPaymentLambdaQueryWrapper.between(UserPointsMerchandise::getInsertTime, stime, etime); } - vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getUserId,ids); + vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getUserId, ids); List<Integer> collect = list1.stream().map(PointsMerchandise::getId).collect(Collectors.toList()); - if(collect.size()==0){ + if (collect.size() == 0) { collect.add(-1); } - vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getPointsMerchandiseId,collect); - vipPaymentLambdaQueryWrapper.eq(UserPointsMerchandise::getPayStatus,2); + vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getPointsMerchandiseId, collect); + vipPaymentLambdaQueryWrapper.eq(UserPointsMerchandise::getPayStatus, 2); ArrayList<Integer> objects = new ArrayList<>(); List<UserPointsMerchandise> list = upmseService.list(vipPaymentLambdaQueryWrapper); - double a =0; - double d =0; - double m =0; - double j =0; - double y =0; + double a = 0; + double d = 0; + double m = 0; + double j = 0; + double y = 0; for (UserPointsMerchandise userPointsMerchandise : list) { for (PointsMerchandise pointsMerchandise : list1) { - if(pointsMerchandise.getId()==userPointsMerchandise.getPointsMerchandiseId()){ + if (pointsMerchandise.getId() == userPointsMerchandise.getPointsMerchandiseId()) { a += pointsMerchandise.getCash().doubleValue(); } - if(pointsMerchandise.getType()==3){ - if(pointsMerchandise.getCardType()==1){ + if (pointsMerchandise.getType() == 3) { + if (pointsMerchandise.getCardType() == 1) { d += pointsMerchandise.getCash().doubleValue(); } - if(pointsMerchandise.getCardType()==2){ + if (pointsMerchandise.getCardType() == 2) { m += pointsMerchandise.getCash().doubleValue(); } - if(pointsMerchandise.getCardType()==3){ + if (pointsMerchandise.getCardType() == 3) { j += pointsMerchandise.getCash().doubleValue(); } - if(pointsMerchandise.getCardType()==4){ + if (pointsMerchandise.getCardType() == 4) { y += pointsMerchandise.getCash().doubleValue(); } } @@ -1364,11 +1893,11 @@ } - map.put("all",a); - map.put("day",d); - map.put("month",m); - map.put("quarter",j); - map.put("year",y); + map.put("all", a); + map.put("day", d); + map.put("month", m); + map.put("quarter", j); + map.put("year", y); return map; -- Gitblit v1.7.1