wang-hao-jie
2021-12-02 dfd4959471c057749b4db755ea141fca76e73357
xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/controller/OrderTaskController.java
@@ -7,13 +7,8 @@
import cn.exrick.xboot.core.common.vo.Result;
import cn.exrick.xboot.core.entity.User;
import cn.exrick.xboot.core.service.UserService;
import cn.exrick.xboot.your.entity.Area;
import cn.exrick.xboot.your.entity.OrderDetail;
import cn.exrick.xboot.your.entity.OrderTask;
import cn.exrick.xboot.your.service.IAreaService;
import cn.exrick.xboot.your.service.ICustomerService;
import cn.exrick.xboot.your.service.IOrderDetailService;
import cn.exrick.xboot.your.service.IOrderTaskService;
import cn.exrick.xboot.your.entity.*;
import cn.exrick.xboot.your.service.*;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -58,6 +53,12 @@
    @Autowired
    private UserService userService;
    @Autowired
    private IAreaSectionService iAreaSectionService;
    @Autowired
    private ICarService iCarService;
    @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
    @ApiOperation(value = "通过id获取")
    public Result<OrderTask> get(@PathVariable String id) {
@@ -66,12 +67,27 @@
        return new ResultUtil<OrderTask>().setData(orderTask);
    }
    public Area getArea(String userId){
        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
        wrapper.eq("user_id",userId);
        Area area = iAreaService.getOne(wrapper);
        if(area==null){
            QueryWrapper<Car> carQueryWrapper = new QueryWrapper<Car>();
            carQueryWrapper.eq("user_id",userId);
            Car one = iCarService.getOne(carQueryWrapper);
            QueryWrapper<Area> wrapper3 = new QueryWrapper<Area>();
            wrapper3.eq("user_id",one.getFollowUserId());
            area = iAreaService.getOne(wrapper);
            return area;
        }
        return area;
    }
    @RequestMapping(value = "/getByUserId", method = RequestMethod.GET)
    @ApiOperation(value = "获取今日任务统计信息")
    public Result<Object> getAll() {
        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
        wrapper.eq("user_id",securityUtil.getCurrUser().getId());
        Area area = iAreaService.getOne(wrapper);
        Area area = getArea(securityUtil.getCurrUser().getId());
        if(area==null){
            return ResultUtil.error("请联系管理员绑定片区配送员");
        }
@@ -80,22 +96,27 @@
        String format = DateUtil.format(new Date(), "yyyy-MM-dd");
        wrapper2.eq("area_id",area.getId());
        wrapper2.eq("send_date",format);
        int count = iOrderTaskService.count(wrapper2);
        List<OrderTask> list = iOrderTaskService.list(wrapper2);
        int sum = iOrderTaskService.sum(area.getId(),format);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("count",count);
        map.put("count",list.size());
        map.put("sum",sum);
        map.put("name","");
        if(list.size()>0){
            String areaSectionId = list.get(0).getAreaSectionId();
            AreaSection a = iAreaSectionService.getById(areaSectionId);
            map.put("name",a.getName());
            list.clear();
        }
        return new ResultUtil<Object>().setData(map);
    }
    @RequestMapping(value = "/getTodayOrder", method = RequestMethod.GET)
    @ApiOperation(value = "获取今日任务详情")
    public Result<List<OrderTask>> getTodayOrder() {
        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
        wrapper.eq("user_id",securityUtil.getCurrUser().getId());
        Area area = iAreaService.getOne(wrapper);
        Area area = getArea(securityUtil.getCurrUser().getId());
        if(area==null){
            return ResultUtil.error("请联系管理员绑定片区配送员");
        }
@@ -119,9 +140,7 @@
                return ResultUtil.error("此商户已配送");
            }
        }else{
            QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
            wrapper.eq("user_id",securityUtil.getCurrUser().getId());
            Area area = iAreaService.getOne(wrapper);
            Area area = getArea(securityUtil.getCurrUser().getId());
            if(area==null){
                return ResultUtil.error("请联系管理员绑定片区配送员");
            }
@@ -152,9 +171,7 @@
    @ApiOperation(value = "获取其它信息")
    public Result<Object> getTodayOtherInfo() {
        QueryWrapper<Area> wrapper = new QueryWrapper<Area>();
        wrapper.eq("user_id",securityUtil.getCurrUser().getId());
        Area area = iAreaService.getOne(wrapper);
        Area area = getArea(securityUtil.getCurrUser().getId());
        if(area==null){
            return ResultUtil.error("请联系管理员绑定片区配送员");
        }
@@ -205,6 +222,41 @@
        return new ResultUtil<Object>().setData(map);
    }
    @RequestMapping(value = "/addImg", method = RequestMethod.POST)
    @ApiOperation(value = "上传门头照")
    public Object saveOrUpdate(String orderId,String imgUrl) {
        OrderTask orderTask = iOrderTaskService.getById(orderId);
        orderTask.setImg(imgUrl);
        iOrderTaskService.saveOrUpdate(orderTask);
        return ResultUtil.success("添加成功");
    }
    @RequestMapping(value = "/signFor", method = RequestMethod.POST)
    @ApiOperation(value = "签收")
    public Object signFor(String orderId,int status,String content,String customerReceiveId) {
        if(status==1){
            if(StrUtil.isEmpty(customerReceiveId)){
                return ResultUtil.error("正常签收,接货人id必填");
            }
        }
        OrderTask orderTask = iOrderTaskService.getById(orderId);
        orderTask.setStatus(status);
        orderTask.setUserId(securityUtil.getCurrUser().getId());
        if(StrUtil.isNotEmpty(customerReceiveId)){
            orderTask.setCustomerReceiveId(customerReceiveId);
        }
        if(!StrUtil.isEmpty(content)){
            orderTask.setRemarks(content);
        }else{
            if(status==2){
                return ResultUtil.error("请填写异常签收原因");
            }
        }
        iOrderTaskService.saveOrUpdate(orderTask);
        return ResultUtil.success("添加成功");
    }
    @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
    @ApiOperation(value = "分页获取")
    public Result<IPage<OrderTask>> getByPage(PageVo page) {