flower_city/src/main/java/com/dg/core/api/GuideRepairOrderAppletsController.java
@@ -9,6 +9,7 @@ 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.service.IOrganizationChartService; @@ -20,6 +21,7 @@ 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.*; @@ -44,6 +46,9 @@ @Resource IOrganizationChartService iOrganizationChartService; @Resource(name = "stringRedisTemplate") private StringRedisTemplate stringRedisTemplate; private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk"; @@ -184,7 +189,7 @@ WxUtil wxUtil=new WxUtil(); String accessToken="0"; try { accessToken= wxUtil.getBatteryCarAccessToken(); accessToken= stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get().toString(); } catch (Exception e) { throw new RuntimeException(e); } flower_city/src/main/java/com/dg/core/controller/GuideRepairOrderController.java
@@ -7,6 +7,7 @@ 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; @@ -18,6 +19,7 @@ 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.*; @@ -42,6 +44,9 @@ @Autowired IOrganizationChartService iOrganizationChartService; @Resource(name = "stringRedisTemplate") private StringRedisTemplate stringRedisTemplate; private static String guideRepairOrderCompleteTemplateId = "7ZCHHii87rWPwVkdhZnvNiYbYi_Buq0NXO10cmUhAFk"; @@ -231,7 +236,7 @@ WxUtil wxUtil=new WxUtil(); String accessToken="0"; try { accessToken= wxUtil.getBatteryCarAccessToken(); accessToken= stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get().toString(); } catch (Exception e) { throw new RuntimeException(e); } flower_city/src/main/java/com/dg/core/service/impl/GuideRepairOrderServiceImpl.java
@@ -7,6 +7,7 @@ import com.dg.core.ResultData; import com.dg.core.db.gen.entity.*; import com.dg.core.db.gen.mapper.*; import com.dg.core.db.manual.mapper.util.ConstantPropertiesUtil; import com.dg.core.service.IGuideRepairOrderService; import com.dg.core.service.ISysSettingsService; import com.dg.core.util.SmsUtil; @@ -14,8 +15,10 @@ import com.dg.core.util.TestDate; import com.dg.core.util.WxUtil; import com.iceyyy.workday.WorkUtils; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.time.LocalDate; import java.time.LocalDateTime; @@ -46,8 +49,15 @@ @Resource private AutomessageSysSettingsMapper iSysSettingsMapper; @Resource SmsUtil smsUtil; @Resource(name = "stringRedisTemplate") private StringRedisTemplate stringRedisTemplate; private static WxUtil wxUtil; @Override public int addOrder(GuideRepairOrder guideRepairOrder) { @@ -90,11 +100,24 @@ departmentIds = this.getDepartmentIds(organizationChartEntitiesUser, departmentIds); } sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getClassifyId(), transactionEvent.getClassifyId() + ",");//获取导半人员 if (sysUsers.size() == 0) {//如果其下级部门仍没有该分类的导半人员则查询所以该所属地区的导办人员 if (sysUsers.size() == 0) {//如果该所属地区没有导办人员则为获取其上級地区有没有相关分类导办人员 List<String> departmentIdsParent = new ArrayList<>(); departmentIdsParent.addAll(departmentIds); for (String departmentId : departmentIdsParent) { OrganizationChartEntity organizationChart = organizationChartMapper.selectOne(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getId, departmentId)); OrganizationChartEntity organizationChartParent = organizationChartMapper.selectOne(new QueryWrapper<OrganizationChartEntity>().lambda().eq(OrganizationChartEntity::getId, organizationChart.getParentId())); departmentIds.add(organizationChartParent.getId().toString()); } sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, "," + transactionEvent.getClassifyId(), transactionEvent.getClassifyId() + ",");//获取导半人员 if (sysUsers.size() == 0) { sysUsers = sysUserMapper.selectListByDepartmentId(departmentIds, null, null);//获取导半人员 if (sysUsers.size() == 0)//如果该所属地区没有导办人员则为特殊单据需要手动分配 if (sysUsers.size() == 0) { //如果该所属地区没有导办人员则为特殊单据需要手动分配 guideRepairOrder.setState("1"); } } } } if (sysUsers.size() > 0) {//系统分配导办人员 SysUser sysUser = sysUsers.get(0);//因为sql用了升序排序所以第一条就是待办结最少的人员之一 @@ -338,7 +361,7 @@ WxUtil wxUtil = new WxUtil(); String accessToken = "0"; try { accessToken = wxUtil.getBatteryCarAccessToken(); accessToken = stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get().toString(); } catch (Exception e) { throw new RuntimeException(e); } @@ -370,14 +393,13 @@ WxUtil wxUtil = new WxUtil(); String accessToken = "0"; try { accessToken = wxUtil.getBatteryCarAccessToken(); accessToken = stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get().toString(); } catch (Exception e) { throw new RuntimeException(e); } for (GuideRepairOrder guideRepairOrder:guideRepairOrders) { SysUser sysUser = sysUserMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId, guideRepairOrder.getGuideUserId())); if (sysUser!=null) { if (sysUser != null) { smsUtil.sendSmsOvertime(sysUser.getPhonenumber(), sysUser.getUserName()); wxUtil.sendGuideRepairOrderOvertime(sysUser.getOpenid(),accessToken,"86JgWHhR8b1XxD72WYqMnndyfkiMtSSoCk9NFMwLEZ8",sysUser); guideRepairOrder.setIsPush(1); flower_city/src/main/java/com/dg/core/util/WxUtil.java
@@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.dg.core.annotation.Authorization; import com.dg.core.db.gen.entity.GuideEvolveEntity; import com.dg.core.db.gen.entity.GuideRepairOrder; import com.dg.core.db.gen.entity.SysUser; @@ -17,7 +18,9 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import javax.annotation.Resource; import java.io.BufferedReader; import java.io.IOException; @@ -32,8 +35,16 @@ private static String miniprogramState="trial";//trial 为测试版 formal 为正式版 切记发布版本时候改为正式版 @Resource StringRedisTemplate stringRedisTemplate; @Resource(name = "stringRedisTemplate") private StringRedisTemplate stringRedisTemplate; private static WxUtil wxUtil; @PostConstruct public void init() { wxUtil = this; wxUtil.stringRedisTemplate = this.stringRedisTemplate; } /** * 获取花城token,(ps:0=token获取失败) @@ -55,7 +66,7 @@ // } catch (IOException ioe) { // ioe.printStackTrace(); // } accessToken =stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get().toString(); accessToken =wxUtil.stringRedisTemplate.boundValueOps("access_token:access_token:" + ConstantPropertiesUtil.WX_OPEN_APP_ID).get().toString(); return accessToken; } flower_city/src/main/resources/mapper/OrganizationChartMapper.xml
@@ -102,9 +102,9 @@ <select id="selectByKeyWord" resultMap="OrganizationChartResult"> <include refid="selectOrganizationChartVo"/> where organization_name like concat('%', #{keyWord}, '%') where grade=1 and ( organization_name like concat('%', #{keyWord}, '%') or((detailed_address like concat('%', #{keyWord}, '%') ) and TRIM(detailed_address) !='') or((resume like concat('%', #{keyWord}, '%') ) and TRIM(resume) != '' ) or((resume like concat('%', #{keyWord}, '%') ) and TRIM(resume) != '' )) </select> <select id="selectByCode" resultMap="OrganizationChartResult"> flower_city/src/main/resources/mapper/TransactionEventMapper.xml
@@ -431,7 +431,7 @@ <select id="selectSearch" resultType="com.dg.core.db.manual.pojo.Search"> select id,title,content,views, type FROM( select id,organization_name title,resume content,null views,1 type from automessage_organization_chart UNION select id,organization_name title,resume content,null views,1 type from automessage_organization_chart where grade=1 UNION select id,matter_name title,concat((select classify_name from automessage_classify_administration where id=(select parent_id from automessage_classify_administration where id=automessage_transaction_event.classify_id)), '>',(select classify_name from automessage_classify_administration where id=automessage_transaction_event.classify_id)) content,