无关风月
2024-07-11 eb6b6dbb35a9f029e0b7d269773685c19fd40976
cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCouponExamineController.java
@@ -1,18 +1,37 @@
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.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.CouponExamineListSearch;
import com.dsh.course.feignClient.activity.model.CouponListOfSearch;
import com.dsh.guns.config.UserExt;
import com.dsh.guns.core.base.controller.BaseController;
import com.dsh.guns.core.common.constant.factory.PageFactory;
import com.dsh.guns.core.exception.GunsException;
import com.dsh.guns.core.util.ToolUtil;
import com.dsh.guns.modular.system.model.TOperator;
import com.dsh.guns.modular.system.model.TStore;
import com.dsh.guns.modular.system.model.User;
import com.dsh.guns.modular.system.service.IStoreService;
import com.dsh.guns.modular.system.service.IUserService;
import com.dsh.guns.modular.system.service.TOperatorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -22,24 +41,38 @@
@Controller
@RequestMapping("/tCouponExamine")
public class TCouponExamineController {
public class TCouponExamineController extends BaseController {
    private String PREFIX = "/system/tCouponExamine/";
    @Resource
    private CouponClient client;
    @Autowired
    private IUserService userService;
    @Autowired
    private TOperatorService operatorService;
    @Autowired
    private IStoreService storeService;
    /**
     * 优惠券审核列表页
     */
    @RequestMapping("")
    public String index(Model model) {
        return PREFIX + "TCouponExamine.html";
        return PREFIX + "TCouponExamineList.html";
    }
    /**
     * 获取根据门店id 获取店长信息
     */
    @RequestMapping(value = "/getStoreInfo")
    @ResponseBody
    public String getStoreInfo(@RequestBody Integer id) {
        User byId = userService.getById(id);
        return byId.getName() + "-" + byId.getAccount();
    }
    /**
     * 获取 优惠券审核列表
     */
@@ -54,25 +87,168 @@
        ofSearch.setDistributionMethod(distributionMethod);
        ofSearch.setUserPopulation(userPopulation);
        ofSearch.setAuditStatus(auditStatus);
        List<Map<String, Object>> couponExamineListOfSearch = client.getCouponExamineListOfSearch(ofSearch);
        if (couponExamineListOfSearch.size() > 0){
            for (Map<String, Object> examineListOfSearch : couponExamineListOfSearch) {
                examineListOfSearch.put("province","");
                examineListOfSearch.put("city","");
                examineListOfSearch.put("account","");
        List<Map<String, Object>> res = client.getCouponExamineListOfSearch(ofSearch);
        for (Map<String, Object> re : res) {
            if (re.get("publisherType")!=null){
            }
            switch (Integer.valueOf(re.get("publisherType").toString())){
                case 1:
                    // 运营商添加
                    if (re.get("cityManagerId")!=null){
                        TOperator one = operatorService.getOne(new QueryWrapper<TOperator>()
                                .eq("id", Integer.valueOf(re.get("cityManagerId").toString())));
                        if (one!=null){
                            User id = userService.getOne(new QueryWrapper<User>().eq("id", one.getUserId()));
                            if (id!=null){
                                re.put("account",one.getName()+"-"+id.getPhone());
                            }
                        }
                    }
                    break;
                case 2:
                    re.put("account","平台");
                    // 平台添加
                    break;
                case 3:
                    // 门店添加
                    if (re.get("cityManagerId")!=null){
                        TStore one = storeService.getOne(new QueryWrapper<TStore>()
                                .eq("id", Integer.valueOf(re.get("cityManagerId").toString())));
                        if (one!=null){
                            User id = userService.getOne(new QueryWrapper<User>().eq("id", one.getStoreStaffId()));
                            if (id!=null){
                                re.put("account",one.getName()+"-"+id.getPhone());
                            }
                        }
                    }
                    break;
            }
        }
        return couponExamineListOfSearch;
        return res;
    }
    /**
     * 获取 优惠券审核详情
     */
    @RequestMapping(value = "/couponOfDetail/{id}")
    public String detailOfCoupon(@PathVariable Integer id, Model model){
        model.addAttribute("id",id);
        Coupon coupon = client.queryCouponById(id);
        Integer auditStatus1 = coupon.getAuditStatus();
        model.addAttribute("state",auditStatus1);
        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("integral",coupon.getIntegral());
        model.addAttribute("cash",coupon.getCash());
        model.addAttribute("img",strings);
        Integer objectType = UserExt.getUser().getObjectType();
        System.out.println(objectType);
        model.addAttribute("item",coupon);
        model.addAttribute("objectType",objectType);
        Integer auditStatus = coupon.getAuditStatus();
        switch (auditStatus){
            case 1:
                model.addAttribute("state","待审核");
                break;
            case 2:
                model.addAttribute("state","已拒绝");
                break;
            case 3:
                model.addAttribute("state","未通过");
                break;
        }
        model.addAttribute("cover",coupon.getCover());
        model.addAttribute("productImages",coupon.getProductImages());
        return PREFIX + "TCouponExamineInfo.html";
    }
    /**
     * 获取 优惠券审核详情
     */
    @RequestMapping(value = "/couponExaminePage/{id}")
    public String couponExaminePage(@PathVariable Integer id, Model model){
        model.addAttribute("id",id);
        return PREFIX + "TCouponExamine.html";
    }
    @RequestMapping(value = "/examine")
    @ResponseBody
    public Object detailOfCoupon(@PathVariable Integer id){
        Map<String,Object> couponMap = client.queryCouponExamineDetail(id);
        return null;// TODO: 2023/7/31
    public Object examine(Integer id, Integer state, String remark) {
        Coupon coupon = client.queryCouponById(id);
        try {
            if (state == 2) {
                coupon.setAuditStatus(2);
            }
            if (state == 3) {
                coupon.setAuditStatus(3);
                coupon.setAuditRemark(remark);
            }
            client.updateCouponData(coupon);
            return SUCCESS_TIP;
        }catch (Exception e){
            e.printStackTrace();
            return ERROR;
        }
    }
}