From f319da9fce782232b09d8587adb4c7e642f58204 Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期六, 15 十月 2022 16:39:28 +0800
Subject: [PATCH] 修改小程序获取不到用户信息 bug
---
flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java | 153 ++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 144 insertions(+), 9 deletions(-)
diff --git a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
index a95049c..388de7c 100644
--- a/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
+++ b/flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -4,20 +4,20 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dg.core.db.gen.entity.*;
-import com.dg.core.db.gen.mapper.GuideRepairOrderImageMapper;
-import com.dg.core.db.gen.mapper.GuideRepairOrderMapper;
-import com.dg.core.db.gen.mapper.SysUserMapper;
-import com.dg.core.db.gen.mapper.TransactionEventMapper;
+import com.dg.core.db.gen.mapper.*;
import com.dg.core.service.IGuideRepairOrderService;
+import com.dg.core.util.SmsUtil;
import com.dg.core.util.Snowflake;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
+import java.util.ArrayList;
import java.util.List;
@Service
-public class GuideRepairOrderServiceImpl extends ServiceImpl<GuideRepairOrderMapper, GuideRepairOrder> implements IGuideRepairOrderService {
+public class GuideRepairOrderServiceImpl extends ServiceImpl<GuideRepairOrderMapper, GuideRepairOrder>
+ implements IGuideRepairOrderService {
@Resource
private TransactionEventMapper transactionEventMapper;
@@ -27,6 +27,15 @@
@Resource
private SysUserMapper sysUserMapper;
+
+ @Resource
+ private OrganizationChartMapper organizationChartMapper;
+
+ @Resource
+ private GuideEvolveMapper guideEvolveMapper;
+
+ @Resource
+ SmsUtil smsUtil;
@Override
public int addOrder(GuideRepairOrder guideRepairOrder){
@@ -37,11 +46,73 @@
guideRepairOrder.setMatterName(transactionEvent.getMatterName());
guideRepairOrder.setDepartmentId(transactionEvent.getDepartmentId());
guideRepairOrder.setClassifyId(transactionEvent.getClassifyId());
- sysUserMapper.selectListByDepartmentId(null, "," + guideRepairOrder.getMatterId(), guideRepairOrder.getMatterId() + ",");
- guideRepairOrder.setState("1");
+ List<String> departmentIds=new ArrayList<>();
+ Boolean isAdd=true;//是否能够新建工单
+ List<GuideRepairOrder> guideRepairOrders = baseMapper.selectList(new QueryWrapper<GuideRepairOrder>().lambda()
+ .eq(GuideRepairOrder::getMatterId, guideRepairOrder.getMatterId())
+ .eq(GuideRepairOrder::getConsultContent, guideRepairOrder.getConsultContent()));
+ if (guideRepairOrders.size()==0){
+ isAdd=true;
+ }else {
+ for (GuideRepairOrder guideRepair:guideRepairOrders) {
+ if (guideRepair.getState().equals("1")||guideRepair.getState().equals("2")||guideRepair.getState().equals("6")||guideRepair.getState().equals("7")){
+ isAdd=false;
+ break;
+ }
+ }
+ }
+ if (isAdd) {
+ //自动分配业务代码开始
+ List<OrganizationChartEntity> organizationChartEntities = organizationChartMapper.selectByCode(guideRepairOrder.getAreaCode());
+ if (organizationChartEntities!=null){
+ for (OrganizationChartEntity organizationChart:organizationChartEntities) {
+ departmentIds.add(organizationChart.getId().toString());
+ }
+ List<SysUser> sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getClassifyId(), transactionEvent.getClassifyId() + ",");//获取导半人员
+ if (sysUsers.size()==0) {//如果此所属地区部门没有导半人员则看其下级地区有没有相关分类导办人员
+ for (OrganizationChartEntity organizationChart:organizationChartEntities) {
+ //获取下级部门
+ List<OrganizationChartEntity> organizationChartEntitiesUser = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda()
+ .eq(OrganizationChartEntity::getParentId, organizationChart.getId().toString()));
+ if (organizationChartEntitiesUser!=null)
+ departmentIds=this.getDepartmentIds(organizationChartEntitiesUser,departmentIds);
+ }
+ sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getClassifyId(), transactionEvent.getClassifyId() + ",");//获取导半人员
+ if (sysUsers.size()==0){//如果其下级部门仍没有该分类的导半人员则查询所以该所属地区的导办人员
+ sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds,null,null);//获取导半人员
+ if(sysUsers.size()==0)//如果该所属地区没有导办人员则为特殊单据需要手动分配
+ guideRepairOrder.setState("1");
+ }
+ }
+ if (sysUsers.size()>0){//系统分配导办人员
+ SysUser sysUser = sysUsers.get(0);//因为sql用了升序排序所以第一条就是待办结最少的人员之一
+ guideRepairOrder.setState("2");
+ sysUser.setTransactionNum(sysUser.getTransactionNum()+1);
+ sysUserMapper.updateById(sysUser);
+ guideRepairOrder.setGuideUserId(sysUser.getUserId().toString());
+ guideRepairOrder.setGuideDepartmentId(sysUser.getDepartmentId());
+ //新增分配记录
+ GuideEvolveEntity entity=new GuideEvolveEntity();
+ entity.setCreateTime(LocalDateTime.now());
+ entity.setUpdateTime(LocalDateTime.now());
+ entity.setState("10");
+ entity.setDepartmentalId(sysUser.getDepartmentId());
+ entity.setToUserId(guideRepairOrder.getGuideUserId()+"");
+ entity.setFromUserId(guideRepairOrder.getSubmitUserId());
+ entity.setFromDepartmentalId(guideRepairOrder.getGuideDepartmentId());
+ entity.setGuidOrderNum(guideRepairOrder.getOrderNum());
+// smsUtil.sendSmsOvertime(sysUser.getPhonenumber(),guideRepairOrder.getMatterName());
+ guideEvolveMapper.insertConfig(entity);
+ }
+ }
+ else{//如果该办事指南用户所选所属地区无导半部门则为特殊单据需要手动分配
+ guideRepairOrder.setState("1");
+ }
+ //自动分配业务代码结束
guideRepairOrder.setCreateTime(LocalDateTime.now());
guideRepairOrder.setUpdateTime(LocalDateTime.now());
transactionEvent.setTransactionNum(transactionEvent.getTransactionNum()+1);
+ //保存图片地址
if (guideRepairOrder.getImages()!=null){
String[] images = guideRepairOrder.getImages().split(",");
for (String image: images) {
@@ -54,6 +125,7 @@
guideRepairOrderImageMapper.insert(guideRepairOrderImage);
}
}
+ //保存视频地址
if (guideRepairOrder.getVideo()!=null){
if (guideRepairOrder.getOrderNum()!=null){
GuideRepairOrderImage guideRepairOrderImage = new GuideRepairOrderImage();
@@ -65,13 +137,29 @@
guideRepairOrderImageMapper.insert(guideRepairOrderImage);
}
}
+
int ans= baseMapper.insert(guideRepairOrder);
int i = transactionEventMapper.updateById(transactionEvent);
if (ans>0&&i>0)
return 1;
else
return 0;
+ }
+ else {
+ return 0;
+ }
+ }
+ public List<String> getDepartmentIds( List<OrganizationChartEntity> organizationChartEntities,List<String> departmentIds){
+ for (OrganizationChartEntity organizationChart:organizationChartEntities) {
+ departmentIds.add(organizationChart.getId().toString());
+ List<OrganizationChartEntity> organizationChartEntitiesUser = organizationChartMapper.selectList(new QueryWrapper<OrganizationChartEntity>().lambda()
+ .eq(OrganizationChartEntity::getParentId, organizationChart.getId().toString()));
+ if (organizationChartEntitiesUser!=null)
+ departmentIds=this.getDepartmentIds(organizationChartEntitiesUser,departmentIds);
+
+ }
+ return departmentIds;
}
@Override
@@ -81,8 +169,11 @@
@Override
public int updateConfig(GuideRepairOrder order) {
- SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getGuideUserId()));
- order.setGuideUserPhone(sysUser.getPhonenumber());
+ if ( order.getGuideUserId()!=null&&!order.getGuideUserId().equals(""))
+ {
+ SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getGuideUserId()));
+ order.setGuideUserPhone(sysUser.getPhonenumber());
+ }
return baseMapper.updateConfig(order);
}
@@ -101,5 +192,49 @@
return baseMapper.countConfigList(matterName,ids);
}
+ @Override
+ public int countUser(String userId, String state) {
+ return baseMapper.countUser(userId,state);
+ }
+
+ @Override
+ public int updateSysUserOrderNum(GuideEvolveEntity order) {
+ if(order.getState().equals("13")){
+ SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
+ sysUser.setTransactionNum(sysUser.getTransactionNum()+1);
+ return sysUserMapper.updateById(sysUser);
+ }else if(order.getState().equals("12")){
+ SysUser sysUserTo= sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getToUserId()));
+ SysUser sysUserFrom= sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, order.getFromUserId()));
+ sysUserTo.setTransactionNum(sysUserTo.getTransactionNum()+1);
+ sysUserFrom.setTransactionNum(sysUserFrom.getTransactionNum()-1);
+ sysUserMapper.updateById(sysUserFrom);
+ return sysUserMapper.updateById(sysUserTo);
+ }
+ return 0;
+ }
+
+ /**
+ * 1 今天 2昨天 3本月 4本年度 String time
+ * @param state
+ * @param ids
+ * @return
+ */
+ @Override
+ public int countStatisticsNum(String state,List<String> ids,String time,
+ String isTimeout,String evaluateState,List<String> classifyIds) {
+ return baseMapper.countStatisticsNum(state,ids,time,isTimeout,evaluateState,classifyIds);
+ }
+
+ @Override
+ public List<CountListNum> countListNum(String state, List<String> ids, Integer time) {
+ return baseMapper.countListNum(state, ids,time);
+ }
+
+ @Override
+ public SysUser getSubmitUser(GuideRepairOrder guideRepairOrder){
+ return sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,guideRepairOrder.getSubmitUserId()));
+ }
+
}
--
Gitblit v1.7.1