Commit a2c0ea480aac112e2146d3cf3f3fbb63e40be316

Authored by liquanyu
1 parent 9335c28353
Exists in master and in 1 other branch dev

update code

Showing 12 changed files with 251 additions and 96 deletions

platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/CouponServiceImpl.java View file @ a2c0ea4
... ... @@ -498,7 +498,7 @@
498 498 Map<String, String> params = new HashMap<>();
499 499 params.put("hId", hId);
500 500 params.put("dpId", person.getType() == 2 ? "2" : "1");
501   -
  501 + //调用本地
502 502 if(type == 1) {
503 503 WeixinQrcodeConfigQuery query = new WeixinQrcodeConfigQuery();
504 504 query.setDpId(person.getType() == 2 ? 2 : 1);
platform-common/src/main/java/com/lyms/platform/common/utils/HttpClientUtil.java View file @ a2c0ea4
... ... @@ -180,7 +180,7 @@
180 180 map.put("page","1");
181 181 map.put("limit","10");
182 182 long start = System.currentTimeMillis();
183   - String s = doGet("https://area-dz-api.healthbaby.com.cn:12356/getNoSendLis", map, "utf-8","3d19960bf3e81e7d816c4f26051c49ba");
  183 + String s = doGet("https://area-lc-api.healthbaby.com.cn:55581/getNoSendLis", map, "utf-8","3d19960bf3e81e7d816c4f26051c49ba");
184 184  
185 185 long end = System.currentTimeMillis();
186 186 System.out.print(end -start);
platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java View file @ a2c0ea4
... ... @@ -1429,7 +1429,7 @@
1429 1429 }
1430 1430 }
1431 1431  
1432   - if (null != fmHospital) {
  1432 + if (StringUtils.isNotEmpty(fmHospital)) {
1433 1433 condition = condition.and("fmHospital", fmHospital, MongoOper.IS);
1434 1434 }
1435 1435  
platform-msg-generate/src/main/java/com/lyms/platform/msg/service/IMsgGenerateService.java View file @ a2c0ea4
... ... @@ -11,7 +11,17 @@
11 11 */
12 12 void generatePatAmsMsg(String hospitalId);
13 13  
  14 + /**
  15 + * 生成儿童ams推送消息
  16 + * @param hospitalId
  17 + */
  18 + void generateBabyAmsMsg(String hospitalId);
14 19  
  20 +
  21 + /**
  22 + * 生成模板推送消息
  23 + * @param hospitalId
  24 + */
15 25 void generateTemplateMsg(String hospitalId);
16 26 }
platform-msg-generate/src/main/java/com/lyms/platform/msg/service/impl/MsgGenerateServiceImpl.java View file @ a2c0ea4
... ... @@ -4,6 +4,7 @@
4 4 import com.lyms.platform.msg.service.IBaseService;
5 5 import com.lyms.platform.msg.service.IMsgGenerateService;
6 6 import com.lyms.platform.msg.utils.DateUtils;
  7 +import com.lyms.platform.msg.worker.BabyAmsMsgGenerateWorker;
