fengjin
2022-10-20 8cc9e9601aab48e511831f62f3b71bd3c68fea06
flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java
@@ -10,6 +10,8 @@
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.service.IGuideEvolveService;
import com.dg.core.service.IGuideRepairOrderService;
import com.dg.core.util.SmsUtil;
import com.dg.core.util.WxUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
@@ -18,6 +20,8 @@
import javax.annotation.Resource;
import java.time.LocalDateTime;
/**
 * 工单管理
@@ -33,6 +37,11 @@
    @Autowired
    private IGuideEvolveService iGuideEvolveService;
    private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk";
    @Resource
    SmsUtil smsUtil;
    /**
     * 提交导办订单
     * @return
@@ -43,7 +52,14 @@
    public ResultData addOrder(@RequestBody GuideRepairOrder guideRepairOrder,@CurrentUser SysUser sysUser) {
          guideRepairOrder.setSubmitUserId(sysUser.getUserId().toString());
          guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber());
          return toAjax(iGuideRepairOrderService.addOrder(guideRepairOrder));
          guideRepairOrder.setSubmitType(1);
          int i = iGuideRepairOrderService.addOrder(guideRepairOrder);
          if (i>0){
              iGuideEvolveService.updateGuid();
             return ResultData.success();
          }
          else
              return  ResultData.error("提交失败,请检查你是否有相同的咨询内容在处理中");
    }
@@ -53,7 +69,7 @@
     * @param orderNum
     * @return
     */
    @ApiOperation("获取订单详情")
    @ApiOperation(value = "获取订单详情",response = GuideRepairOrder.class)
    @GetMapping("/orderdata")
    @Authorization
    public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id,
@@ -79,7 +95,7 @@
     * @param order
     * @return
     */
    @ApiOperation("转派人员")
    @ApiOperation(value = "转派人员",response = GuideRepairOrder.class)
    @PostMapping("/redeploy")
    @Authorization
    public ResultData redeploy(@RequestBody GuideRepairOrder order, @CurrentUser SysUser sysUser)
@@ -99,10 +115,6 @@
            return ResultData.error("导办人员id不能为空");
        }
        if(StringUtils.isEmpty(order.getGuideUserPhone()))
        {
            return ResultData.error("导办人员电话不能为空");
        }
        //已分配
        order.setState("2");
@@ -111,13 +123,13 @@
        GuideEvolveEntity entity=new GuideEvolveEntity();
        entity.setCreateTime(LocalDateTime.now());
        entity.setUpdateTime(LocalDateTime.now());
        entity.setState("12");
        entity.setDepartmentalId(sysUser.getDepartmentId());
        entity.setToUserId(sysUser.getUserId()+"");
        entity.setFromUserId(order.getGuideUserId());
        entity.setFromDepartmentalId(order.getGuideDepartmentId());
        entity.setState("10");
        entity.setDepartmentalId(order.getGuideDepartmentId());
        entity.setToUserId(order.getGuideUserId());
        entity.setFromUserId(sysUser.getUserId()+"");
        entity.setFromDepartmentalId(sysUser.getDepartmentId());
        iGuideEvolveService.insertConfig(entity);
        iGuideRepairOrderService.updateSysUserOrderNum(entity);
        return toAjax(iGuideRepairOrderService.updateConfig(order));
    }
@@ -129,7 +141,7 @@
     * @param entity
     * @return
     */
    @ApiOperation("去处理")
    @ApiOperation(value = "去处理",response = GuideRepairOrder.class)
    @PostMapping("/dispose")
    @Authorization
    public ResultData dispose(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser)
