fengjin
2022-10-21 1fb23cbeeaaeda0a66cf8fe8977c3f5915743cc7
flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java
@@ -1,6 +1,7 @@
package com.dg.core.api;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dg.core.ResultData;
import com.dg.core.annotation.Authorization;
import com.dg.core.annotation.CurrentUser;
@@ -10,14 +11,22 @@
import com.dg.core.db.gen.entity.SysUser;
import com.dg.core.service.IGuideEvolveService;
import com.dg.core.service.IGuideRepairOrderService;
import com.dg.core.service.IOrganizationChartService;
import com.dg.core.util.PermissionUtil;
import com.dg.core.util.SmsUtil;
import com.dg.core.util.TableDataInfo;
import com.dg.core.util.WxUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
 * 工单管理
@@ -33,6 +42,14 @@
    @Autowired
    private IGuideEvolveService iGuideEvolveService;
    @Resource
    IOrganizationChartService iOrganizationChartService;
    private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk";
    @Resource
    SmsUtil smsUtil;
    /**
     * 提交导办订单
     * @return
@@ -43,7 +60,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("提交失败,请检查你是否有相同的咨询内容在处理中");
    }
@@ -107,13 +131,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));
    }
@@ -152,12 +176,27 @@
        }
        if(StringUtils.equals(entity.getState(),"2")){//如果用户选择未解决则状态改为待办
            order.setState("2");
            entity.setState("8");
            entity.setState("9");
        }
        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("9");
            entity.setState("7");
        }
        //新增已办结记录
        entity.setCreateTime(LocalDateTime.now());
@@ -166,6 +205,7 @@
        entity.setFromUserId(sysUser.getUserId()+"");
        entity.setGuideId(order.getId().toString());
        iGuideEvolveService.insertConfig(entity);
        iGuideRepairOrderService.updateSysUserOrderNum(entity);
        return toAjax(iGuideRepairOrderService.updateConfig(order));
    }
@@ -207,8 +247,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));
    }
@@ -234,12 +274,6 @@
        {
            return ResultData.error("工单id不能为空");
        }
        if(!StringUtils.equals(entity.getState(),"4"))
        {
            return ResultData.error("该工单不能评价!");
        }
        if(StringUtils.isEmpty(entity.getEvaluateState()))
        {
            return ResultData.error("满意程度不能为空!");
@@ -251,12 +285,14 @@
        GuideEvolveEntity guideEvolveEntity=new GuideEvolveEntity();
        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.setState("13");
        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();
    }
    /**
@@ -272,5 +308,31 @@
    }
    /**
     * 小程序获取导办工单管理列表
     * @return
     */
    @ApiOperation(value = "小程序获取导办工单管理列表",response = GuideRepairOrder.class)
    @GetMapping("/getList")
    @Authorization
    public TableDataInfo selectConfigList(@RequestParam(value = "state",required = false) String status,
                                          @CurrentUser SysUser sysUser)
    {
        List<String> ids=null;
        String userId=null;
        if(StringUtils.equals("1",sysUser.getIsDivisionHead()))
        {
            userId=null;
            ids= PermissionUtil.getPermission(sysUser,iOrganizationChartService);
        }
        else
        {
            userId=sysUser.getUserId()+"";
        }
        List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(null,ids,status,userId);
        int num=iGuideRepairOrderService.countConfigList(null,ids,status,userId);
        return getDataTable(list,num);
    }
}