7 8 import com.lyms.platform.msg.worker.TempleteMsgGenerateWorker;
8 9 import com.lyms.platform.msg.worker.YunAmsMsgGenerateWorker;
9 10 import com.lyms.platform.permission.service.OrganizationService;
... ... @@ -72,6 +73,32 @@
72 73  
73 74 }
74 75  
  76 + }
  77 +
  78 + /**
  79 + * 生成儿童的AMS推送消息
  80 + * @param generateHospitalId 医院id
  81 + */
  82 + @Override
  83 + public void generateBabyAmsMsg(String generateHospitalId) {
  84 + String week = DateUtils.getWeekOfDate(new Date());
  85 + List<SmsConfigModel> configModels = baseService.getHospitalConfigsByWeek(generateHospitalId);
  86 + logger.info("The configs hospital size is {}",configModels.size());
  87 + if (CollectionUtils.isNotEmpty(configModels))
  88 + {
  89 + int batchSize = 5;
  90 + int end = 0;
  91 + for (int i = 0; i < configModels.size(); i += batchSize) {
  92 + end = (end + batchSize);
  93 + if (end > configModels.size()) {
  94 + end = configModels.size();
  95 + }
  96 + BabyAmsMsgGenerateWorker checkPointCountWorker = new BabyAmsMsgGenerateWorker(configModels.subList(i,end),
  97 + baseService,babyBookbuildingService,week);
  98 + pool.submit(checkPointCountWorker);
  99 + }
  100 +
  101 + }
75 102 }
76 103  
77 104 /**
platform-msg-generate/src/main/java/com/lyms/platform/msg/worker/BabyAmsMsgGenerateWorker.java View file @ a2c0ea4
  1 +package com.lyms.platform.msg.worker;
  2 +
  3 +import com.lyms.platform.beans.MessageListRequest;
  4 +import com.lyms.platform.beans.MessageRequest;
  5 +import com.lyms.platform.biz.service.BabyBookbuildingService;
  6 +import com.lyms.platform.biz.service.HighRiskService;
  7 +import com.lyms.platform.biz.service.YunBookbuildingService;
  8 +import com.lyms.platform.common.enums.*;
  9 +import com.lyms.platform.common.utils.DateUtil;
  10 +import com.lyms.platform.common.utils.JsonUtil;
  11 +import com.lyms.platform.common.utils.StringUtils;
  12 +import com.lyms.platform.msg.model.MessageContent;
  13 +import com.lyms.platform.msg.remote.AmsMessageService;
  14 +import com.lyms.platform.msg.remote.SaveMessageService;
  15 +import com.lyms.platform.msg.service.IBaseService;
  16 +import com.lyms.platform.msg.utils.DateUtils;
  17 +import com.lyms.platform.msg.utils.HelperUtils;
  18 +import com.lyms.platform.pojo.BabyModel;
  19 +import com.lyms.platform.pojo.HighRiskSmsModel;
  20 +import com.lyms.platform.pojo.Patients;
  21 +import com.lyms.platform.pojo.SmsConfigModel;
  22 +import com.lyms.platform.query.BabyModelQuery;
  23 +import com.lyms.platform.query.HighRiskSmsQuery;
  24 +import com.lyms.platform.query.PatientsQuery;
  25 +import org.apache.commons.collections.CollectionUtils;
  26 +import org.slf4j.Logger;
  27 +import org.slf4j.LoggerFactory;
  28 +
  29 +import java.util.*;
  30 +
  31 +/**
  32 + * Created by lqy on 2017-07-18.
  33 + */
  34 +public class BabyAmsMsgGenerateWorker implements Runnable {
  35 +
  36 +
  37 + private static final Logger logger = LoggerFactory.getLogger(BabyAmsMsgGenerateWorker.class);
  38 +
  39 +
  40 +
  41 + private List<SmsConfigModel> configs;
  42 +
  43 + private IBaseService baseService;
  44 +
  45 + private BabyBookbuildingService babyBookbuildingService;
  46 +
  47 + private String week;
  48 +
  49 +
  50 + public BabyAmsMsgGenerateWorker(List<SmsConfigModel> configs, IBaseService baseService,
  51 + BabyBookbuildingService babyBookbuildingService,
  52 + String week)
  53 + {
  54 + this.configs = configs;
  55 + this.baseService = baseService;
  56 + this.babyBookbuildingService = babyBookbuildingService;
  57 + this.week = week;
  58 + }
  59 +
  60 + @Override
  61 + public void run() {
  62 + if (CollectionUtils.isNotEmpty(configs))
  63 + {
  64 + for (SmsConfigModel config : configs)
  65 + {
  66 + String hospitalId = config.getHospitalId();
  67 + if (StringUtils.isEmpty(hospitalId))
  68 + {
  69 + continue;
  70 + }
  71 +
  72 + //判断医院是否运行
  73 + if (!baseService.isRunning(hospitalId))
  74 + {
  75 + continue;
  76 + }
  77 +
  78 + String serviceStr = config.getSmsService();
  79 +
  80 + //判断消息服务是否启动
  81 + boolean isStart = baseService.isStartService(SmsServiceEnums.YBZD.getId(), serviceStr);
  82 + if (!isStart)
  83 + {
  84 + continue;
  85 + }
  86 +
  87 + // 查询模板短信 从ams平台配置的短信通过医院IDa
  88 + Map<String, List<MessageContent>> amsSmses = AmsMessageService
  89 + .getMessageTemplateMap(String.valueOf(hospitalId),
  90 + AmsServiceTypeEnum.CHILD_GUIDE);
  91 +
  92 + BabyModelQuery babyQuery = new BabyModelQuery();
  93 + babyQuery.setYn(YnEnums.YES.getId());
  94 + babyQuery.setHospitalId(hospitalId);
  95 +
  96 + List buildType = new ArrayList();
  97 + buildType.add(1);
  98 + buildType.add(2);
  99 + babyQuery.setSmsBuildTypeList(buildType);
  100 +
  101 + //儿童年龄满三岁就不在提供短信服务
  102 + Date birthdayMax = DateUtil.addYear(new Date(), -3);
  103 + babyQuery.setBirthStart(birthdayMax);
  104 + //健康指导短信 只能是类型为 增值服务 开通状态 才发送
  105 + babyQuery.setServiceType(ServiceTypeEnums.ADD_SERVICE.getId());
  106 + babyQuery.setServiceStatus(ServiceStatusEnums.ADD_OPEN.getId());
  107 + //查询符合条件儿童
  108 + List<BabyModel> babies = babyBookbuildingService.queryBabyBuildByCond(babyQuery);
  109 +
  110 +
  111 + if (CollectionUtils.isNotEmpty(babies))
  112 + {
  113 +
  114 + //发送短信集合
  115 + MessageListRequest list = new MessageListRequest();
  116 + List<MessageRequest> messages = new ArrayList<>();
  117 + for (BabyModel baby : babies)
  118 + {
  119 + if (baby == null || baby.getBirth() == null)
  120 + {
  121 + continue;
  122 + }
  123 +
  124 + String messagePrefix = config.getHospitalPrefix();
  125 + //前缀类型 0医院前缀 1科室前缀
  126 + if (config.getPrefixType() == 1)
  127 + {
  128 + String res = baseService.getDeptPrefix(baby.getBuildDoctor(), config.getDeptPrefix());
  129 + messagePrefix = res == "" ? messagePrefix : res;
  130 + }
  131 +
  132 +
  133 + int weeks = DateUtil.daysBetween(baby.getBirth(),new Date()) / 7;
  134 + String weekAge = String.valueOf(weeks);
  135 + //得到符合当前周龄的短信条数
  136 + List<MessageContent> messageContents = amsSmses.get(weekAge);
  137 +
  138 + if (CollectionUtils.isNotEmpty(messageContents))
  139 + {
  140 + for(MessageContent message : messageContents)
  141 + {
  142 + //判断当前短信是否已经发送 通过短信ID和儿童ID
  143 + boolean isExist = SaveMessageService.isExistMsg(baby.getId(), message.getId());
  144 + if (isExist)
  145 + {
  146 + continue;
  147 + }
  148 +// String messageContent = "【"+messagePrefix+"】" + message.getContent();
  149 +// MessageRequest request = getMessageRequest( messageContent,baby.getMphone(),ServiceObjEnums.BABYOBJ.getId(), SmsServiceEnums.YBZD.getId(),
  150 +// baby.getHospitalId(),message.getId(),baby.getId());
  151 +
  152 +
  153 + String weekDay = "";
  154 + String title = "儿童健康指导";//SmsServiceEnums.getSmsServiceById(SmsServiceEnums.YBZD.getId());
  155 +
  156 + String messageContent = "【"+messagePrefix+"】" + message.getContent();
  157 + MessageRequest request = HelperUtils.getMessageRequest(title, baby.getMphone(),
  158 + ServiceObjEnums.BABYOBJ.getId(), SmsServiceEnums.YBZD.getId(),
  159 + baby.getHospitalId(), message.getId(), baby.getId(), weekDay, "", messageContent, WxTempleteIdEnums.CHAN_JIAN_TI_XING.getId());
  160 +
  161 + messages.add(request);
  162 + break;
  163 + }
  164 + }
  165 + }
  166 + list.setMessages(messages);
  167 + HelperUtils.sendMsg(list);
  168 + }
  169 +
  170 + }
  171 + }
  172 + }
  173 +}
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/CouponPrintController.java View file @ a2c0ea4
... ... @@ -49,9 +49,15 @@
49 49 @RequestMapping("/couponPrint")
50 50 public class CouponPrintController extends BaseController{
51 51  
  52 + /**
  53 + * 德州医院id
  54 + */
52 55 private static final String shanDong_DeZhou_fuYou_hopitalId = "1000000114";
53   -
54   - public static final String shanDong_Dezhou_youHuiQuan_money_Number = PropertiesUtils.getPropertyValue("shanDong_Dezhou_youHuiQuan_money_Number");
  56 +
  57 + /**
  58 + * 代金券金额
  59 + */
  60 + public static final String shanDong_Dezhou_youHuiQuan_money_Number = "100";
55 61  
56 62 @Autowired
57 63 private CouponService couponService;
platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PuerperaManageController.java View file @ a2c0ea4
... ... @@ -255,7 +255,6 @@
255 255 public BaseResponse queryRegionAllPatients(@Valid RiskPatientsQueryRequest patientsQueryRequest,HttpServletRequest request){
256 256 LoginContext loginState = (LoginContext) request.getAttribute("loginContext");
257 257 patientsQueryRequest.setFmHospital(patientsQueryRequest.gethId());
258   - patientsQueryRequest.sethId(null);
259 258 return patientFacade.queryHighRisk(patientsQueryRequest, null, 3,loginState.getId(),"true",Boolean.TRUE);
260 259 }
261 260  
platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/LisFacade.java View file @ a2c0ea4
... ... @@ -705,7 +705,7 @@
705 705 long start = System.currentTimeMillis();
706 706 List<LisReportModel> lises = lisService.queryLisDataByStatus(query);
707 707 long end1 = System.currentTimeMillis();
708   - System.out.println(end1 - start);
  708 + System.out.println("get lis data times "+(end1 - start));
709 709 if (CollectionUtils.isNotEmpty(lises))
710 710 {
711 711 Map<String, String> map = new HashMap<>();
... ... @@ -722,7 +722,7 @@
722 722  
723 723  
724 724 List<Future> futures = new ArrayList<>();
725   - int batchSize = 20;
  725 + int batchSize = 5;
726 726 int end = 0;
727 727 for (int i = 0; i < lises.size(); i += batchSize) {
728 728 end = (end + batchSize);
... ... @@ -747,6 +747,8 @@
747 747 }
748 748 }
749 749 }
  750 + long end2 = System.currentTimeMillis();
  751 + System.out.println("get lis all times "+(end2 - start));