@@ -154,20 +166,38 @@
        {
            return ResultData.error("该工单已办结!");
        }
        if(!StringUtils.equals(order.getState(),"2"))
        {
            return ResultData.error("该工单非是待办状态!");
        if(StringUtils.equals(entity.getState(),"2")){//如果用户选择未解决则状态改为待办
            order.setState("2");
            entity.setState("9");
        }
        //待评价
        order.setState("4");
        else if(StringUtils.equals(entity.getState(),"4")){
            if (order.getSubmitType().equals(1))//小程序提交
            {
            WxUtil wxUtil=new WxUtil();
            String accessToken="0";
            try {
                accessToken= wxUtil.getBatteryCarAccessToken();
            } catch (Exception e) {
                throw new RuntimeException(e);
            }
            SysUser submitUser = iGuideRepairOrderService.getSubmitUser(order);
            wxUtil.sendGuideRepairOrderComplete(submitUser.getOpenid(),accessToken,guideRepairOrderCompleteTemplateId,entity);
            }
            else if (order.getSubmitType().equals(2)){
                smsUtil.sendSmsComplete(order.getConsultUserPhone(),order.getMatterName());
            }
            //待评价
            order.setState("4");
            entity.setState("7");
        }
        //新增已办结记录
        entity.setCreateTime(LocalDateTime.now());
        entity.setUpdateTime(LocalDateTime.now());
        entity.setState("4");
        entity.setFromDepartmentalId(sysUser.getDepartmentId());
        entity.setFromUserId(sysUser.getUserId()+"");
        entity.setGuideId(order.getId().toString());
        iGuideEvolveService.insertConfig(entity);
        iGuideRepairOrderService.updateSysUserOrderNum(entity);
        return toAjax(iGuideRepairOrderService.updateConfig(order));
    }
@@ -177,7 +207,7 @@
     * @param entity
     * @return
     */
    @ApiOperation("取消导办工单")
    @ApiOperation(value = "取消导办工单",response = GuideRepairOrder.class)
    @PostMapping("/cancel")
    @Authorization
    public ResultData cancel(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser)
@@ -209,8 +239,8 @@
        entity.setCreateTime(LocalDateTime.now());
        entity.setUpdateTime(LocalDateTime.now());
        entity.setState("5");
        entity.setFromDepartmentalId(sysUser.getDepartmentId());
        entity.setFromUserId(sysUser.getUserId()+"");
        entity.setDepartmentalId(sysUser.getDepartmentId());
        entity.setToUserId(sysUser.getUserId()+"");
        iGuideEvolveService.insertConfig(entity);
        return toAjax(iGuideRepairOrderService.updateConfig(order));
    }
@@ -222,7 +252,7 @@
     * @param entity
     * @return
     */
    @ApiOperation("工单评价")
    @ApiOperation(value = "工单评价",response = GuideRepairOrder.class)
    @PostMapping("/evaluate")
    @Authorization
    public ResultData evaluate(@RequestBody GuideRepairOrder entity, @CurrentUser SysUser sysUser)
@@ -236,16 +266,11 @@
        {
            return ResultData.error("工单id不能为空");
        }
        if(!StringUtils.equals(entity.getState(),"4"))
        {
            return ResultData.error("该工单不能评价!");
        }
        if(StringUtils.isEmpty(entity.getEvaluateState()))
        {
            return ResultData.error("满意程度不能为空!");
        }
        //已办结
        entity.setState("3");
        //新增已办结记录
@@ -253,11 +278,13 @@
        guideEvolveEntity.setCreateTime(LocalDateTime.now());
        guideEvolveEntity.setUpdateTime(LocalDateTime.now());
        guideEvolveEntity.setState("3");
        guideEvolveEntity.setFromDepartmentalId(sysUser.getDepartmentId());
        guideEvolveEntity.setFromUserId(sysUser.getUserId()+"");
        iGuideEvolveService.insertConfig(guideEvolveEntity);
        return toAjax(iGuideRepairOrderService.updateConfig(entity));
        guideEvolveEntity.setDepartmentalId(sysUser.getDepartmentId());
        guideEvolveEntity.setToUserId(sysUser.getUserId()+"");
        int i = iGuideRepairOrderService.updateConfig(entity);
        if (i>0)
            return toAjax( iGuideEvolveService.insertConfig(guideEvolveEntity));
        else
            return ResultData.error();
    }
    /**
@@ -265,13 +292,11 @@
     * @param sysUser 当前登录人员信息
     * @return
     */
    @ApiOperation("获取个人中心工单数据")
    @ApiOperation(value = "获取个人中心工单数据",response = GuideRepairOrder.class)
    @GetMapping("/personalCenter")
    @Authorization
    public ResultData selectBySubmitId(@CurrentUser SysUser sysUser){
        return ResultData.success(iGuideRepairOrderService.selectBySubmitId(sysUser.getUserId().toString()));
    }
}