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/TGoodsController.java |  444 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 444 insertions(+), 0 deletions(-)

diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
new file mode 100644
index 0000000..58c86e5
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
@@ -0,0 +1,444 @@
+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.account.model.TCityManager;
+import com.dsh.course.feignClient.activity.CouponClient;
+import com.dsh.course.feignClient.activity.PointMercharsClient;
+import com.dsh.course.feignClient.activity.model.*;
+import com.dsh.guns.config.UserExt;
+import com.dsh.guns.core.base.tips.ErrorTip;
+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.TCity;
+import com.dsh.guns.modular.system.model.TStore;
+import com.dsh.guns.modular.system.service.ICityService;
+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.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+
+/**
+ * 优惠券管理 控制器
+ */
+
+@Controller
+@RequestMapping("/tGoods")
+public class TGoodsController {
+
+
+
+    private String PREFIX = "/system/tGoods/";
+
+
+    @Resource
+    private IRegionService regiService;
+
+    @Resource
+    private IStoreService storeService;
+
+    @Resource
+    private CouponClient client;
+
+    @Resource
+    private CityManagerClient cmgrClient;
+
+    @Autowired
+    private AppUserClient appUserClient;
+    @Autowired
+    private ICityService cityService;
+
+    @Resource
+    private PointMercharsClient pointMercharsClient;
+
+
+
+    /**
+     * 跳转到优惠券管理首页
+     */
+    @RequestMapping("")
+    public String index(Model model) {
+
+        return PREFIX + "TGoods.html";
+    }
+
+    /**
+     * 跳转到添加
+     */
+    @RequestMapping("/tGoods_add")
+    public String memberCouponAdd(Model model) {
+        Integer objectType = UserExt.getUser().getObjectType();
+        System.out.println(objectType);
+        model.addAttribute("userType",objectType);
+        List<TCity> list = cityService.list(new LambdaQueryWrapper<TCity>().eq(TCity::getParentId, 0));
+        model.addAttribute("list",list);
+        return PREFIX + "TGoods_add.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";
+    }
+
+
+
+    /**
+     * 跳转到门店管理列表页
+     */
+    @RequestMapping("/storeList")
+    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();
+        }
+        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+        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;
+    }
+
+    @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<>();
+    }
+
+
+    @RequestMapping(value = "/getCity")
+    @ResponseBody
+    public Object getCity(Integer province){
+        return regiService.list(new LambdaQueryWrapper<Region>()
+                .eq(Region::getParentId,province));
+    }
+
+    @RequestMapping(value = "/uploadPic")
+    @ResponseBody
+    public Object add(@RequestParam("file") MultipartFile imgFile) throws IOException {
+        String originalFilename = imgFile.getOriginalFilename();
+        String newName = originalFilename.substring(imgFile.getOriginalFilename().lastIndexOf("."));
+        String url = OBSUploadUtil.inputStreamUpload(imgFile);
+        Map<String, String> map = new HashMap<String, String>();
+        //是否上传成功
+        map.put("state", "SUCCESS");
+        //现在文件名称
+        map.put("title", newName);
+        //文件原名称
+        map.put("original", originalFilename);
+        //文件类型 .+后缀名
+        map.put("type", originalFilename.substring(imgFile.getOriginalFilename().lastIndexOf(".")));
+        //文件路径
+        map.put("url", url);
+        //文件大小(字节数)
+        map.put("size", imgFile.getSize() + "");
+        System.out.println(map);
+        return url;
+    }
+
+    /**
+     * 提交添加
+     */
+    @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<>();
+    }
+
+
+    /**
+     * 获取 积分商品列表
+     */
+    @RequestMapping(value = "/list")
+    @ResponseBody
+    public Object listOfIntegralGoods(String name, Integer type, Integer redemptionMethod , Integer userPopulation, Integer activeStatus, Integer state) {
+        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+
+        IntegralGoodsOfSearch ofSearch = new IntegralGoodsOfSearch();
+        ofSearch.setPage(page);
+        ofSearch.setName(name);
+        ofSearch.setType(type);
+        ofSearch.setRedemptionMethod(redemptionMethod);
+        ofSearch.setUserPopulation(userPopulation);
+        ofSearch.setActiveStatus(activeStatus);
+        ofSearch.setState(state);
+        System.out.println(ofSearch);
+        return pointMercharsClient.getIntegralGoodsListOfSearch(ofSearch);
+    }
+
+
+
+    /**
+     * 跳转到修改车辆管理
+     */
+    @RequestMapping("/tGoods_update/{id}")
+    public String tCityUpdate(@PathVariable Integer id, Model model) {
+        System.out.println("id:"+id);
+        PointMercharsVo pointMercharsVo = pointMercharsClient.queryPointMerchaseDetailOfId(id);
+        System.out.println("pointMercharsVo:"+pointMercharsVo);
+        String[] split = pointMercharsVo.getPics().split(",");
+        model.addAttribute("item",pointMercharsVo);
+        model.addAttribute("pictures",split);
+        return PREFIX + "TGoods_edit.html";
+    }
+
+    /**
+     *  上下架处理操作
+     * @param id 商品id
+     * @param type 1=上架操作 2=下架操作
+     * @return
+     */
+    @RequestMapping("/grounding")
+    @ResponseBody
+    public Object updateGrounding(Integer id,Integer type) {
+        System.out.println(id);
+        System.out.println(type);
+        Map<String,Integer> map = new HashMap<>();
+        map.put("id",id);
+        map.put("type",type);
+        boolean b = pointMercharsClient.updateGoodsGroudingStatus(map);
+        System.out.println(b);
+        return new SuccessTip<>();
+    }
+
+
+
+    /**
+     *  购买详情
+     * @param id 商品id
+     * @return
+     */
+    @RequestMapping("/tPay_detail/{id}")
+    public String payOfDetails(@PathVariable(value = "id") Integer id,Model model) {
+        System.out.println(id);
+        model.addAttribute("id",id);
+        return PREFIX + "TGoods_pay.html";
+    }
+
+
+    /**
+     * 获取 购买记录列表
+     */
+    @ResponseBody
+    @RequestMapping(value = "/payList/{id}")
+    public Object payList(@PathVariable(value = "id") Integer id, String name, String phone, Integer status) {
+        PointMercharsPayedVo  payedVo = new PointMercharsPayedVo();
+        payedVo.setId(id);
+        payedVo.setName(name);
+        payedVo.setPhone(phone);
+        payedVo.setStatus(status);
+        List<Map<String,Object>> points = pointMercharsClient.queryUserPayedGoodsList(payedVo);
+        System.out.println(points);
+        if (points.size() > 0 ){
+            for (Map<String, Object> point : points) {
+                Integer userId = (Integer) point.get("userId");
+                TAppUser tAppUser = appUserClient.queryById(userId);
+                if (ToolUtil.isNotEmpty(tAppUser)){
+                    point.put("name",tAppUser.getName());
+                    point.put("phone",tAppUser.getPhone());
+                }
+            }
+            if (ToolUtil.isNotEmpty(name)){
+                points = points.stream()
+                        .filter(data -> {
+                            String obtName = (String) data.get("name");
+                            return obtName != null && obtName.contains(name);
+                        })
+                        .collect(Collectors.toList());
+            }
+            if (ToolUtil.isNotEmpty(phone)){
+                points = points.stream()
+                        .filter(data -> {
+                            String obtPhone = (String) data.get("phone");
+                            return obtPhone != null && obtPhone.contains(phone);
+                        })
+                        .collect(Collectors.toList());
+            }
+        }
+        return points;
+    }
+
+    /**
+     *  核销操作
+     * @param id 商品id
+     * @return
+     */
+    @RequestMapping("/write_off")
+    @ResponseBody
+    public Object GoodsWriteOff(Integer id){
+        System.out.println(id);
+        // TODO: 2023/8/15 核销操作
+        return new SuccessTip<>();
+    }
+
+
+}

--
Gitblit v1.7.1