From eb6b6dbb35a9f029e0b7d269773685c19fd40976 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 11 七月 2024 10:47:51 +0800 Subject: [PATCH] 玩湃微信商户认证代码 --- cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java | 314 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 275 insertions(+), 39 deletions(-) diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java index fe56759..d632d4f 100644 --- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java +++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java @@ -1,33 +1,41 @@ package com.dsh.guns.modular.system.controller.code; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.dsh.course.feignClient.account.AppUserClient; import com.dsh.course.feignClient.account.CityManagerClient; import com.dsh.course.feignClient.account.model.CityManager; +import com.dsh.course.feignClient.account.model.QueryByNamePhone; +import com.dsh.course.feignClient.account.model.TAppUser; import com.dsh.course.feignClient.activity.CouponClient; +import com.dsh.course.feignClient.activity.model.Coupon; +import com.dsh.course.feignClient.activity.model.CouponCity; import com.dsh.course.feignClient.activity.model.CouponListOfSearch; +import com.dsh.course.feignClient.activity.model.CouponRecordQuery; import com.dsh.guns.config.UserExt; +import com.dsh.guns.core.base.tips.SuccessTip; import com.dsh.guns.core.common.constant.factory.PageFactory; import com.dsh.guns.core.util.ToolUtil; -import com.dsh.guns.modular.system.model.Region; -import com.dsh.guns.modular.system.service.IRegionService; -import com.dsh.guns.modular.system.service.IStoreService; +import com.dsh.guns.modular.system.model.*; +import com.dsh.guns.modular.system.service.*; import com.dsh.guns.modular.system.util.OBSUploadUtil; +import com.dsh.guns.modular.system.util.OssUploadUtil; +import com.dsh.guns.modular.system.util.ResultUtil; import org.apache.commons.beanutils.ConvertUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.stream.Collectors; /** @@ -38,10 +46,7 @@ @RequestMapping("/tCouponManage") public class TCouponController { - - private String PREFIX = "/system/tCoupon/"; - @Resource private IRegionService regiService; @@ -55,13 +60,21 @@ @Resource private CityManagerClient cmgrClient; - + @Autowired + private AppUserClient appUserClient; + @Autowired + private IUserService userService; + @Autowired + private TOperatorService operatorService; + @Autowired + private TOperatorCityService operatorCityService; /** * 跳转到优惠券管理首页 */ @RequestMapping("") public String index(Model model) { + model.addAttribute("objectType",UserExt.getUser().getObjectType()); return PREFIX + "TCoupon.html"; } @@ -76,6 +89,85 @@ return PREFIX + "TCouponAdd.html"; } + @RequestMapping("/coupon_record/{id}") + public String memberCouponAdd(@PathVariable Integer id,Model model) { + Coupon coupon = client.queryCouponById(id); + + model.addAttribute("id",id); + model.addAttribute("type",coupon.getType()); + return PREFIX + "TCouponRecord.html"; + } + + @RequestMapping("/coupon_detail/{id}") + public String memberCouponDetail(@PathVariable Integer id,Model model) { + Coupon coupon = client.queryCouponById(id); + String content = coupon.getContent(); + JSONObject jsonObject = JSONObject.parseObject(content); + String one =""; + String two =""; + String three =""; + if(coupon.getType()==1){ + one = jsonObject.get("conditionalAmount").toString(); + two = jsonObject.get("deductionAmount").toString(); + } + if(coupon.getType()==2){ + one = jsonObject.get("conditionalAmount").toString(); + } + if(coupon.getType()==3){ + three = jsonObject.get("experienceName").toString(); + } + List<CouponCity> list = new ArrayList<>(); + List<Integer> list1=null; + List<TStore> list2=new ArrayList<>(); + if(coupon.getUseScope()==2){ + list = client.queryCity(coupon.getId()); + } + if(coupon.getUseScope()==3){ + // 门店ids + list1 = client.queryStore(coupon.getId()); + // 门店集合 + list2 = storeService.list(new LambdaQueryWrapper<TStore>().in(TStore::getId, list1)); + for (TStore tStore : list2) { + if (coupon.getPublisherType() == 1){ + // 获取运营商id + Integer operatorId = tStore.getOperatorId(); + TOperator operator = operatorService.getById(operatorId); + User user = userService.getById(operator.getUserId()); + if (ToolUtil.isNotEmpty(user)){ + tStore.setProvince(tStore.getProvince()+tStore.getCity()); + tStore.setPhone(user.getName()+"-"+user.getPhone()); + } + } + if (coupon.getPublisherType() == 2) { + User byId = userService.getById(tStore.getStoreStaffId()); + + tStore.setProvince(tStore.getProvince() + tStore.getCity()); + tStore.setPhone(byId.getName() + "-" + byId.getPhone()); + + } + } + } + model.addAttribute("city",list); + model.addAttribute("store",list2); + model.addAttribute("s",new SimpleDateFormat("yyyy-MM-dd").format(coupon.getStartTime())); + model.addAttribute("e",new SimpleDateFormat("yyyy-MM-dd").format(coupon.getEndTime())); + model.addAttribute("one",one); + model.addAttribute("two",two); + model.addAttribute("three",three); + ArrayList<String> strings = new ArrayList<>(); + String productImages = coupon.getProductImages(); + for (String s : productImages.split(",")) { + strings.add(s); + } + + model.addAttribute("img",strings); + Integer objectType = UserExt.getUser().getObjectType(); + System.out.println(objectType); + model.addAttribute("item",coupon); + model.addAttribute("objectType",objectType); + return PREFIX + "TCouponInfo.html"; + } + /** @@ -85,36 +177,44 @@ public String storePage(Model model) { return PREFIX + "TStoreList.html"; } + @RequestMapping("/updateType") + @ResponseBody + public Object updateType(Long id) { + client.updateType(id); + return new SuccessTip<>(); + } @RequestMapping("/storeDetailsOfSearch") @ResponseBody - public Object listOfStore(Integer provinceId,Integer cityId,Integer cityManagerId,String storeName){ - System.out.println("provinceId"+provinceId); - System.out.println("cityId"+cityId); - System.out.println("cityManagerId"+cityManagerId); - System.out.println("storeName"+storeName); - String provinceCode = null; - String cityCode = null; - if (ToolUtil.isNotEmpty(provinceId)){ - Region provinceRegion = regiService.getById(provinceId); - provinceCode = provinceRegion.getCode(); - } - if (ToolUtil.isNotEmpty(cityId)){ - Region cityRegion = regiService.getById(cityId); - cityCode = cityRegion.getCode(); + public Object listOfStore(String provinceId,String cityId,Integer operatorId,String storeName){ + if (UserExt.getUser().getObjectType()== 2){ + // 筛选这个运营商下的门店 + operatorId = UserExt.getUser().getObjectId(); } Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - List<Map<String,Object>> storeList = storeService.queryListOfpage(provinceCode,cityCode,cityManagerId,storeName,page); + List<Map<String,Object>> storeList = storeService.queryListOfpage(provinceId,cityId,operatorId,storeName,page); if (storeList.size() > 0 ){ for (Map<String, Object> stringObjectMap : storeList) { String provinceName = (String) stringObjectMap.get("province"); String cityName = (String) stringObjectMap.get("city"); stringObjectMap.put("provinceCity",provinceName+cityName); - Integer managerId = (Integer) stringObjectMap.get("cityManagerId"); - CityManager cityManager = cmgrClient.queryCityManagerById(managerId); - if (ToolUtil.isNotEmpty(cityManager)){ - stringObjectMap.put("accountName",cityManager.getName()+"+"+cityManager.getPhone()); + Integer managerId = (Integer) stringObjectMap.get("operatorId"); + if (managerId == null){ + stringObjectMap.put("accountName","平台"); + }else{ + if (managerId==0){ + stringObjectMap.put("accountName","平台"); + }else{ + TOperator operator = operatorService.getOne(new QueryWrapper<TOperator>().eq("id", managerId)); + if (ToolUtil.isNotEmpty(operator)){ + stringObjectMap.put("accountName",operator.getName()); + }else{ + stringObjectMap.put("accountName","平台"); + } + } } + + } } return storeList; @@ -135,7 +235,80 @@ ofSearch.setUserPopulation(userPopulation); ofSearch.setStatus(status); ofSearch.setState(state); - return client.getCouponListOfSearch(ofSearch); + if (UserExt.getUser().getObjectType()==2) { + // 门店ids + List<Integer> storeIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", UserExt.getUser().getObjectId())) + .stream().map(TStore::getId).collect(Collectors.toList()); + ofSearch.setStoreIds(storeIds); + ofSearch.setObjType(UserExt.getUser().getObjectType()); + ofSearch.setOperatorId(UserExt.getUser().getObjectId()); + // 查询当前门店属于哪个运营商 + List<TOperatorCity> operatorId = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("operatorId", UserExt.getUser().getObjectId())); + ofSearch.setOperatorCities(operatorId); + } + if (UserExt.getUser().getObjectType()==3) { + ofSearch.setStoreId(UserExt.getUser().getObjectId()); + ofSearch.setObjType(UserExt.getUser().getObjectType()); + } + // 运营商可以查看平台添加的优惠券应只展示使用范围为全国通用、 + // 指定城市有运营商管辖的、指定门店有运营商旗下门店 + List<Map<String, Object>> couponListOfSearch = client.getCouponListOfSearch(ofSearch); + + return couponListOfSearch; + } + /** + * 根据运营商ID 获取运营商管理的省市 + */ + + /** + * 获取 优惠券管理 + */ + @RequestMapping(value = "/list1") + @ResponseBody + public Object listOfDatas1(String name, Integer type, Integer distributionMethod , Integer userPopulation, Integer status, Integer state,String cityCode,Integer storeId) { + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + CouponListOfSearch ofSearch = new CouponListOfSearch(); + ofSearch.setPage(page); + ofSearch.setName(name); + ofSearch.setType(type); + ofSearch.setDistributionMethod(distributionMethod); + ofSearch.setUserPopulation(userPopulation); + ofSearch.setStatus(status); + ofSearch.setState(state); + ofSearch.setCityCode(cityCode); + ofSearch.setStoreId(storeId); + ofSearch.setObjType(UserExt.getUser().getObjectType()); + ofSearch.setOperatorId(UserExt.getUser().getObjectId()); + return client.getCouponListOfSearch1(ofSearch); + } + + + + @RequestMapping(value = "/listRecord") + @ResponseBody + public Object listRecord(Integer id,String name, Integer type, String phone) { + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + List<TAppUser> tAppUsers = appUserClient.queryByNamePhone(new QueryByNamePhone(name, phone)); + if(tAppUsers.size()==0){ + return new ArrayList<>(); + } + CouponRecordQuery ofSearch = new CouponRecordQuery(); + ofSearch.setId(id); + ofSearch.setLimit(page.getSize()); + ofSearch.setOffset(page.getCurrent()); + ofSearch.setIds(tAppUsers.stream().map(TAppUser::getId).collect(Collectors.toList())); + ofSearch.setType(type); + List<Map<String, Object>> maps = client.listRecord(ofSearch); + for (Map<String, Object> map : maps) { + map.put("id",map.get("id").toString()); + for (TAppUser tAppUser : tAppUsers) { + if(map.get("userId").equals(tAppUser.getId())){ + map.put("name",tAppUser.getName()); + map.put("phone",tAppUser.getPhone()); + } + } + } + return maps; } @RequestMapping(value = "/getProvince") @@ -145,6 +318,15 @@ .eq(Region::getParentId,0)); } + @RequestMapping(value = "/onShelf") + @ResponseBody + public Object onShelf(Integer id,Integer type){ + Coupon coupon = client.queryCouponById(id); + coupon.setState(type); + client.updateCouponData(coupon); + return new SuccessTip<>(); + } + @RequestMapping(value = "/getCity") @ResponseBody @@ -152,13 +334,34 @@ return regiService.list(new LambdaQueryWrapper<Region>() .eq(Region::getParentId,province)); } + @RequestMapping(value = "/getCity1") + @ResponseBody + public Object getCity1(String province){ + // 获取省的id + Integer code = regiService.getOne(new QueryWrapper<Region>().eq("code", province)).getId(); + return regiService.list(new LambdaQueryWrapper<Region>() + .eq(Region::getParentId,code)); + } + // 通过市 获取运营商 + @RequestMapping(value = "/getOperator") + @ResponseBody + public Object getOperator(String city){ + List<TOperatorCity> name = operatorCityService.list(new QueryWrapper<TOperatorCity>().eq("name", city)); + List<Integer> collect = name.stream().map(TOperatorCity::getOperatorId) + .collect(Collectors.toList()); + if (collect.size()==0){ + return new ArrayList<>(); + } + return operatorService.list(new QueryWrapper<TOperator>().in("id",collect)); + } @RequestMapping(value = "/uploadPic") @ResponseBody public Object add(@RequestParam("file") MultipartFile imgFile) throws IOException { + if (imgFile != null){ String originalFilename = imgFile.getOriginalFilename(); String newName = originalFilename.substring(imgFile.getOriginalFilename().lastIndexOf(".")); - String url = OBSUploadUtil.inputStreamUpload(imgFile); + String url = OssUploadUtil.ossUpload("img/",imgFile); Map<String, String> map = new HashMap<String, String>(); //是否上传成功 map.put("state", "SUCCESS"); @@ -173,16 +376,49 @@ //文件大小(字节数) map.put("size", imgFile.getSize() + ""); System.out.println(map); - return url; + return url; + } + return ResultUtil.success(); } /** * 提交添加 */ - @RequestMapping(value = "/commitData") - public void commitData(){ + @PostMapping(value = "/commitData") + @ResponseBody + public Object commitData( CouponDataVo dataVo){ + System.out.println(dataVo); + Integer objectType = UserExt.getUser().getObjectType(); + dataVo.setUserType(objectType); + dataVo.setCityManagerId(UserExt.getUser().getObjectId()); + if(UserExt.getUser().getObjectType()==2){ + dataVo.setCompany(3); + dataVo.setUserType(2); + dataVo.setCityManagerId(UserExt.getUser().getObjectId()); + }else if(UserExt.getUser().getObjectType()==3){ + dataVo.setStoreIds(UserExt.getUser().getObjectId().toString()); + dataVo.setCompany(3); + dataVo.setUserType(3); + }else{ + dataVo.setUserType(1); + } + dataVo.setObjType(UserExt.getUser().getObjectType()); + client.insertIntoData(dataVo); + return new SuccessTip<>(); + } - + @PostMapping(value = "/update") + @ResponseBody + public Object update( Integer id,Integer num,Integer num1,String text){ + Coupon coupon = client.queryCouponById(id); + coupon.setQuantityIssued(num); + coupon.setPickUpQuantity(num1); + coupon.setIllustrate(text); + if (UserExt.getUser().getObjectType()==3) { + coupon.setAuditStatus(1); + } + client.updateCouponData(coupon); + return new SuccessTip<>(); } } -- Gitblit v1.7.1