From 6f30b5c886cd05081d6250eb0506816fb2ac80ec Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期二, 22 十一月 2022 14:11:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into huacheng_test
---
flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java | 187 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 159 insertions(+), 28 deletions(-)
diff --git a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
index fdf7c33..27f4325 100644
--- a/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
+++ b/flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
@@ -7,19 +7,25 @@
import com.dg.core.annotation.Authorization;
import com.dg.core.annotation.CurrentUser;
import com.dg.core.db.gen.entity.*;
+import com.dg.core.db.manual.mapper.util.ConstantPropertiesUtil;
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.data.redis.core.StringRedisTemplate;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -39,6 +45,16 @@
@Autowired
IOrganizationChartService iOrganizationChartService;
+ @Resource(name = "stringRedisTemplate")
+ private StringRedisTemplate stringRedisTemplate;
+
+ private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk";
+
+
+ @Resource
+ SmsUtil smsUtil;
+
+
/**
* 提交导办订单
* @return
@@ -49,7 +65,15 @@
public ResultData addOrder(@RequestBody GuideRepairOrder guideRepairOrder,@CurrentUser SysUser sysUser) {
guideRepairOrder.setSubmitUserId(sysUser.getUserId().toString());
guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber());
- return toAjax(iGuideRepairOrderService.addOrder(guideRepairOrder));
+ guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber());
+ guideRepairOrder.setSubmitType(2);
+ int i = iGuideRepairOrderService.addOrder(guideRepairOrder);
+ if (i>0){
+ iGuideEvolveService.updateGuid();
+ return ResultData.success();
+ }
+ else
+ return ResultData.error("提交失败,请检查你是否有相同的咨询内容在处理中");
}
@@ -63,7 +87,8 @@
@GetMapping("/orderdata")
@Authorization
public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id,
- @RequestParam(value = "orderNum",required = false) String orderNum)
+ @RequestParam(value = "orderNum",required = false) String orderNum,
+ @CurrentUser SysUser sysUser)
{
if(StringUtils.isEmpty(Id) && StringUtils.isEmpty(orderNum))
{
@@ -71,7 +96,7 @@
}
GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(Id,orderNum);
- order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id));
+ order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id,sysUser));
return ResultData.success(order);
}
@@ -111,15 +136,15 @@
GuideEvolveEntity entity=new GuideEvolveEntity();
entity.setCreateTime(LocalDateTime.now());
entity.setUpdateTime(LocalDateTime.now());
- entity.setState("13");
- entity.setDepartmentalId(sysUser.getDepartmentId());
- entity.setToUserId(sysUser.getUserId()+"");
- entity.setFromUserId(order.getGuideUserId());
- entity.setFromDepartmentalId(order.getGuideDepartmentId());
+ entity.setState("11");
+ entity.setDepartmentalId(order.getGuideDepartmentId());
+ entity.setToUserId(order.getGuideUserId());
+ entity.setFromUserId(sysUser.getUserId().toString());
+ entity.setFromDepartmentalId(sysUser.getDepartmentId());
entity.setGuideId(order.getId().toString());
-
+ iGuideRepairOrderService.updateSysUserOrderNum(entity);
iGuideEvolveService.insertConfig(entity);
-
+ order=iGuideRepairOrderService.setTimeoutTim(order);
return toAjax(iGuideRepairOrderService.updateConfig(order));
}
@@ -156,14 +181,15 @@
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());
entity.setGuideId(order.getId().toString());
iGuideEvolveService.insertConfig(entity);
+ iGuideRepairOrderService.updateSysUserOrderNum(entity);
return toAjax(iGuideRepairOrderService.updateConfig(order));
}
@@ -202,12 +228,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= stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get();
+ } 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());
@@ -216,6 +257,7 @@
entity.setFromUserId(sysUser.getUserId()+"");
entity.setGuideId(order.getId().toString());
iGuideEvolveService.insertConfig(entity);
+ iGuideRepairOrderService.updateSysUserOrderNum(entity);
return toAjax(iGuideRepairOrderService.updateConfig(order));
}
@@ -286,11 +328,6 @@
return ResultData.error("工单id不能为空");
}
- if(!StringUtils.equals(entity.getState(),"4"))
- {
- return ResultData.error("该工单不能评价!");
- }
-
if(StringUtils.isEmpty(entity.getEvaluateState()))
{
return ResultData.error("满意程度不能为空!");
@@ -301,7 +338,7 @@
GuideEvolveEntity guideEvolveEntity=new GuideEvolveEntity();
guideEvolveEntity.setCreateTime(LocalDateTime.now());
guideEvolveEntity.setUpdateTime(LocalDateTime.now());
- guideEvolveEntity.setState("3");
+ guideEvolveEntity.setState("13");
guideEvolveEntity.setFromDepartmentalId(sysUser.getDepartmentId());
guideEvolveEntity.setFromUserId(sysUser.getUserId()+"");
guideEvolveEntity.setGuideId(entity.getId().toString());
@@ -334,20 +371,114 @@
@GetMapping("/getList")
@Authorization
public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum,
- @RequestParam(value = "pageSize",required = false) Integer pageSize,
- @RequestParam(value = "matterName",required = false) String matterName,
+ @RequestParam(value = "pageSize",required = false) Integer pageSize,
+ @RequestParam(value = "matterName",required = false) String matterName,
+ @RequestParam(value = "status",required = false) String status,
+ @RequestParam(value = "createTimeStartTime",required = false) String createTimeStartTime,
+ @RequestParam(value = "createTimeTimeEndTime",required = false) String createTimeTimeEndTime,
+ @RequestParam(value = "classifyId",required = false)String classifyId,
@CurrentUser SysUser sysUser)
{
Assert.notNull(pageNum, "pageNum 不能为空");
Assert.notNull(pageSize, "pageSize 不能为空");
Page<GuideRepairOrder> pageParam = new Page<>(pageNum,pageSize);
- List<String> ids=iOrganizationChartService.getIds(sysUser.getDepartmentId());
- List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize,matterName,ids);
- int num=iGuideRepairOrderService.countConfigList(matterName,ids);
+ List<String> ids=null;
+ String userId=null;
+ if( StringUtils.equals("2",sysUser.getRoleIds()))
+ {
+ if(StringUtils.equals("1",sysUser.getIsDivisionHead()))
+ {
+ ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService);
+ }
+ else
+ {
+ userId=sysUser.getUserId()+"";
+ ids=new ArrayList<>();
+ ids.add(sysUser.getDepartmentId());
+ }
+ }
+ else
+ {
+ ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService);
+ }
+
+ List<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize,
+ matterName,ids,status,userId,createTimeStartTime,createTimeTimeEndTime,classifyId);
+ int num=iGuideRepairOrderService.countConfigList(matterName,ids,status,userId);
return getDataTable(list,num);
}
+ @ApiOperation("导办工单统计不同状态工单数")
+ @GetMapping("/getWorkOrder")
+ @Authorization
+ public ResultData getWorkOrder(@CurrentUser SysUser sysUser)
+ {
+ WorkOrder workOrder=new WorkOrder();
+ List<String> ids=null;
+ String userId=null;
+ if( StringUtils.equals("2",sysUser.getRoleIds()))
+ {
+ if(StringUtils.equals("1",sysUser.getIsDivisionHead()))
+ {
+ ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService);
+ }
+ else
+ {
+ userId=sysUser.getUserId()+"";
+ ids=new ArrayList<>();
+ ids.add(sysUser.getDepartmentId());
+ }
+ }
+ else
+ {
+ ids=PermissionUtil.getPermission(sysUser,iOrganizationChartService);
+ }
+
+ //状态(1待分配 2 待办结 3 已办结 4 待评价 5 已取消 )
+ workOrder.setAllNum(iGuideRepairOrderService.countStatisticsNum("",ids,null,null,null,null,null,userId));
+ workOrder.setWaitDistribution(iGuideRepairOrderService.countStatisticsNum("1",ids,null,null,null,null,null,userId));
+ workOrder.setWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,null,null,null,null,userId));
+ workOrder.setHaveDealWith(iGuideRepairOrderService.countStatisticsNum("3",ids,null,null,null,null,null,userId));
+ workOrder.setRemainEvaluated(iGuideRepairOrderService.countStatisticsNum("4",ids,null,null,null,null,null,userId));
+ workOrder.setCanceled(iGuideRepairOrderService.countStatisticsNum("5",ids,null,null,null,null,null,userId));
+
+ //服务状态(1.已解决 2.未解决)
+ workOrder.setUnsolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"2",userId));
+ workOrder.setResolved(iGuideRepairOrderService.countStatisticsNum(null,ids,null,null,null,null,"1",userId));
+
+ //是否超时 (1 未超时 2已超时) 超时未办结
+ workOrder.setOvertime(iGuideRepairOrderService.countStatisticsNum(null,ids,null,"2",null,null,null,userId));
+ workOrder.setOvertimeWaitDealWith(iGuideRepairOrderService.countStatisticsNum("2",ids,null,"2",null,null,null,userId));
+ return ResultData.success(workOrder);
+ }
+
+
+ /**
+ * 删除工单
+ * @param id
+ * @return
+ */
+ @ApiOperation(value = "删除工单",response = GuideRepairOrder.class)
+ @DeleteMapping("/delete/{id}")
+ @Authorization
+ public ResultData deleteConfigById(@PathVariable("id") String id)
+ {
+ return toAjax(iGuideRepairOrderService.deleteConfigById(id));
+ }
+
+
+ /**
+ * 删除评论
+ * @return
+ */
+ @ApiOperation(value = "删除评论",response = GuideRepairOrder.class)
+ @GetMapping("/deleteComment")
+ @Authorization
+ public ResultData deleteComment(@RequestParam(value = "id",required = false) Integer id,@CurrentUser SysUser sysUser){
+ return iGuideRepairOrderService.deleteComment(id,sysUser);
+ }
+
}
--
Gitblit v1.7.1