Commit fac23d8f85112bd547c60f19519571295d75e125
1 parent
530d00d06a
Exists in
master
and in
6 other branches
update
Showing 3 changed files with 87 additions and 22 deletions
platform-biz-service/src/main/java/com/lyms/platform/permission/service/impl/LisServiceImpl.java
View file @
fac23d8
| ... | ... | @@ -9,12 +9,16 @@ |
| 9 | 9 | import com.lyms.platform.permission.model.LisReportModel; |
| 10 | 10 | import com.lyms.platform.permission.model.LisReportQuery; |
| 11 | 11 | import com.lyms.platform.permission.service.LisService; |
| 12 | +import com.lyms.platform.pojo.BasicConfig; | |
| 12 | 13 | import org.apache.commons.collections.CollectionUtils; |
| 13 | 14 | import org.codehaus.jackson.type.TypeReference; |
| 14 | 15 | import org.springframework.beans.factory.annotation.Autowired; |
| 15 | 16 | import org.springframework.stereotype.Service; |
| 16 | 17 | |
| 18 | +import java.util.ArrayList; | |
| 17 | 19 | import java.util.List; |
| 20 | +import java.util.concurrent.CountDownLatch; | |
| 21 | +import java.util.concurrent.Future; | |
| 18 | 22 | |
| 19 | 23 | |
| 20 | 24 | @Service("lisService") |
| 21 | 25 | |
| 22 | 26 | |
| 23 | 27 | |
| ... | ... | @@ -25,26 +29,31 @@ |
| 25 | 29 | |
| 26 | 30 | @Override |
| 27 | 31 | public BaseResponse saveLisData(final List<LisReportModel> lisList) { |
| 28 | - | |
| 29 | 32 | try { |
| 30 | 33 | System.out.println("saveLis data size = "+ lisList.size()); |
| 31 | 34 | if (CollectionUtils.isNotEmpty(lisList)) |
| 32 | 35 | { |
| 33 | - new Thread(new Runnable() { | |
| 34 | - @Override | |
| 35 | - public void run() { | |
| 36 | - for(LisReportModel model : lisList) | |
| 37 | - { | |
| 38 | - List<LisReportModel> dbLis = masterLisMapper.queryLisDataByModel(model); | |
| 39 | - if (CollectionUtils.isEmpty(dbLis)) | |
| 40 | - { | |
| 41 | - masterLisMapper.saveLisData(model); | |
| 42 | - } | |
| 43 | - | |
| 44 | - } | |
| 36 | + int batchSize = 10; | |
| 37 | + //线程数 | |
| 38 | + int threadCount = lisList.size()%batchSize == 0 ? lisList.size()/batchSize : lisList.size()/batchSize+1; | |
| 39 | + System.out.println("threadCount = "+ threadCount); | |
| 40 | + CountDownLatch countDownLatch = new CountDownLatch(threadCount); | |
| 41 | + int end = 0; | |
| 42 | + for (int i = 0; i < lisList.size(); i += batchSize) { | |
| 43 | + end = (end + batchSize); | |
| 44 | + if (end > lisList.size()) { | |
| 45 | + end = lisList.size(); | |
| 45 | 46 | } |
| 46 | - },"saveLisDataThread").start(); | |
| 47 | + List<LisReportModel> models = lisList.subList(i, end); | |
| 48 | + LisSaveTask lis =new LisSaveTask(countDownLatch,masterLisMapper,models); | |
| 49 | + Thread t1=new Thread(lis); | |
| 50 | + t1.start(); | |
| 51 | + System.out.println("spit end"); | |
| 52 | + } | |
| 53 | + countDownLatch.await(); | |
| 47 | 54 | |
| 55 | + System.out.println("exce end"); | |
| 56 | + | |
| 48 | 57 | } |
| 49 | 58 | return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); |
| 50 | 59 | } |
| ... | ... | @@ -53,6 +62,33 @@ |
| 53 | 62 | return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); |
| 54 | 63 | } |
| 55 | 64 | |
| 65 | +// try { | |
| 66 | +// System.out.println("saveLis data size = "+ lisList.size()); | |
| 67 | +// if (CollectionUtils.isNotEmpty(lisList)) | |
| 68 | +// { | |
| 69 | +// new Thread(new Runnable() { | |
| 70 | +// @Override | |
| 71 | +// public void run() { | |
| 72 | +// for(LisReportModel model : lisList) | |
| 73 | +// { | |
| 74 | +// List<LisReportModel> dbLis = masterLisMapper.queryLisDataByModel(model); | |
| 75 | +// if (CollectionUtils.isEmpty(dbLis)) | |
| 76 | +// { | |
| 77 | +// masterLisMapper.saveLisData(model); | |
| 78 | +// } | |
| 79 | +// | |
| 80 | +// } | |
| 81 | +// } | |
| 82 | +// },"saveLisDataThread").start(); | |
| 83 | +// | |
| 84 | +// } | |
| 85 | +// return new BaseResponse().setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); | |
| 86 | +// } | |
| 87 | +// catch (Exception e) | |
| 88 | +// { | |
| 89 | +// return new BaseResponse().setErrorcode(ErrorCodeConstants.SYSTEM_ERROR).setErrormsg(ErrorCodeConstants.SYSTEM_ERROR_DESCRIPTION); | |
| 90 | +// } | |
| 91 | + | |
| 56 | 92 | } |
| 57 | 93 | |
| 58 | 94 | @Override |
| ... | ... | @@ -87,6 +123,35 @@ |
| 87 | 123 | @Override |
| 88 | 124 | public int saveLisDataTemp(LisReportModel models) { |
| 89 | 125 | return masterLisMapper.saveLisDataTemp(models); |
| 126 | + } | |
| 127 | + | |
| 128 | + | |
| 129 | + public class LisSaveTask implements Runnable { | |
| 130 | + | |
| 131 | + private CountDownLatch countDownLatch; | |
| 132 | + private MasterLisMapper masterLisMapper; | |
| 133 | + private List<LisReportModel> lisList; | |
| 134 | + private LisSaveTask(CountDownLatch countDownLatch, | |
| 135 | + MasterLisMapper masterLisMapper, | |
| 136 | + List<LisReportModel> lisList) | |
| 137 | + { | |
| 138 | + this.lisList = lisList; | |
| 139 | + this.masterLisMapper = masterLisMapper; | |
| 140 | + this.countDownLatch = countDownLatch; | |
| 141 | + } | |
| 142 | + | |
| 143 | + @Override | |
| 144 | + public void run() { | |
| 145 | + for(LisReportModel model : lisList) | |
| 146 | + { | |
| 147 | + List<LisReportModel> dbLis = masterLisMapper.queryLisDataByModel(model); | |
| 148 | + if (CollectionUtils.isEmpty(dbLis)) | |
| 149 | + { | |
| 150 | + masterLisMapper.saveLisData(model); | |
| 151 | + } | |
| 152 | + } | |
| 153 | + countDownLatch.countDown(); | |
| 154 | + } | |
| 90 | 155 | } |
| 91 | 156 | } |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java
View file @
fac23d8
| ... | ... | @@ -82,13 +82,13 @@ |
| 82 | 82 | // } |
| 83 | 83 | // } |
| 84 | 84 | |
| 85 | - | |
| 86 | - String sql = "INSERT INTO LIS_REPORT_TBL( LIS_ID, TITLE) VALUES ('122', 'bbbb')"; | |
| 87 | - sql = sql.replaceFirst("\\(","(ID,"); | |
| 88 | - | |
| 89 | - | |
| 90 | - sql = sql.substring(0,sql.lastIndexOf("(")+1)+"11212,"+sql.substring(sql.lastIndexOf("(")+1,sql.length()); | |
| 91 | - System.out.println(sql); | |
| 85 | + System.out.println(39/20); | |
| 86 | +// String sql = "INSERT INTO LIS_REPORT_TBL( LIS_ID, TITLE) VALUES ('122', 'bbbb')"; | |
| 87 | +// sql = sql.replaceFirst("\\(","(ID,"); | |
| 88 | +// | |
| 89 | +// | |
| 90 | +// sql = sql.substring(0,sql.lastIndexOf("(")+1)+"11212,"+sql.substring(sql.lastIndexOf("(")+1,sql.length()); | |
| 91 | +// System.out.println(sql); | |
| 92 | 92 | |
| 93 | 93 | } |
| 94 | 94 | } |
platform-operate-api/src/main/resources/config.properties
View file @
fac23d8
| ... | ... | @@ -28,7 +28,7 @@ |
| 28 | 28 | area_count_url=119.90.57.26:1522 |
| 29 | 29 | |
| 30 | 30 | #同步mysql数据到各个区域的地址,多个用逗号隔开 如:https://area-qhd-api.healthbaby.com.cn:18019/syncMysqlData,https://area-dz-api.healthbaby.com.cn:12356/syncMysqlData |
| 31 | -sync_mysql_data_url= | |
| 31 | +sync_mysql_data_url=https://dev-rp-api.healthbaby.com.cn/syncMysqlData | |
| 32 | 32 | |
| 33 | 33 | #数据源相关配置 |
| 34 | 34 | jdbc.0.driver=oracle.jdbc.driver.OracleDriver |