| | |
| | | package com.dsh.activity.controller; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.dsh.activity.entity.*; |
| | | import com.dsh.activity.feignclient.course.CoursePackageClient; |
| | |
| | | import com.dsh.activity.feignclient.course.model.CoursePackagePaymentConfig; |
| | | import com.dsh.activity.feignclient.model.*; |
| | | 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.model.request.CommodityRequest; |
| | | import com.dsh.activity.model.CoachChangeStateVO; |
| | | import com.dsh.activity.model.PointMerchandiseIncomeVo; |
| | | import com.dsh.activity.model.PointMerchandiseVo; |
| | | import com.dsh.activity.model.WriteOffDTO; |
| | | import com.dsh.activity.model.QueryDataFee; |
| | | import com.dsh.activity.model.request.*; |
| | | 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 org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.xml.crypto.Data; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | @Autowired |
| | | private TokenUtil tokenUtil; |
| | | |
| | | @Resource |
| | | private CouponCityService ccityService; |
| | | |
| | | |
| | | @Resource |
| | | private PointsMerchandiseCityService pmdsCityService; |
| | | |
| | | @Autowired |
| | | private UserPointsMerchandiseService userPointsMerchandiseService; |
| | | |
| | | /** |
| | | * 门票上下架 state=1 上架 state=2 下架 |
| | | */ |
| | | @RequestMapping("/base/pointMerchars/changeState") |
| | | public Object changeState(@RequestBody CoachChangeStateVO dto){ |
| | | return pmdsService.changeState(dto); |
| | | } |
| | | /** |
| | | * 门票核销 |
| | | */ |
| | | @RequestMapping("/base/pointMerchars/writeOff") |
| | | public Object writeOff(@RequestBody WriteOffDTO dto){ |
| | | UserPointsMerchandise byId = userPointsMerchandiseService.getById(dto.getId()); |
| | | byId.setStoreId(dto.getVerifiStoreId()); |
| | | byId.setStatus(2); |
| | | byId.setVerificationTime(new Date()); |
| | | byId.setUserId(null); |
| | | byId.setVerificationUserId(dto.getVerificationUserId()); |
| | | return userPointsMerchandiseService.updateById(byId); |
| | | } |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/ticketList") |
| | | public List<Map<String,Object>> ticketList(@RequestBody IntegralGoodsOfSearch ofSearch){ |
| | | List<Map<String, Object>> result = pmdsService.ticketList(ofSearch); |
| | | 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); |
| | | int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId, o)); |
| | | int count2 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId, o) |
| | | .eq(UserPointsMerchandise::getStatus,2)); |
| | | stringObjectMap.put("hasExchangeQty",count1); |
| | | stringObjectMap.put("hasPickQty",count2); |
| | | |
| | | stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime)); |
| | | } |
| | | if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){ |
| | | result = dealTimeData(result,ofSearch.getActiveStatus()); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/queryGoodsListSearch") |
| | | 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){ |
| | | for (Map<String, Object> stringObjectMap : mapList) { |
| | | Integer o = (Integer) stringObjectMap.get("id"); |
| | | String startTime = (String) stringObjectMap.get("startTime"); |
| | | String endTime = (String) stringObjectMap.get("endTime"); |
| | | stringObjectMap.put("timeValue",startTime + "至"+endTime); |
| | | int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId, o)); |
| | | int count2 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId, o) |
| | | .eq(UserPointsMerchandise::getStatus,2)); |
| | | stringObjectMap.put("hasExchangeQty",count1); |
| | | stringObjectMap.put("hasPickQty",count2); |
| | | |
| | | stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime)); |
| | | } |
| | | if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){ |
| | | mapList = dealTimeData(mapList,ofSearch.getActiveStatus()); |
| | | } |
| | | } |
| | | System.out.println("mapList->"+mapList); |
| | | return mapList; |
| | | } |
| | | /** |
| | | * 获取积分商票消费金额 |
| | | */ |
| | | @ResponseBody |
| | | @RequestMapping("/base/pointMerchars/getAmount") |
| | | public List<PointMerchandiseIncomeVo> getAmount(){ |
| | | return userPointsMerchandiseService.getAmount(); |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/convertGoods") |
| | | public List<IntegralCommodity> getConvertibleGoods(){ |
| | | List<IntegralCommodity> commodity = new ArrayList<>(); |
| | | List<PointsMerchandise> merchandises = pmdsService.list(new QueryWrapper<PointsMerchandise>() |
| | | .eq("state",1) |
| | | .lt("endTime",new Date())); |
| | | .eq("shelves",1) |
| | | .gt("endTime",new Date())); |
| | | if (merchandises.size() > 0){ |
| | | for (PointsMerchandise merchandise : merchandises) { |
| | | IntegralCommodity integralCommodity = new IntegralCommodity(); |
| | | integralCommodity.setCommodityId(merchandise.getId()); |
| | | integralCommodity.setCommodityImg(merchandise.getProductImages()); |
| | | integralCommodity.setCommodityImg(merchandise.getCover()); |
| | | integralCommodity.setCommodityName(merchandise.getName()); |
| | | integralCommodity.setCommodityPrice(merchandise.getPrice()); |
| | | integralCommodity.setGoodsType(merchandise.getType()); |
| | | commodity.add(integralCommodity); |
| | | } |
| | | } |
| | | System.out.println(commodity); |
| | | return commodity; |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/getCommoditys") |
| | | public List<PointsMerchandise> getVicinityGoods(@RequestBody CommodityRequest request){ |
| | | public PointMerchandiseVo getVicinityGoods(@RequestBody CommodityRequest request){ |
| | | PointMerchandiseVo pointMerchandiseVo = new PointMerchandiseVo(); |
| | | List<PointsMerchandise> list = new ArrayList<>(); |
| | | String provinceCode = ""; |
| | | String cityCode = ""; |
| | | 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"); |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | List<PointsMerchandise> list = pmdsService.list(new QueryWrapper<PointsMerchandise>() |
| | | .eq("state", 1)); |
| | | list = pmdsService.list(new QueryWrapper<PointsMerchandise>() |
| | | .eq("state", 1) |
| | | .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(); |
| | | if (merchandise.getUseScope() == 2 && (!Objects.equals(merchandise.getCityCode(), cityCode) && !Objects.equals(merchandise.getProvinceCode(), provinceCode))) { |
| | | if (merchandise.getUseScope() == 2 && (!cityCode.equals(merchandise.getCityCode()) || !provinceCode.equals(merchandise.getProvinceCode()))) { |
| | | iterator.remove(); // 移除符合条件的商品 |
| | | } |
| | | } |
| | | pointMerchandiseVo.setMerchandises(list); |
| | | } |
| | | return list; |
| | | return pointMerchandiseVo; |
| | | } |
| | | |
| | | @PostMapping("/base/pointMerchars/getRedeemedNums") |
| | |
| | | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
| | | ProductDetailsVo detailsVo = new ProductDetailsVo(); |
| | | PointsMerchandise merchandise = pmdsService.getById(detailRequest.getGoodId()); |
| | | detailsVo.setCardType(merchandise.getCardType()); |
| | | switch (detailRequest.getGoodsType()){ |
| | | case 2: |
| | | // 课包 |
| | | CoursePackage coursePackage = cpClient.queryCoursePackageById(merchandise.getCoursePackageId()); |
| | | |
| | | detailsVo.setGoodId(coursePackage.getId()); |
| | | List<String> list1 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")); |
| | | List<String> list1 = new ArrayList<>(); |
| | | list1.add(coursePackage.getCoverDrawing()); |
| | | list1.addAll(Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ","))); |
| | | detailsVo.setPics(list1); |
| | | Collections.sort(detailsVo.getPics(), (s1, s2) -> { |
| | | if (s1.equals(coursePackage.getCoverDrawing())) { |
| | |
| | | int coursePackageNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() |
| | | .eq("pointsMerchandiseId",merchandise.getId() )); |
| | | detailsVo.setRedeemedNum(coursePackageNums); |
| | | detailsVo.setResidueNum(merchandise.getQuantityIssued() - coursePackageNums); |
| | | detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - coursePackageNums, 0)); |
| | | detailsVo.setPerLimit(merchandise.getPickUpQuantity()); |
| | | if (merchandise.getRedemptionMethod() == 1){ |
| | | detailsVo.setExchangeType(1); |
| | | detailsVo.setRequiredType(merchandise.getIntegral() + "积分"); |
| | | detailsVo.setIntegral(merchandise.getIntegral()); |
| | | }else { |
| | | detailsVo.setExchangeType(2); |
| | | detailsVo.setRequiredType(merchandise.getIntegral() + "积分+¥"+merchandise.getCash()); |
| | | detailsVo.setIntegral(merchandise.getIntegral()); |
| | | detailsVo.setCash(merchandise.getCash()); |
| | | } |
| | | detailsVo.setCost(merchandise.getPrice()); |
| | | if (merchandise.getUseScope() == 1){ |
| | |
| | | detailsVo.setBelongs(courseOfStore.getStoreName()+"可用"); |
| | | } |
| | | List<CoursePackagePaymentConfig> courseConfigList = cpcfigClient.getCourseConfigList(coursePackage.getId()); |
| | | int redul = 0; |
| | | |
| | | for (CoursePackagePaymentConfig coursePackagePaymentConfig : courseConfigList) { |
| | | redul = redul + coursePackagePaymentConfig.getClassHours(); |
| | | if (Objects.equals(coursePackagePaymentConfig.getId(), merchandise.getCoursePackageConfigId())){ |
| | | detailsVo.setCourseHours(coursePackagePaymentConfig.getClassHours()); |
| | | break; |
| | | } |
| | | } |
| | | detailsVo.setCourseHours(redul); |
| | | detailsVo.setStartTime(format.format(merchandise.getStartTime())); |
| | | detailsVo.setEndTime(format.format(merchandise.getEndTime())); |
| | | |
| | |
| | | case 3: |
| | | |
| | | detailsVo.setGoodId(merchandise.getId()); |
| | | List<String> list2 = Arrays.asList(StrUtils.splitStr2StrArr(merchandise.getProductImages(), ",")); |
| | | list2.add(merchandise.getCover()); |
| | | List<String> list2 = new ArrayList<>(); |
| | | String cover = merchandise.getCover(); |
| | | list2.addAll(Arrays.asList(StrUtils.splitStr2StrArr(merchandise.getProductImages(), ","))); |
| | | detailsVo.setPics(list2); |
| | | Collections.sort(detailsVo.getPics(), (s1, s2) -> { |
| | | if (s1.equals(merchandise.getCover())) { |
| | |
| | | int count = upmseService.count(new QueryWrapper<UserPointsMerchandise>() |
| | | .eq("pointsMerchandiseId",merchandise.getId() )); |
| | | detailsVo.setRedeemedNum(count); |
| | | detailsVo.setResidueNum(merchandise.getQuantityIssued()-count); |
| | | detailsVo.setResidueNum(Math.max(merchandise.getQuantityIssued() - count, 0)); |
| | | detailsVo.setPerLimit(merchandise.getPickUpQuantity()); |
| | | detailsVo.setExchangeType(merchandise.getRedemptionMethod()); |
| | | if (merchandise.getRedemptionMethod() == 1){ |
| | | detailsVo.setRequiredType(merchandise.getIntegral() + "积分"); |
| | | detailsVo.setIntegral(merchandise.getIntegral()); |
| | | }else { |
| | | detailsVo.setRequiredType(merchandise.getIntegral() + "积分+¥"+merchandise.getCash()); |
| | | detailsVo.setIntegral(merchandise.getIntegral()); |
| | | detailsVo.setCash(merchandise.getCash()); |
| | | } |
| | | detailsVo.setCost(merchandise.getPrice()); |
| | | if (merchandise.getUseScope() == 1){ |
| | | detailsVo.setExchangeAddrType(1); |
| | | detailsVo.setBelongs("全国通用"); |
| | | }else if (merchandise.getUseScope() == 2){ |
| | | detailsVo.setExchangeAddrType(2); |
| | | detailsVo.setBelongs(merchandise.getProvince()+"|"+merchandise.getCity() + "用户可用"); |
| | | }else { |
| | | detailsVo.setExchangeAddrType(3); |
| | | List<PointsMerchandiseStore> list = pmdstoService.list(new QueryWrapper<PointsMerchandiseStore>() |
| | | .eq("pointsMerchandiseId",merchandise.getId() )); |
| | | PointsMerchandiseStore pointsMerchandiseStore = list.get(0); |
| | |
| | | // 优惠券 |
| | | Coupon coupon = iCouponService.getById(detailRequest.getGoodId()); |
| | | detailsVo.setGoodId(coupon.getId()); |
| | | List<String> list3 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")); |
| | | list3.add(coupon.getCover()); |
| | | 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())) { |
| | |
| | | }); |
| | | detailsVo.setGoodName(coupon.getName()); |
| | | detailsVo.setBelongsScope(coupon.getUserPopulation()); |
| | | int couponNums = uconService.count(new QueryWrapper<UserCoupon>() |
| | | .eq("couponId",coupon.getId() )); |
| | | int couponNums = upmseService.count(new QueryWrapper<UserPointsMerchandise>() |
| | | .eq("pointsMerchandiseId",merchandise.getId() )); |
| | | detailsVo.setRedeemedNum(couponNums); |
| | | detailsVo.setResidueNum(coupon.getQuantityIssued()-couponNums); |
| | | detailsVo.setResidueNum(Math.max(coupon.getQuantityIssued() - couponNums, 0)); |
| | | detailsVo.setPerLimit(coupon.getPickUpQuantity()); |
| | | if (merchandise.getRedemptionMethod() == 1){ |
| | | detailsVo.setRequiredType(merchandise.getIntegral() + "积分"); |
| | | detailsVo.setExchangeType(coupon.getRedemptionMethod()); |
| | | if (coupon.getRedemptionMethod() == 1){ |
| | | detailsVo.setIntegral(coupon.getIntegral().intValue()); |
| | | }else { |
| | | detailsVo.setRequiredType(merchandise.getIntegral() + "积分+¥"+merchandise.getCash()); |
| | | detailsVo.setIntegral(coupon.getIntegral().intValue()); |
| | | detailsVo.setCash(coupon.getCash()); |
| | | } |
| | | if (coupon.getUseScope() == 1){ |
| | | detailsVo.setExchangeAddrType(1); |
| | | detailsVo.setBelongs("全国通用"); |
| | | }else if (coupon.getUseScope() == 2){ |
| | | detailsVo.setBelongs(coupon.getProvince()+"|"+coupon.getCity() + "用户可用"); |
| | | 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()+"可用"); |
| | | } |
| | | detailsVo.setStartTime(format.format(merchandise.getStartTime())); |
| | | detailsVo.setEndTime(format.format(merchandise.getEndTime())); |
| | | detailsVo.setStartTime(format.format(coupon.getStartTime())); |
| | | detailsVo.setEndTime(format.format(coupon.getEndTime())); |
| | | |
| | | detailsVo.setContents(coupon.getIllustrate()); |
| | | detailsVo.setGoodType(4); |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/getDetailsOfExchange") |
| | | public List<ExchangeDetailsResponse> 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>() |
| | |
| | | detailsResponse.setDetailsId(pointsMerchandise.getId()); |
| | | detailsResponse.setGoodName(merchandise.getName()); |
| | | if (merchandise.getRedemptionMethod() == 1){ |
| | | detailsResponse.setRequiredType(merchandise.getIntegral()+"积分"); |
| | | detailsResponse.setExchangeType(1); |
| | | detailsResponse.setIntegral(merchandise.getIntegral()); |
| | | }else { |
| | | detailsResponse.setRequiredType(merchandise.getIntegral()+"积分 ¥"+merchandise.getCash()); |
| | | detailsResponse.setExchangeType(2); |
| | | detailsResponse.setIntegral(merchandise.getIntegral()); |
| | | detailsResponse.setCash(merchandise.getCash()); |
| | | } |
| | | detailsResponse.setStartTime(simpleDateFormat.format(merchandise.getStartTime())); |
| | | detailsResponse.setEndTime(simpleDateFormat.format(merchandise.getEndTime())); |
| | | detailsResponse.setUseStatus(pointsMerchandise.getStatus()); |
| | | detailsResponse.setUseStatus(pointsMerchandise.getStatus() == 1 ? 2 : 1); |
| | | detailsResponse.setGoodType(merchandise.getType()); |
| | | responses.add(detailsResponse); |
| | | } |
| | | detailsVo.setDetailsResponses(responses); |
| | | } |
| | | return responses; |
| | | return detailsVo; |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/getSpecificsOfGoods") |
| | | public PointDetailsVo getSpecificsOfGoods(@RequestBody Integer speMercharsId){ |
| | | public PointDetailsVo getSpecificsOfGoods(@RequestBody Long speMercharsId){ |
| | | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); |
| | | PointDetailsVo detailsVo = new PointDetailsVo(); |
| | | UserPointsMerchandise byId = upmseService.getById(speMercharsId); |
| | | |
| | | if (ToolUtil.isNotEmpty(byId)){ |
| | | PointsMerchandise pmdsServiceById = pmdsService.getById(byId.getPointsMerchandiseId()); |
| | | // 2.0 |
| | | detailsVo.setCardType(pmdsServiceById.getCardType()); |
| | | detailsVo.setExchangeType(pmdsServiceById.getRedemptionMethod()); |
| | | detailsVo.setGoodType(pmdsServiceById.getType()); |
| | | if (pmdsServiceById.getRedemptionMethod() == 1){ |
| | | detailsVo.setIntegral(pmdsServiceById.getIntegral()); |
| | | }else { |
| | | detailsVo.setCash(pmdsServiceById.getCash()); |
| | | detailsVo.setIntegral(pmdsServiceById.getIntegral()); |
| | | } |
| | | detailsVo.setDetailsId(byId.getId()); |
| | | switch (pmdsServiceById.getType()){ |
| | | case 1: |
| | | case 3: |
| | | List<String> list2 = Arrays.asList(StrUtils.splitStr2StrArr(pmdsServiceById.getProductImages(), ",")); |
| | | List<String> list10 = Arrays.asList(StrUtils.splitStr2StrArr(pmdsServiceById.getProductImages(), ",")); |
| | | ArrayList<String> list2 = new ArrayList<>(list10); |
| | | list2.add(pmdsServiceById.getCover()); |
| | | detailsVo.setPics(list2); |
| | | Collections.sort(detailsVo.getPics(), (s1, s2) -> { |
| | |
| | | break; |
| | | case 2: |
| | | CoursePackage coursePackage = cpClient.queryCoursePackageById(pmdsServiceById.getCoursePackageId()); |
| | | List<String> list1 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")); |
| | | List<String> list11 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")); |
| | | ArrayList<String> list1 = new ArrayList<>(list11); |
| | | list1.add(coursePackage.getCoverDrawing()); |
| | | detailsVo.setPics(list1); |
| | | CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId()); |
| | | detailsVo.setClassHours(coursePackagePaymentConfig.getClassHours()); |
| | | Collections.sort(detailsVo.getPics(), (s1, s2) -> { |
| | | if (s1.equals(coursePackage.getCoverDrawing())) { |
| | | return -1; // s1排在前面 |
| | |
| | | break; |
| | | case 4: |
| | | Coupon coupon = iCouponService.getById(pmdsServiceById.getId()); |
| | | List<String> list3 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")); |
| | | List<String> list13 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")); |
| | | ArrayList<String> list3 = new ArrayList<>(list13); |
| | | list3.add(coupon.getCover()); |
| | | detailsVo.setPics(list3); |
| | | Collections.sort(detailsVo.getPics(), (s1, s2) -> { |
| | |
| | | } |
| | | |
| | | detailsVo.setGoodName(pmdsServiceById.getName()); |
| | | detailsVo.setStartTime(simpleDateFormat.format(pmdsServiceById.getStartTime())); |
| | | // 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.setBelongs(pmdsServiceById.getProvince()+pmdsServiceById.getCity()); |
| | | break; |
| | | case 3: |
| | | PointsMerchandiseStore one = pmdstoService.getOne(new QueryWrapper<PointsMerchandiseStore>() |
| | | .eq("pointsMerchandiseId",pmdsServiceById.getId() )); |
| | | StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(one.getStoreId()); |
| | | StoreDetailOfCourse courseOfStore = stoClient.getCourseOfStore(byId.getStoreId()); |
| | | detailsVo.setBelongs(courseOfStore.getStoreName()+" "+courseOfStore.getStoreAddr()); |
| | | break; |
| | | default: |
| | |
| | | |
| | | @PostMapping("/base/pointMerchars/saveDetailsUserPointMercase") |
| | | public void saveDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ |
| | | merchandise.setInsertTime(new Date()); |
| | | upmseService.save(merchandise); |
| | | } |
| | | |
| | |
| | | if (list.size() > 0){ |
| | | storeIds = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); |
| | | } |
| | | if(storeIds.size()==0){ |
| | | storeIds.add(-1); |
| | | } |
| | | return storeIds; |
| | | } |
| | | |
| | | /** |
| | | * 获取用户已兑换商品的数量 |
| | | * @param goodResp |
| | | * @return 数量 |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/queryUserHasGoodsNums") |
| | | public int queryUserHasGoodsNums(@RequestBody AppUserGoodResp goodResp){ |
| | | int count = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getUserId,goodResp.getGoodId()) |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId,goodResp.getGoodId())); |
| | | System.out.println(count); |
| | | return count; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 变更兑换商品的的状态 |
| | | * @param code |
| | | * @return 数量 |
| | | */ |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/deletePaymentRecord") |
| | | public void deletePaymentRecord(@RequestBody String code){ |
| | | List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getCode,code)); |
| | | if (list.size() > 0 ){ |
| | | for (UserPointsMerchandise pointsMerchandise : list) { |
| | | pointsMerchandise.setState(2); |
| | | upmseService.updateById(pointsMerchandise); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | public int dealTimeStatus(String startTime, String endTime){ |
| | | LocalDate now = LocalDate.now(); |
| | | LocalDate start = LocalDate.parse(startTime); |
| | | LocalDate end = LocalDate.parse(endTime); |
| | | if (now.isBefore(start)) { |
| | | return 1; // 未开始 |
| | | } else if (now.isAfter(end)) { |
| | | return 3; // 已结束 |
| | | } else { |
| | | return 2; // 已开始 |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param mapLists |
| | | * @param timeType 1=未开始 2=已开始 3=已结束 |
| | | * @return |
| | | */ |
| | | 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){ |
| | | case 1: |
| | | return mapLists.stream() |
| | | .filter(event -> { |
| | | try { |
| | | return simpleDateFormat.parse((String) event.get("startTime")).after(currentDate); |
| | | } catch (ParseException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | case 2: |
| | | return mapLists.stream() |
| | | .filter(event -> { |
| | | try { |
| | | return simpleDateFormat.parse((String) event.get("startTime")).before(currentDate) && simpleDateFormat.parse((String) event.get("endTime")).after(currentDate); |
| | | } catch (ParseException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | case 3: |
| | | return mapLists.stream() |
| | | .filter(event -> { |
| | | try { |
| | | return simpleDateFormat.parse((String) event.get("endTime")).before(currentDate); |
| | | } catch (ParseException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | default: |
| | | break; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/queryPointMerchaseDetailOfId") |
| | | public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId){ |
| | | PointMercharsVo vo = new PointMercharsVo(); |
| | | PointsMerchandise byId = pmdsService.getById(pointMercharsId); |
| | | if (ToolUtil.isNotEmpty(byId)){ |
| | | vo.setName(byId.getName()); |
| | | vo.setCover(byId.getCover()); |
| | | vo.setPics(byId.getProductImages()); |
| | | vo.setQuantityIssued(byId.getQuantityIssued()); |
| | | vo.setPickUpQuantity(byId.getPickUpQuantity()); |
| | | vo.setSort(byId.getSort()); |
| | | vo.setContent(byId.getRedemptionInstructions()); |
| | | } |
| | | return vo; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/updateGoodsGroudingStatus") |
| | | boolean updateGoodsGroudingStatus(@RequestBody Map<String,Integer> map){ |
| | | Integer id = map.get("id"); |
| | | Integer type = map.get("type"); |
| | | System.out.println(id); |
| | | System.out.println(type); |
| | | try { |
| | | PointsMerchandise byId = pmdsService.getById(id); |
| | | byId.setShelves(type); |
| | | pmdsService.updateById(byId); |
| | | return true; |
| | | }catch (Exception e){ |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/queryUserPayedGoodsList") |
| | | public List<Map<String, Object>> queryUserPayedGoodsList(@RequestBody PointMercharsPayedVo pointMercharsPayedVo){ |
| | | System.out.println(pointMercharsPayedVo); |
| | | 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()); |
| | | } |
| | | List<UserPointsMerchandise> list = upmseService.list(userPointsMerchandiseLambdaQueryWrapper); |
| | | System.out.println(list); |
| | | 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("status", pointsMerchandise.getStatus()); |
| | | mapList.add(map); |
| | | } |
| | | } |
| | | System.out.println(mapList); |
| | | return mapList; |
| | | } |
| | | |
| | | @PostMapping("/base/pointMerchars/queryPointMerchaseById") |
| | | public PointsMerchandise queryPointMerchaseById(@RequestBody Integer id){ |
| | | return pmdsService.getById(id); |
| | | } |
| | | |
| | | @PostMapping("/base/pointMerchars/getshopName") |
| | | public Integer getshopName(@RequestBody Integer id){ |
| | | List<PointsMerchandiseStore> list = pmdstoService.list(new LambdaQueryWrapper<PointsMerchandiseStore>().eq(PointsMerchandiseStore::getPointsMerchandiseId, id)); |
| | | PointsMerchandiseStore pointsMerchandiseStore = list.get(0); |
| | | Integer storeId = pointsMerchandiseStore.getStoreId(); |
| | | return storeId; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/queryDetailsOfGoods") |
| | | 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)){ |
| | | infoOneVo.setName(byId.getName()); |
| | | infoOneVo.setCover(byId.getCover()); |
| | | infoOneVo.setPics(byId.getProductImages()); |
| | | infoOneVo.setPrice(byId.getPrice()); |
| | | infoOneVo.setExchangeMethod(byId.getRedemptionMethod()); |
| | | switch (byId.getRedemptionMethod()){ |
| | | case 1: |
| | | infoOneVo.setIntegral(byId.getIntegral()); |
| | | break; |
| | | case 2: |
| | | infoOneVo.setIntegral(byId.getIntegral()); |
| | | infoOneVo.setCash(byId.getCash()); |
| | | break; |
| | | case 3: |
| | | infoOneVo.setCash(byId.getCash()); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | switch (byId.getUserPopulation()){ |
| | | case 1: |
| | | infoOneVo.setUserPopulation("全部用户"); |
| | | break; |
| | | case 2: |
| | | infoOneVo.setUserPopulation("年度会员"); |
| | | break; |
| | | case 3: |
| | | infoOneVo.setUserPopulation("已有学员用户"); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | infoOneVo.setQuantityIssued(byId.getQuantityIssued()); |
| | | List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId,byId.getId())); |
| | | infoOneVo.setUseScope(byId.getUseScope()); |
| | | switch (byId.getUseScope()){ |
| | | case 1: |
| | | infoOneVo.setExchangeArea("全国通用"); |
| | | break; |
| | | case 2: |
| | | infoOneVo.setExchangeArea("指定城市"); |
| | | break; |
| | | case 3: |
| | | infoOneVo.setExchangeArea("指定门店"); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | infoOneVo.setHasPicked(list.size()); |
| | | infoOneVo.setPickUpQuantity(byId.getPickUpQuantity()); |
| | | infoOneVo.setValidTime(simpleDateFormat.format(byId.getStartTime())+"至"+ simpleDateFormat.format(byId.getEndTime())); |
| | | infoOneVo.setRedemptionInstructions(byId.getRedemptionInstructions()); |
| | | infoOneVo.setSort(byId.getSort()); |
| | | } |
| | | return infoOneVo; |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/getProvinces") |
| | | public List<StoreVos> getProvinces(@RequestBody Integer id){ |
| | | List<StoreVos> storeVos = new ArrayList<>(); |
| | | List<PointsMerchandiseCity> list = pmdsCityService.list(new LambdaQueryWrapper<PointsMerchandiseCity>() |
| | | .eq(PointsMerchandiseCity::getPointsMerchandiseId,id)); |
| | | if (list.size() > 0 ){ |
| | | for (PointsMerchandiseCity pointsMerchandiseCity : list) { |
| | | StoreVos storeVos1 = new StoreVos(); |
| | | storeVos1.setNum1(pointsMerchandiseCity.getProvince()); |
| | | storeVos1.setNum2(pointsMerchandiseCity.getCity()); |
| | | storeVos.add(storeVos1); |
| | | } |
| | | } |
| | | return storeVos; |
| | | } |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/getStoreList") |
| | | 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 ){ |
| | | List<Integer> collect = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); |
| | | List<Store> stores = stoClient.queryStoreByIds(collect); |
| | | if (stores.size() > 0 ){ |
| | | for (Store store : stores) { |
| | | StoreVos storeVos1 = new StoreVos(); |
| | | storeVos1.setNum1(store.getProvince() +"省"+ store.getCity() +"市"); |
| | | storeVos1.setNum2(store.getName()); |
| | | storeVos.add(storeVos1); |
| | | } |
| | | } |
| | | } |
| | | return storeVos; |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/updateGoodsDetail") |
| | | public boolean updateGoodsDetail(@RequestBody Map<String, Object> map){ |
| | | try { |
| | | Integer pointMerchandiseId = (Integer) map.get("pointMerchandiseId"); |
| | | PointsMerchandise byId1 = pmdsService.getById(pointMerchandiseId); |
| | | |
| | | Integer quantityIssued = (Integer) map.get("quantityIssued"); |
| | | Integer pickUpQuantity = (Integer) map.get("pickUpQuantity"); |
| | | String redemptionInstructions = (String) map.get("redemptionInstructions"); |
| | | String cover = (String) map.get("cover"); |
| | | String productImages = (String) map.get("productImages"); |
| | | Integer sort = (Integer) map.get("sort"); |
| | | |
| | | byId1.setQuantityIssued(quantityIssued); |
| | | byId1.setPickUpQuantity(pickUpQuantity); |
| | | byId1.setRedemptionInstructions(redemptionInstructions); |
| | | if (ToolUtil.isNotEmpty(cover)){ |
| | | byId1.setCover(cover); |
| | | } |
| | | if (ToolUtil.isNotEmpty(productImages)){ |
| | | byId1.setProductImages(productImages); |
| | | } |
| | | byId1.setSort(sort); |
| | | pmdsService.updateById(byId1); |
| | | return true; |
| | | }catch (Exception e){ |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/add") |
| | | public Integer add(@RequestBody PointsMerchandise pointsMerchandise){ |
| | | Integer storeId = pointsMerchandise.getShelves(); |
| | | pointsMerchandise.setShelves(2); |
| | | boolean save = pmdsService.save(pointsMerchandise); |
| | | if(save && ToolUtil.isNotEmpty(storeId) && pointsMerchandise.getType()==2){ |
| | | PointsMerchandiseStore pointsMerchandiseStore = new PointsMerchandiseStore(); |
| | | pointsMerchandiseStore.setPointsMerchandiseId(pointsMerchandise.getId()); |
| | | pointsMerchandiseStore.setStoreId(storeId); |
| | | 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){ |
| | | return pointsMerchandise.getId(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/addOther") |
| | | 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); |
| | | } |
| | | return save; |
| | | } |
| | | |
| | | @PostMapping("/base/pointMerchars/addCitys") |
| | | 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")); |
| | | } |
| | | return true; |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | return false; |
| | | } |
| | | |
| | | } |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/writeOffGoodsStatus") |
| | | public boolean writeOffGoodsStatus(@RequestBody Map<String, Object> map){ |
| | | try { |
| | | String o = (String) map.get("goodsId"); |
| | | Integer managerId = (Integer) map.get("managerId"); |
| | | UserPointsMerchandise byId = upmseService.getOne(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getId,Long.parseLong(o) )); |
| | | if (byId.getStatus() == 2){ |
| | | return false; |
| | | } |
| | | byId.setStatus(2); |
| | | byId.setVerificationUserId(managerId); |
| | | byId.setVerificationTime(new Date()); |
| | | upmseService.update(byId,new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getUserId,byId.getUserId()) |
| | | .eq(UserPointsMerchandise::getId,byId.getId())); |
| | | System.out.println(byId); |
| | | return true; |
| | | }catch (Exception e){ |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | @ResponseBody |
| | | @PostMapping("/base/pointMerchars/getIntegralGoodsListOfSearchAudit") |
| | | public List<Map<String,Object>> getIntegralGoodsListOfSearchAudit(@RequestBody IntegralGoodsOfSearch ofSearch){ |
| | | System.out.println(ofSearch); |
| | | List<Map<String, Object>> mapList = pmdsService.queryGoodsListOfSearchAudit(ofSearch); |
| | | if (mapList.size() > 0){ |
| | | for (Map<String, Object> stringObjectMap : mapList) { |
| | | Integer o = (Integer) stringObjectMap.get("id"); |
| | | String startTime = (String) stringObjectMap.get("startTime"); |
| | | String endTime = (String) stringObjectMap.get("endTime"); |
| | | stringObjectMap.put("timeValue",startTime + "至"+endTime); |
| | | int count1 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId, o)); |
| | | int count2 = upmseService.count(new LambdaQueryWrapper<UserPointsMerchandise>() |
| | | .eq(UserPointsMerchandise::getPointsMerchandiseId, o) |
| | | .eq(UserPointsMerchandise::getStatus,2)); |
| | | stringObjectMap.put("hasExchangeQty",count1); |
| | | stringObjectMap.put("hasPickQty",count2); |
| | | |
| | | stringObjectMap.put("activeStatus",dealTimeStatus(startTime,endTime)); |
| | | } |
| | | if (ToolUtil.isNotEmpty(ofSearch.getActiveStatus())){ |
| | | mapList = dealTimeData(mapList,ofSearch.getActiveStatus()); |
| | | } |
| | | } |
| | | System.out.println("mapList->"+mapList); |
| | | return mapList; |
| | | } |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/updateType") |
| | | @ResponseBody |
| | | public Object updateType(@RequestBody String s){ |
| | | String[] split = s.split("_"); |
| | | PointsMerchandise byId = pmdsService.getById(split[0]); |
| | | byId.setStatus(Integer.valueOf(split[1])); |
| | | if(Integer.valueOf(split[1])==3){ |
| | | |
| | | byId.setRemark(split[2]); |
| | | } |
| | | return pmdsService.updateById(byId); |
| | | |
| | | } |
| | | |
| | | |
| | | @PostMapping("/base/pointMerchars/queryFee") |
| | | @ResponseBody |
| | | 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){ |
| | | ids.add(-1); |
| | | } |
| | | 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); |
| | | } |
| | | vipPaymentLambdaQueryWrapper.in(UserPointsMerchandise::getUserId,ids); |
| | | List<Integer> collect = list1.stream().map(PointsMerchandise::getId).collect(Collectors.toList()); |
| | | if(collect.size()==0){ |
| | | collect.add(-1); |
| | | } |
| | | 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; |
| | | for (UserPointsMerchandise userPointsMerchandise : list) { |
| | | for (PointsMerchandise pointsMerchandise : list1) { |
| | | if(pointsMerchandise.getId()==userPointsMerchandise.getPointsMerchandiseId()){ |
| | | a += pointsMerchandise.getCash().doubleValue(); |
| | | } |
| | | if(pointsMerchandise.getType()==3){ |
| | | if(pointsMerchandise.getCardType()==1){ |
| | | d += pointsMerchandise.getCash().doubleValue(); |
| | | } |
| | | if(pointsMerchandise.getCardType()==2){ |
| | | m += pointsMerchandise.getCash().doubleValue(); |
| | | } |
| | | if(pointsMerchandise.getCardType()==3){ |
| | | j += pointsMerchandise.getCash().doubleValue(); |
| | | } |
| | | if(pointsMerchandise.getCardType()==4){ |
| | | y += pointsMerchandise.getCash().doubleValue(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | map.put("all",a); |
| | | map.put("day",d); |
| | | map.put("month",m); |
| | | map.put("quarter",j); |
| | | map.put("year",y); |
| | | return map; |
| | | |
| | | |
| | | } |
| | | |
| | | } |