From 6b9e39445a8e56ab0d8195663f1aa6e3c49d6836 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期六, 16 九月 2023 11:51:11 +0800
Subject: [PATCH] app 2.0
---
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java | 214 +++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 190 insertions(+), 24 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 37a4b49..bf6aacd 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,31 +1,42 @@
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.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.CouponDataVo;
import com.dsh.guns.modular.system.model.Region;
+import com.dsh.guns.modular.system.model.TStore;
import com.dsh.guns.modular.system.service.IRegionService;
import com.dsh.guns.modular.system.service.IStoreService;
import com.dsh.guns.modular.system.util.OBSUploadUtil;
+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;
/**
@@ -45,10 +56,18 @@
private IRegionService regiService;
@Resource
+ private IStoreService storeService;
+
+ @Resource
private CouponClient client;
@Resource
- private IStoreService storeService;
+ private CityManagerClient cmgrClient;
+
+ @Autowired
+ private AppUserClient appUserClient;
+
+
/**
* 跳转到优惠券管理首页
@@ -66,7 +85,75 @@
Integer objectType = UserExt.getUser().getObjectType();
System.out.println(objectType);
model.addAttribute("userType",objectType);
- return PREFIX + "TCouponAdd.html";
+ return PREFIX + "TQuestionAdd.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){
+ list1 = client.queryStore(coupon.getId());
+ list2 = storeService.list(new LambdaQueryWrapper<TStore>().in(TStore::getId, list1));
+ for (TStore tStore : list2) {
+ CityManager cityManager = cmgrClient.queryCityManagerById(tStore.getCityManagerId());
+ if (ToolUtil.isNotEmpty(cityManager)){
+ tStore.setProvince(tStore.getProvince()+tStore.getCity());
+ tStore.setPhone(cityManager.getName()+"-"+cityManager.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);
+ return PREFIX + "TCouponInfo.html";
}
@@ -76,19 +163,47 @@
*/
@RequestMapping("/storeList")
public String storePage(Model model) {
- return PREFIX + "TStoreList.html";
+ return PREFIX + "TQuestionEdit.html";
+ }
+ @RequestMapping("/updateType")
+ @ResponseBody
+ public Object updateType(Long id) {
+ client.updateType(id);
+ return new SuccessTip<>();
}
- @RequestMapping("/storeList")
+ @RequestMapping("/storeDetailsOfSearch")
@ResponseBody
- public Object listOfStore(Integer province,Integer cityCode,Integer cityManagerId,String storeName){
- Region provinceRegion = regiService.getById(province);
- Region cityRegion = regiService.getById(cityCode);
+ 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();
+ }
Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
- List<Map<String,Object>> storeList = storeService.queryListOfpage(provinceRegion.getCode(),cityRegion.getCode(),cityManagerId,storeName,page);
-
-
- return null;
+ List<Map<String,Object>> storeList = storeService.queryListOfpage(provinceCode,cityCode,cityManagerId,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());
+ }
+ }
+ }
+ return storeList;
}
/**
@@ -108,12 +223,47 @@
ofSearch.setState(state);
return client.getCouponListOfSearch(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")
@ResponseBody
public Object getProvince(){
return regiService.list(new LambdaQueryWrapper<Region>()
.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<>();
}
@@ -127,6 +277,7 @@
@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);
@@ -144,16 +295,31 @@
//文件大小(字节数)
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);
+ 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);
+ client.updateCouponData(coupon);
+ return new SuccessTip<>();
}
}
--
Gitblit v1.7.1