puzhibing
2023-05-16 4e8951a439c03e87568789cedeb62033884412db
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TAgentController.java
@@ -5,6 +5,7 @@
import com.stylefeng.guns.core.base.tips.SuccessTip;
import com.stylefeng.guns.core.exception.GunsException;
import com.stylefeng.guns.core.exception.ServiceExceptionEnum;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.modular.system.controller.resp.TAgentResp;
import com.stylefeng.guns.modular.system.controller.util.ExcelUtil;
@@ -13,6 +14,7 @@
import com.stylefeng.guns.modular.system.enums.UserTypeEnum;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.RedisUtil;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
@@ -56,12 +58,20 @@
    @Autowired
    private ITRegionService tRegionService;
    @Autowired
    private ITDriverService tDriverService;
    @Autowired
    private ITDriverWorkService tDriverWorkService;
    @Autowired
    private RedisUtil redisUtil;
    /**
     * 跳转到首页
     */
    @RequestMapping("")
    public String index() {
    public String index(Model model) {
        model.addAttribute("userType", Objects.requireNonNull(ShiroKit.getUser()).getRoleType());
        return PREFIX + "tAgent.html";
    }
@@ -127,8 +137,8 @@
     */
    @RequestMapping(value = "/list")
    @ResponseBody
    public Object list(String principal,String principalPhone,String createTime) {
        EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime);
    public Object list(String principal,String principalPhone,String createTime,Integer status) {
        EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime,status);
        List<TAgent> tAgents = tAgentService.selectList(wrapper);
        // 代理商列表数据封装(导出共用)
        return tAgentService.getAgentResp(tAgents);
@@ -155,7 +165,11 @@
        int count = tAgentService.selectCount(new EntityWrapper<TAgent>().eq("provinceName", split1[0]).eq("cityName",split1[1]));
        if(count>0){
            return new SuccessTip(500,"该代理商已存在!");
        }
        tAgent.setPrincipal(tAgent.getPrincipal().replace(" ",""));
        String[] split = tAgent.getAreaId().split("/");
        // 查询省市
@@ -195,6 +209,33 @@
            tAgent.setStatus(1);
        }
        tAgentService.updateById(tAgent);
        // 冻结下面所有的司机
        List<TDriver> list = tDriverService.selectList(new EntityWrapper<TDriver>()
                .eq("agentId", id));
        for (TDriver tDriver : list) {
            if(1 == status){
                tDriver.setStatus(2);
                String value = redisUtil.getValue("DRIVER_" + tDriver.getPhone());
                redisUtil.remove(value);
                redisUtil.remove("DRIVER_" + tDriver.getPhone());
                TDriverWork tDriverWork = tDriverWorkService.selectOne(new EntityWrapper<TDriverWork>()
                        .eq("driverId", tDriver.getId())
                        .eq("status", 1)
                        .orderBy("workTime", false)
                        .last("LIMIT 1"));
                if(Objects.nonNull(tDriverWork)){
                    tDriverWork.setStatus(2);
                    tDriverWork.setOffWorkTime(new Date());
                    tDriverWorkService.updateById(tDriverWork);
                }
            }
            if(2 == status){
                tDriver.setStatus(1);
            }
        }
        if(!CollectionUtils.isEmpty(list)){
            tDriverService.updateBatchById(list);
        }
        return SUCCESS_TIP;
    }
@@ -204,6 +245,7 @@
    @RequestMapping(value = "/update")
    @ResponseBody
    public Object update(TAgent tAgent) {
        tAgent.setPrincipal(tAgent.getPrincipal().replace(" ",""));
        tAgentService.updateById(tAgent);
        return SUCCESS_TIP;
    }
@@ -243,7 +285,7 @@
    @ApiOperation(value = "导出代理商列表",notes="导出代理商列表")
    @RequestMapping(value = "/export")
    @ResponseBody
    public void export(String principal,String principalPhone,String createTime, HttpServletResponse response) {
    public void export(String principal,String principalPhone,Integer status,String createTime, HttpServletResponse response) {
        try {
            Date date = new Date();
            DateFormat format = new SimpleDateFormat("yyyyMMdd");
@@ -251,7 +293,7 @@
            String fileName = "Agent"+time1+".xls";
            String[] title = new String[] {"时间","姓名","联系电话","代理区域","客服电话","订单数量",
                    "有效订单","已发放优惠券","已使用优惠券","累计优惠券金额","司机充值","司机数","状态"};
            EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime);
            EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime,status);
            // 是否异常
            List<TAgent> list = tAgentService.selectList(wrapper);