From f0f6bd6f7499d1fa737f705091337befb98f5112 Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期四, 28 九月 2023 18:33:31 +0800 Subject: [PATCH] 后台 --- cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 298 ++++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 262 insertions(+), 36 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 faff332..ebb83f8 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 @@ -10,9 +10,12 @@ 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.PointMerchandiseVo; 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; @@ -70,6 +73,10 @@ @Resource private CouponCityService ccityService; + + + @Resource + private PointsMerchandiseCityService pmdsCityService; @ResponseBody @@ -142,6 +149,7 @@ 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: // 课包 @@ -360,12 +368,15 @@ @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){ @@ -378,7 +389,8 @@ switch (pmdsServiceById.getType()){ case 1: case 3: - List<String> list2 = Arrays.asList(StrUtils.splitStr2StrArr(pmdsServiceById.getProductImages(), ",")); + List<String> list10 = Arrays.asList(StrUtils.splitStr2StrArr(pmdsServiceById.getProductImages(), ",")); + ArrayList<String> list2 = new ArrayList<>(list10); list2.add(pmdsServiceById.getCover()); detailsVo.setPics(list2); Collections.sort(detailsVo.getPics(), (s1, s2) -> { @@ -393,7 +405,8 @@ break; case 2: CoursePackage coursePackage = cpClient.queryCoursePackageById(pmdsServiceById.getCoursePackageId()); - List<String> list1 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")); + List<String> list11 = Arrays.asList(StrUtils.splitStr2StrArr(coursePackage.getDetailDrawing(), ",")); + ArrayList<String> list1 = new ArrayList<>(list11); list1.add(coursePackage.getCoverDrawing()); detailsVo.setPics(list1); CoursePackagePaymentConfig coursePackagePaymentConfig = cpClient.queryConfigCoursePackData(pmdsServiceById.getCoursePackageConfigId()); @@ -410,7 +423,8 @@ break; case 4: Coupon coupon = iCouponService.getById(pmdsServiceById.getId()); - List<String> list3 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")); + List<String> list13 = Arrays.asList(StrUtils.splitStr2StrArr(coupon.getProductImages(), ",")); + ArrayList<String> list3 = new ArrayList<>(list13); list3.add(coupon.getCover()); detailsVo.setPics(list3); Collections.sort(detailsVo.getPics(), (s1, s2) -> { @@ -428,7 +442,8 @@ } 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){ @@ -474,10 +489,7 @@ @PostMapping("/base/pointMerchars/updateDetailsUserPointMercase") public void updateDetailsUserPointMercase(@RequestBody UserPointsMerchandise merchandise){ - upmseService.update(merchandise,new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getUserId,merchandise.getUserId()) - .eq(UserPointsMerchandise::getId,merchandise.getId())); - + upmseService.updateById(merchandise); } @PostMapping("/base/pointMerchars/queryUserPointMerchaseByCode") @@ -494,6 +506,9 @@ .eq("pointsMerchandiseId",pointMerId)); if (list.size() > 0){ storeIds = list.stream().map(PointsMerchandiseStore::getStoreId).collect(Collectors.toList()); + } + if(storeIds.size()==0){ + storeIds.add(-1); } return storeIds; } @@ -527,9 +542,7 @@ if (list.size() > 0 ){ for (UserPointsMerchandise pointsMerchandise : list) { pointsMerchandise.setState(2); - upmseService.update(pointsMerchandise,new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getUserId,pointsMerchandise.getUserId()) - .eq(UserPointsMerchandise::getId,pointsMerchandise.getId())); + upmseService.updateById(pointsMerchandise); } } @@ -629,13 +642,10 @@ public PointMercharsVo queryPointMerchaseDetailOfId(@RequestBody Integer pointMercharsId){ PointMercharsVo vo = new PointMercharsVo(); PointsMerchandise byId = pmdsService.getById(pointMercharsId); - List<UserPointsMerchandise> list = upmseService.list(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getPointsMerchandiseId, pointMercharsId)); if (ToolUtil.isNotEmpty(byId)){ vo.setName(byId.getName()); vo.setCover(byId.getCover()); vo.setPics(byId.getProductImages()); - vo.setQuantityHas(list.size()); vo.setQuantityIssued(byId.getQuantityIssued()); vo.setPickUpQuantity(byId.getPickUpQuantity()); vo.setSort(byId.getSort()); @@ -677,7 +687,7 @@ if (list.size() > 0 ){ for (UserPointsMerchandise pointsMerchandise : list) { Map<String, Object> map = new HashMap<>(); - map.put("id",pointsMerchandise.getId().toString()); + map.put("id",pointsMerchandise.getId()); map.put("userId",pointsMerchandise.getUserId()); map.put("status", pointsMerchandise.getStatus()); mapList.add(map); @@ -687,28 +697,123 @@ return mapList; } - @ResponseBody - @PostMapping("/base/pointMerchars/writeOffGoodsStatus") - public boolean writeOffGoodsStatus(@RequestBody Map<String, Object> map){ - try { - String o = (String) map.get("goodsId"); - Integer managerId = (Integer) map.get("managerId"); - UserPointsMerchandise byId = upmseService.getOne(new LambdaQueryWrapper<UserPointsMerchandise>() - .eq(UserPointsMerchandise::getId,Long.parseLong(o) )); - if (byId.getStatus() == 2){ - return false; + @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; } - 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; + 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; } @@ -744,4 +849,125 @@ } } + + + @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); + + } + } -- Gitblit v1.7.1