From 1d07f8271751880bdfbf3ea41e696f9ee719888b Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期四, 17 八月 2023 08:48:36 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/PlayPai

---
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponController.java |  138 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 134 insertions(+), 4 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 e027a45..544365d 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,22 +1,31 @@
 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 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.*;
@@ -24,10 +33,9 @@
 
 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;
 
 
 /**
@@ -55,6 +63,9 @@
     @Resource
     private CityManagerClient cmgrClient;
 
+    @Autowired
+    private AppUserClient appUserClient;
+
 
 
     /**
@@ -77,6 +88,74 @@
     }
 
 
+    @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";
+    }
+
+
 
     /**
      * 跳转到门店管理列表页
@@ -84,6 +163,12 @@
     @RequestMapping("/storeList")
     public String storePage(Model model) {
         return PREFIX + "TQuestionEdit.html";
+    }
+    @RequestMapping("/updateType")
+    @ResponseBody
+    public Object updateType(Long id) {
+        client.updateType(id);
+        return new SuccessTip<>();
     }
 
     @RequestMapping("/storeDetailsOfSearch")
@@ -137,12 +222,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<>();
     }
 
 
@@ -188,4 +308,14 @@
         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