750 752 patientIds.clear();
751 753  
752 754 result.put("list", lists);
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HospitalCouponPrintUtils.java View file @ a2c0ea4
... ... @@ -20,7 +20,11 @@
20 20 */
21 21 public class HospitalCouponPrintUtils {
22 22  
23   - public static final String DJQ_URL = PropertiesUtils.getPropertyValue("djq_url");
  23 + /**
  24 + * 德州代金券地址
  25 + * 该地址部署在德州服务器上面
  26 + */
  27 + public static final String DJQ_URL = "http://127.0.0.1:9090/his/insertDzfyDjq";
24 28  
25 29 /**
26 30 *
platform-operate-api/src/main/resources/config.properties View file @ a2c0ea4
... ... @@ -2,23 +2,12 @@
2 2 #center_base_url=http://sms.healthbaby.com.cn/v1/
3 3 center_base_url=http://sms.api.stage.platform.healthbaby.com.cn/v1/
4 4  
5   -#德州代金券地址
6   -djq_url=http://127.0.0.1:9090/his/insertDzfyDjq
7   -
8 5 #区域平台访问短信中心的token
9 6 center_token=e0c56363-00d6-42ee-bbe0-23c553583062
10 7  
11   -#\u5C71\u4E1C\u5FB7\u5DDE\u4F18\u60E0\u5238\u91D1\u989D_shanDong dezhou youHuiQuan jinE
12   -shanDong_Dezhou_youHuiQuan_money_Number=500
13   -
14   -
15   -
16 8 #His系统版本 0:未使用,1:桓台,2:新乐,3:青龙县医院,4:秦皇岛妇幼,5:抚宁妇幼, 6: 德州妇幼,7:南充中心医院
17 9 his_version=0
18 10  
19   -#统计中心url
20   -center_statistics_url=http://api.healthbaby.com.cn/
21   -
22 11 #TCP服务器端口
23 12 nio_server_port=8000
24 13 #TCP服务器是否启动 1:true,2:false
25 14  
26 15  
27 16  
... ... @@ -26,57 +15,18 @@
26 15 #TCP客户端是否启动 1:true,2:false
27 16 nio_client_start=2
28 17  
29   -#postser_url=http://api.meishengbb.com/initdata/reser
  18 +#全量把某个区域的数据同步到下面地址配置的环境中
30 19 postser_url=http://devmmsapi.qinhuangdao.healthbaby.com.cn:18019/initdata/reser
31 20  
  21 +#线上才配置,同步mysql数据到各个区域的地址,多个用逗号隔开
  22 +sync_mysql_data_url=
32 23  
33 24 #区域统计地址
34 25 area_count_url=192.168.1.32:1521
35 26  
36   -#同步mysql数据到各个区域的地址,多个用逗号隔开 如:https://area-qhd-api.healthbaby.com.cn:18019/syncMysqlData,https://area-dz-api.healthbaby.com.cn:12356/syncMysqlData
37   -sync_mysql_data_url=
38   -
39 27 #数据源相关配置
40 28 jdbc.0.driver=oracle.jdbc.driver.OracleDriver
41 29 jdbc.0.url=jdbc:oracle:thin:@192.168.1.32:1521:orcl
42 30 jdbc.0.username=LYMS_ODS
43 31 jdbc.0.password=Welcome1
44   -
45   -jdbc.1.driver=oracle.jdbc.driver.OracleDriver
46   -jdbc.1.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
47   -jdbc.1.username=LYMS_ODS
48   -jdbc.1.password=Welcome1
49   -
50   -jdbc.2.driver=oracle.jdbc.driver.OracleDriver
51   -jdbc.2.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
52   -jdbc.2.username=LYMS_ODS
53   -jdbc.2.password=Welcome1
54   -
55   -jdbc.3.driver=oracle.jdbc.driver.OracleDriver
56   -jdbc.3.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
57   -jdbc.3.username=LYMS_ODS
58   -jdbc.3.password=Welcome1
59   -
60   -jdbc.4.driver=oracle.jdbc.driver.OracleDriver
61   -jdbc.4.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
62   -jdbc.4.username=LYMS_ODS
63   -jdbc.4.password=Welcome1
64   -
65   -jdbc.5.driver=oracle.jdbc.driver.OracleDriver
66   -jdbc.5.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
67   -jdbc.5.username=LYMS_ODS
68   -jdbc.5.password=Welcome1
69   -
70   -jdbc.6.driver=oracle.jdbc.driver.OracleDriver
71   -jdbc.6.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
72   -jdbc.6.username=LYMS_ODS
73   -jdbc.6.password=Welcome1
74   -
75   -
76   -jdbc.7.driver=oracle.jdbc.driver.OracleDriver
77   -jdbc.7.url=jdbc:oracle:thin:@119.90.57.26:1522:orcl
78   -jdbc.7.username=LYMS_ODS
79   -jdbc.7.password=Welcome1
80   -
81   -platform.operate.api.validate.url=http://localhost:8080/
platform-operate-api/src/main/resources/database.properties View file @ a2c0ea4
1   -#mongo.db.host=192.168.5.8
2   -#mongo.db.port=27017
3   -#mongo.db.dbname=platform
4 1  
5 2 mongo.db.host=${mongo.db.host}
6 3 mongo.db.port=${mongo.db.port}
... ... @@ -18,8 +15,7 @@
18 15 mongo.slaveOk=${mongo.slaveOk}
19 16  
20 17  
21   -
22   -#\u670D\u52A1\u542F\u52A8\u65B9\u5F0F 1\u9662\u5185\u5355\u673A\u65B9\u5F0F 2 \u670D\u52A1\u5668\u65B9\u5F0F#
  18 +#服务启动方式 1院内单机方式 2 服务器方式
23 19 server.startup=2
24 20  
25 21 mysql.slave.driver=com.mysql.jdbc.Driver
26 22  
... ... @@ -30,35 +26,12 @@
30 26 maindata.maxpoolsize=5
31 27 maindata.initialpoolsize=2
32 28 maindata.minpoolsize=2
33   -#\u4E3B\u670D\u52A1\u5668\u6570\u636E\u5E93\u914D\u7F6E#
  29 +#主服务器数据库配置#
34 30 mysql.master.db.name=${mysql.db.name}
35 31 mysql.master.db.password=${mysql.db.password}
36 32 mysql.master.driver=com.mysql.jdbc.Driver
37 33 mysql.master.jdbcurl=${mysql.jdbcurl}
38 34  
39   -
40   -
41   -redis.servers=${redis.servers}
42   -
43   -token.prefix=member
44   -
45   -
46   -
47   -login.typeId=2
48   -login.token=265a841b-9bb5-434a-8c2b-e78df86fc45d
49   -login.defaultPwd=123456
50   -#1 \u672C\u5730\u7F13\u5B58 2 sso\u767B\u5F55(\u9700\u8981\u5916\u7F51)
51   -run.mode=2
52   -#1 \u533A\u57DF 2 \u5355\u673A
53   -run.region=1
54   -
55   -
56   -mongo.config.replica.set.address=192.168.1.XXX:27017,192.168.1.113.XXX:27018,192.168.1.xxx:27019
57   -mongo.config.replica.set.name=repl
58   -mongo.config.database=test
59   -mongo.config.username= mongo.config.password= mongodb.connection=
60   -
61   -
62 35 report.driver=oracle.jdbc.driver.OracleDriver
63 36 report.jdbcurl=${report.db.jdbcurl}
64 37 report.username=${report.db.username}
65 38  
... ... @@ -68,11 +41,20 @@
68 41 report.initialpoolsize=2
69 42 report.minpoolsize=2
70 43  
71   -#\u6DFB\u52A0\u7BA1\u7406\u5458\u9ED8\u8BA4\u6240\u5C5E\u673A\u6784
  44 +login.typeId=2
  45 +login.token=265a841b-9bb5-434a-8c2b-e78df86fc45d
  46 +login.defaultPwd=123456
  47 +#1 本地缓存 2 sso登录(需要外网)
  48 +run.mode=2
  49 +#1 区域 2 单机
  50 +run.region=1
  51 +
  52 +
  53 +#添加管理员默认所属机构
72 54 defaultAdminOrgId=203
73 55  
74 56  
75   -#mongo\u6570\u636E\u662F\u5426\u4E0A\u4F20 1\uFF1A\u4E0A\u4F20\uFF0C0\uFF1A\u4E0D\u4E0A\u4F20
  57 +#mongo数据是否上传 1:上传,0:不上传
76 58 mongo_sync=1
77 59 mongo_sync_url=http://mms.api.stage.platform.healthbaby.com.cn/syncmongo
78 60 mongo_sync_token=68884AD1832AB397E2F85F87FE371C74
79 61  
... ... @@ -84,9 +66,10 @@
84 66 sequence.min.size=300
85 67 sequence.schedule.expression=0 */1 * * * ?
86 68  
87   -# \u4E8C\u7EF4\u7801\u5730\u5740
88   -or.code.url=https://rp-api.healthbaby.com.cn/scan?code={0}
89   -or.code.create.url=http://ams.api.healthbaby.com.cn/v1/create/qrcode
90   -# \u4E8C\u7EF4\u7801\u5730\u5740\u751F\u6210\u65B9\u5F0F 1=\u672C\u5730 2=\u7EBF\u4E0A
  69 +
  70 +# 二维码地址生成方式 1=本地 2=线上(配置下面的地址or.code.create.url)
91 71 or.code.create.type=1
  72 +
  73 +# 二维码地址
  74 +or.code.create.url=http://ams.api.healthbaby.com.cn/v1/create/qrcode