From 4040856595952ea0b8f8b764ba2770d5c244c891 Mon Sep 17 00:00:00 2001 From: yanghui <2536613402@qq.com> Date: 星期五, 14 十月 2022 11:19:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/huacheng_test' into local_20221010 --- flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java | 317 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 317 insertions(+), 0 deletions(-) diff --git a/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java b/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java new file mode 100644 index 0000000..d37a4ed --- /dev/null +++ b/flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java @@ -0,0 +1,317 @@ +package com.dg.core.api; + + +import com.alibaba.fastjson.JSON; +import com.dg.core.ResultData; +import com.dg.core.annotation.Authorization; +import com.dg.core.annotation.CurrentUser; +import com.dg.core.controller.BaseController; +import com.dg.core.db.gen.entity.GuideEvolveEntity; +import com.dg.core.db.gen.entity.GuideRepairOrder; +import com.dg.core.db.gen.entity.SysUser; +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.util.SmsUtil; +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.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Map; + +import static com.dg.core.util.WxUtil.httpGet; + + +/** + * 工单管理 + */ +@Api(tags = {"工单管理小程序接口"}) +@RestController +@RequestMapping("/applets/guideRepairOrder") +public class GuideRepairOrderAppletsController extends BaseController { + + @Resource + private IGuideRepairOrderService iGuideRepairOrderService; + + @Autowired + private IGuideEvolveService iGuideEvolveService; + + private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk"; + + @Resource + SmsUtil smsUtil; + + /** + * 提交导办订单 + * @return + */ + @ApiOperation(value = "提交导办订单",response = GuideRepairOrder.class) + @PostMapping("/addOrder") + @Authorization + public ResultData addOrder(@RequestBody GuideRepairOrder guideRepairOrder,@CurrentUser SysUser sysUser) { + guideRepairOrder.setSubmitUserId(sysUser.getUserId().toString()); + guideRepairOrder.setSubmitUserPhone(sysUser.getPhonenumber()); + guideRepairOrder.setSubmitType(1); + int i = iGuideRepairOrderService.addOrder(guideRepairOrder); + if (i>0){ + iGuideEvolveService.updateGuid(); + return ResultData.success(); + } + else + return ResultData.error("提交失败,请检查你是否有相同的咨询内容在处理中"); + } + + + /** + * 获取详情 + * @param Id + * @param orderNum + * @return + */ + @ApiOperation(value = "获取订单详情",response = GuideRepairOrder.class) + @GetMapping("/orderdata") + @Authorization + public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id, + @RequestParam(value = "orderNum",required = false) String orderNum) + { + if(StringUtils.isEmpty(Id) && StringUtils.isEmpty(orderNum)) + { + return ResultData.error("id或者订单号不能都为空"); + } + + GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(Id,orderNum); + order.setGuideEvolveEntities(iGuideEvolveService.selectConfigList(Id)); + + return ResultData.success(order); + } + + + + + + /** + * 转派人员 + * @param order + * @return + */ + @ApiOperation(value = "转派人员",response = GuideRepairOrder.class) + @PostMapping("/redeploy") + @Authorization + public ResultData redeploy(@RequestBody GuideRepairOrder order, @CurrentUser SysUser sysUser) + { + if(order==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(order.getGuideDepartmentId())) + { + return ResultData.error("导办部门id不能为空"); + } + + if(StringUtils.isEmpty(order.getGuideUserId())) + { + return ResultData.error("导办人员id不能为空"); + } + + + //已分配 + order.setState("2"); + + //新增转派记录 + GuideEvolveEntity entity=new GuideEvolveEntity(); + entity.setCreateTime(LocalDateTime.now()); + entity.setUpdateTime(LocalDateTime.now()); + entity.setState("12"); + 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)); + } + + + + /** + * 去处理 + * @param entity + * @return + */ + @ApiOperation(value = "去处理",response = GuideRepairOrder.class) + @PostMapping("/dispose") + @Authorization + public ResultData dispose(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(entity.getGuideId())) + { + return ResultData.error("工单id不能为空"); + } + + GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(entity.getGuideId(),""); + if(order==null) + { + return ResultData.error("该工单不存在!"); + } + + if(StringUtils.equals(order.getState(),"3")) + { + return ResultData.error("该工单已办结!"); + } + if(StringUtils.equals(entity.getState(),"2")){//如果用户选择未解决则状态改为待办 + order.setState("2"); + entity.setState("8"); + } + 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,order); + } + else if (order.getSubmitType().equals(2)){ + smsUtil.sendSmsComplete(order.getSubmitUserPhone(),order.getMatterName()); + } + //待评价 + order.setState("4"); + entity.setState("9"); + } + //新增已办结记录 + entity.setCreateTime(LocalDateTime.now()); + entity.setUpdateTime(LocalDateTime.now()); + entity.setDepartmentalId(order.getGuideDepartmentId()); + entity.setToUserId(order.getGuideUserId()); + entity.setGuideId(order.getId().toString()); + iGuideEvolveService.insertConfig(entity); + return toAjax(iGuideRepairOrderService.updateConfig(order)); + } + + + /** + * 取消导办工单 + * @param entity + * @return + */ + @ApiOperation(value = "取消导办工单",response = GuideRepairOrder.class) + @PostMapping("/cancel") + @Authorization + public ResultData cancel(@RequestBody GuideEvolveEntity entity, @CurrentUser SysUser sysUser) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(StringUtils.isEmpty(entity.getGuideId())) + { + return ResultData.error("工单id不能为空"); + } + + GuideRepairOrder order=iGuideRepairOrderService.selectConfigData(entity.getGuideId(),""); + if(order==null) + { + return ResultData.error("该工单不存在!"); + } + + if(!StringUtils.equals(order.getState(),"1")) + { + return ResultData.error("该工单不能取消!"); + } + //取消状态 + order.setState("5"); + + //新增已取消记录 + entity.setCreateTime(LocalDateTime.now()); + entity.setUpdateTime(LocalDateTime.now()); + entity.setState("5"); + entity.setDepartmentalId(sysUser.getDepartmentId()); + entity.setToUserId(sysUser.getUserId()+""); + iGuideEvolveService.insertConfig(entity); + return toAjax(iGuideRepairOrderService.updateConfig(order)); + } + + + + /** + * 工单评价 + * @param entity + * @return + */ + @ApiOperation(value = "工单评价",response = GuideRepairOrder.class) + @PostMapping("/evaluate") + @Authorization + public ResultData evaluate(@RequestBody GuideRepairOrder entity, @CurrentUser SysUser sysUser) + { + if(entity==null) + { + return ResultData.error("参数不能为空"); + } + + if(entity.getId()<=0) + { + return ResultData.error("工单id不能为空"); + } + + if(!StringUtils.equals(entity.getState(),"4")) + { + return ResultData.error("该工单不能评价!"); + } + + if(StringUtils.isEmpty(entity.getEvaluateState())) + { + return ResultData.error("满意程度不能为空!"); + } + + //已办结 + entity.setState("3"); + //新增已办结记录 + GuideEvolveEntity guideEvolveEntity=new GuideEvolveEntity(); + guideEvolveEntity.setCreateTime(LocalDateTime.now()); + guideEvolveEntity.setUpdateTime(LocalDateTime.now()); + guideEvolveEntity.setState("3"); + 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(); + } + + /** + * 获取个人中心工单数据 + * @param sysUser 当前登录人员信息 + * @return + */ + @ApiOperation(value = "获取个人中心工单数据",response = GuideRepairOrder.class) + @GetMapping("/personalCenter") + @Authorization + public ResultData selectBySubmitId(@CurrentUser SysUser sysUser){ + return ResultData.success(iGuideRepairOrderService.selectBySubmitId(sysUser.getUserId().toString())); + } + + + + + +} -- Gitblit v1.7.1