From 4b92c6f30a86ad0f804614b2659c1dda368b8fdd Mon Sep 17 00:00:00 2001 From: fengjin <1435304038@qq.com> Date: 星期一, 05 十二月 2022 16:57:02 +0800 Subject: [PATCH] 更换短信平台 --- flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java | 204 +++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 174 insertions(+), 30 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 940b9f7..12f8fd3 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,18 +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; /** @@ -35,6 +42,19 @@ @Autowired private IGuideEvolveService iGuideEvolveService; + @Autowired + IOrganizationChartService iOrganizationChartService; + + @Resource(name = "stringRedisTemplate") + private StringRedisTemplate stringRedisTemplate; + + private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk"; + + + @Resource + SmsUtil smsUtil; + + /** * 提交导办订单 * @return @@ -45,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("提交失败,请检查你是否有相同的咨询内容在处理中"); } @@ -59,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)) { @@ -67,7 +96,7 @@ } GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(Id,orderNum); - order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id)); + order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id,sysUser)); return ResultData.success(order); } @@ -107,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)); } @@ -152,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)); } @@ -198,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.sendSmsCompleteNew(order.getConsultUserPhone(),order.getMatterName()); + } order.setState("4"); - entity.setState("9"); + entity.setState("7"); } //新增已办结记录 entity.setCreateTime(LocalDateTime.now()); @@ -212,6 +257,7 @@ entity.setFromUserId(sysUser.getUserId()+""); entity.setGuideId(order.getId().toString()); iGuideEvolveService.insertConfig(entity); + iGuideRepairOrderService.updateSysUserOrderNum(entity); return toAjax(iGuideRepairOrderService.updateConfig(order)); } @@ -282,11 +328,6 @@ return ResultData.error("工单id不能为空"); } - if(!StringUtils.equals(entity.getState(),"4")) - { - return ResultData.error("该工单不能评价!"); - } - if(StringUtils.isEmpty(entity.getEvaluateState())) { return ResultData.error("满意程度不能为空!"); @@ -297,13 +338,15 @@ 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()); - iGuideEvolveService.insertConfig(guideEvolveEntity); - - return toAjax(iGuideRepairOrderService.updateConfig(entity)); + int i = iGuideRepairOrderService.updateConfig(entity); + if (i>0) + return toAjax( iGuideEvolveService.insertConfig(guideEvolveEntity)); + else + return ResultData.error(); } /** @@ -328,17 +371,118 @@ @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<GuideRepairOrder> list = iGuideRepairOrderService.selectConfigList(pageParam,pageSize,matterName); - int num=iGuideRepairOrderService.countConfigList(matterName); + + 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,@CurrentUser SysUser sysUser) + { + if(StringUtils.equals("1",sysUser.getUserType()) || StringUtils.equals("1",sysUser.getIsDivisionHead()) ) + { + return toAjax(iGuideRepairOrderService.deleteConfigById(id)); + } + return error("只有超管或者部门领导才能删除"); + } + + + /** + * 删除评论 + * @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