Browse Source

集美客服实体修改及接口添加

humingfen 7 years ago
parent
commit
7a23760710

+ 25 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/synergy/customer/CustomerSynergyManageController.java

@ -1,9 +1,34 @@
package com.yihu.wlyy.controller.synergy.customer;
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.service.synergy.SynergyManageService;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
/**
 * Created by 刘文彬 on 2018/9/27.
 */
public class CustomerSynergyManageController extends BaseController {
    @Autowired
    private SynergyManageService synergyManageService;
    @RequestMapping(value = "/getWorkOrderInfo", method = {RequestMethod.GET, RequestMethod.POST})
    @ApiOperation(value = "获取协同服务工单信息")
    public String addCallRecord(@ApiParam(name="workorderCode",value="协同服务工单code")
                                @RequestParam(required = true)String workorderCode,
                                @ApiParam(name="role",value="1医生,2客服管理员,3普通客服")
                                @RequestParam(required = true)Integer role){
        try {
            return write(200,"保存成功","data", synergyManageService.getWorkOrderInfo(workorderCode, role));
        }catch (Exception e){
            error(e);
            return error(-1,"保存失败");
        }
    }
}

+ 7 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/repository/synergy/ManageSynergyWorkorderExecutorDao.java

@ -1,7 +1,14 @@
package com.yihu.wlyy.repository.synergy;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderExecutorDO;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
public interface ManageSynergyWorkorderExecutorDao extends PagingAndSortingRepository<ManageSynergyWorkorderExecutorDO, Long> {
    @Query("select e.executorName from ManageSynergyWorkorderExecutorDO e where e.workorderCode = ?1 and e.executorType = 1")
    String findManagerByWorkorderCode(String workorderCode);
    @Query("select e.executorName from ManageSynergyWorkorderExecutorDO e where e.workorderCode = ?1 and e.executorType = 2")
    String findCollaboratorByWorkorderCode(String workorderCode);
}

+ 66 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/synergy/SynergyManageService.java

@ -1,10 +1,76 @@
package com.yihu.wlyy.service.synergy;
import com.yihu.wlyy.entity.synergy.ManageSynergyWorkorderDO;
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkOrderDao;
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkorderExecutorDao;
import com.yihu.wlyy.repository.synergy.ManageSynergyWorkorderServicerDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
 * Created by 刘文彬 on 2018/9/27.
 */
@Service
public class SynergyManageService {
    @Autowired
    private ManageSynergyWorkOrderDao workOrderDao;
    @Autowired
    private ManageSynergyWorkorderServicerDao workorderServicerDao;
    @Autowired
    private ManageSynergyWorkorderExecutorDao workorderExecutorDao;
    public ManageSynergyWorkorderDO findWorkOrderByCode(String workorderCode) {
        return workOrderDao.findByCode(workorderCode);
    }
    //获取系统服务详情
    public Map<String, Object> getWorkOrderInfo(String workorderCode, Integer role) {
        Map<String, Object> map = new HashMap<>();
        ManageSynergyWorkorderDO workorderDO = workOrderDao.findByCode(workorderCode);
        //存入协同服务工单信息
        map.put("code", workorderCode);
        map.put("type", workorderDO.getType());
        map.put("priority", workorderDO.getPriority());
        map.put("serviceTime", workorderDO.getServiceTime());
        map.put("status", workorderDO.getStatus());
        map.put("title", workorderDO.getRelationCodeName());
        map.put("remark", workorderDO.getRemark());
        map.put("servicerKey", workorderDO.getServicerKey());
        map.put("servicerCount", workorderDO.getServicerCount());
        map.put("createTime", workorderDO.getCreateTime());
        map.put("createUserName", workorderDO.getCreateUserName());
        //判断是否超时
        Date now = new Date();
        long hour = (now.getTime() - workorderDO.getServiceTime().getTime())/60*60*1000;
        if(hour <= 4){
            map.put("delay", "red");
        }else if(hour <= 24){
            map.put("delay", "yellow");
        }
        //根据角色显示对应工单状态
        if(workorderDO.getCreateUserType() == 1 && role == 2){
            map.put("status", "待接收");
        }else if(workorderDO.getCreateUserType() == 2 && role == 1){
            map.put("status", "未接收");
        }
        //获取负责人信息
        if(role == 3){
            String manager = workorderExecutorDao.findManagerByWorkorderCode(workorderCode);
            String collaborator = workorderExecutorDao.findCollaboratorByWorkorderCode(workorderCode);
            map.put("负责人", manager);
            map.put("参与人", collaborator);
        }
        //获取处理结果
        if(workorderDO.getStatus() == 3){
            map.put("说明", workorderDO.getDealResultRemark());
            map.put("附件",workorderDO.getDealResultAccessory());
        }
        return map;
    }
}