Selaa lähdekoodia

feat:审核任务获取经纬度

shc 2 vuotta sitten
vanhempi
commit
efe2503224

+ 1 - 30
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaDistributionController.java

@@ -296,38 +296,9 @@ public class WmDaDistributionController {
 	 */
 	@GetMapping("/parseAddress")
 	public R parseAddress() {
-		LambdaQueryWrapper<WmDaDistribution> wmDaHospitalLambdaQueryWrapper = Wrappers.lambdaQuery();
 
-		wmDaHospitalLambdaQueryWrapper.isNull(WmDaDistribution::getLatitude);
+		wmDaDistributionService.parseAddress();
 
-		List<WmDaDistribution> wmDaDistributionList = wmDaDistributionService.list(wmDaHospitalLambdaQueryWrapper);
-
-		if (wmDaDistributionList.size() > 0) {
-			for (WmDaDistribution wmDaDistribution : wmDaDistributionList) {
-				JSONObject jsonObject = MapUtil.getLatAndLogByName(wmDaDistribution.getAddress());
-				if (null == jsonObject) {
-					continue;
-				}
-				wmDaDistribution.setProvince(jsonObject.getString("province"));
-				wmDaDistribution.setCity(jsonObject.getString("city"));
-				wmDaDistribution.setArea(jsonObject.getString("district"));
-				String sygsdz = jsonObject.getString("province");
-				if(StringUtils.isNotEmpty(jsonObject.getString("city"))){
-					sygsdz = sygsdz + jsonObject.getString("city");
-				}
-				if(StringUtils.isNotEmpty(jsonObject.getString("district"))){
-					sygsdz = sygsdz + jsonObject.getString("district");
-				}
-				wmDaDistribution.setSygsdz(sygsdz);
-				String location = jsonObject.getString("location");
-				if (null != location && location.split(",").length > 0) {
-					wmDaDistribution.setLongitude(location.split(",")[0]);
-					wmDaDistribution.setLatitude(location.split(",")[1]);
-				}
-
-				wmDaDistributionService.saveOrUpdate(wmDaDistribution);
-			}
-		}
 
 		return R.ok();
 	}

+ 1 - 28
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmDaHospitalController.java

@@ -290,34 +290,7 @@ public class WmDaHospitalController {
 	 */
 	@GetMapping("/parseAddress")
 	public R parseAddress() {
-		LambdaQueryWrapper<WmDaHospital> wmDaHospitalLambdaQueryWrapper=Wrappers.lambdaQuery();
-
-		wmDaHospitalLambdaQueryWrapper.isNull(WmDaHospital::getLatitude);
-
-		List<WmDaHospital> wmDaHospitalList=wmDaHospitalService.list(wmDaHospitalLambdaQueryWrapper);
-
-		if(wmDaHospitalList.size()>0)
-		{
-			for (WmDaHospital wmDaHospital:wmDaHospitalList) {
-				JSONObject jsonObject= MapUtil.getLatAndLogByName(wmDaHospital.getAddress());
-				if(null==jsonObject)
-				{
-					continue;
-				}
-				wmDaHospital.setProvince(jsonObject.getString("province"));
-				wmDaHospital.setCity(jsonObject.getString("city"));
-				wmDaHospital.setArea(jsonObject.getString("district"));
-				String location=jsonObject.getString("location");
-				if(null!=location&&location.split(",").length>0)
-				{
-					wmDaHospital.setLongitude(location.split(",")[0]);
-					wmDaHospital.setLatitude(location.split(",")[1]);
-				}
-
-				wmDaHospitalService.saveOrUpdate(wmDaHospital);
-			}
-		}
-
+		wmDaHospitalService.parseAddress();
 		return R.ok();
 	}
 }

+ 18 - 1
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskController.java

@@ -62,6 +62,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmDaAgentService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDistributionService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaDrugEntService;
 import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
+import com.qunzhixinxi.hnqz.admin.service.WmDaPharmacyService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskContentService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskRuleService;
@@ -122,6 +123,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -165,6 +167,8 @@ public class WmTaskController {
 
 	private final ReportExportService reportExportService;
 
+	private final WmDaPharmacyService wmDaPharmacyService;
+
 	private final SysFileService sysFileService;
 
 	private final RabbitMqClient rabbitMqClient;
@@ -1162,7 +1166,7 @@ public class WmTaskController {
 		R result = wmTaskService.approvalTask(wmTask);
 
 
-		// 释放图片
+		// 释放图片 和 初始化经纬度
 		if (result.getCode() == CommonConstants.SUCCESS){
 
 			List<String> idList = StrUtil.split(wmTask.getId(), StrUtil.COMMA);
@@ -1230,7 +1234,20 @@ public class WmTaskController {
 
 			}
 
+			CompletableFuture<Void> hospitalFuture = CompletableFuture.runAsync(() -> {
+				wmDaHospitalService.parseAddress();
+			});
+
+			CompletableFuture<Void> distributionFuture = CompletableFuture.runAsync(() -> {
+				wmDaDistributionService.parseAddress();
+			});
+
+			CompletableFuture<Void> pharmacyFuture = CompletableFuture.runAsync(() -> {
+				wmDaPharmacyService.parseAddress();
+			});
 
+			CompletableFuture.allOf(hospitalFuture, distributionFuture, pharmacyFuture);
+			
 		}
 
 

+ 6 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDaDistributionService.java

@@ -40,4 +40,10 @@ public interface WmDaDistributionService extends IService<WmDaDistribution> {
 	public R approvalDistribution(String taskId);
 
 	public R updateByApproval(Map<String,String> map);
+
+	/**
+	 * 解析商业公司地址
+	 */
+    void parseAddress();
+
 }

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/WmDaHospitalService.java

@@ -45,4 +45,9 @@ public interface WmDaHospitalService extends IService<WmDaHospital> {
 
 	public Map<String,String> compareDictItem(String name, String str1, String str2, String param);
 
+	/**
+	 * 初始化获取经纬度
+	 */
+	void parseAddress();
+
 }

+ 42 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaDistributionServiceImpl.java

@@ -18,6 +18,8 @@ package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.csp.sentinel.util.StringUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -35,6 +37,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
+import com.qunzhixinxi.hnqz.admin.util.MapUtil;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
@@ -481,6 +484,45 @@ public class WmDaDistributionServiceImpl extends ServiceImpl<WmDaDistributionMap
 		return R.ok();
 	}
 
+	/**
+	 * 解析商业公司地址
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void parseAddress() {
+		LambdaQueryWrapper<WmDaDistribution> wmDaHospitalLambdaQueryWrapper = Wrappers.lambdaQuery();
+
+		wmDaHospitalLambdaQueryWrapper.isNull(WmDaDistribution::getLatitude);
+
+		List<WmDaDistribution> wmDaDistributionList = this.list(wmDaHospitalLambdaQueryWrapper);
+
+		if (wmDaDistributionList.size() > 0) {
+			for (WmDaDistribution wmDaDistribution : wmDaDistributionList) {
+				JSONObject jsonObject = MapUtil.getLatAndLogByName(wmDaDistribution.getAddress());
+				if (null == jsonObject) {
+					continue;
+				}
+				wmDaDistribution.setProvince(jsonObject.getString("province"));
+				wmDaDistribution.setCity(jsonObject.getString("city"));
+				wmDaDistribution.setArea(jsonObject.getString("district"));
+				String sygsdz = jsonObject.getString("province");
+				if(StringUtils.isNotEmpty(jsonObject.getString("city"))){
+					sygsdz = sygsdz + jsonObject.getString("city");
+				}
+				if(StringUtils.isNotEmpty(jsonObject.getString("district"))){
+					sygsdz = sygsdz + jsonObject.getString("district");
+				}
+				wmDaDistribution.setSygsdz(sygsdz);
+				String location = jsonObject.getString("location");
+				if (null != location && location.split(",").length > 0) {
+					wmDaDistribution.setLongitude(location.split(",")[0]);
+					wmDaDistribution.setLatitude(location.split(",")[1]);
+				}
+
+				this.saveOrUpdate(wmDaDistribution);
+			}
+		}
+	}
 
 
 	public WmDaDistribution generateDistribution(Map<String,String> map){

+ 38 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmDaHospitalServiceImpl.java

@@ -17,6 +17,8 @@
 package com.qunzhixinxi.hnqz.admin.service.impl;
 
 import com.alibaba.csp.sentinel.util.StringUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -34,6 +36,7 @@ import com.qunzhixinxi.hnqz.admin.service.WmDaHospitalService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageService;
 import com.qunzhixinxi.hnqz.admin.service.WmScorePackageStatusService;
 import com.qunzhixinxi.hnqz.admin.service.WmTaskService;
+import com.qunzhixinxi.hnqz.admin.util.MapUtil;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.security.util.SecurityUtils;
 import lombok.AllArgsConstructor;
@@ -411,6 +414,41 @@ public class WmDaHospitalServiceImpl extends ServiceImpl<WmDaHospitalMapper, WmD
 		return null;
 	}
 
+	/**
+	 * 初始化获取经纬度
+	 */
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void parseAddress() {
+		LambdaQueryWrapper<WmDaHospital> wmDaHospitalLambdaQueryWrapper=Wrappers.lambdaQuery();
+
+		wmDaHospitalLambdaQueryWrapper.isNull(WmDaHospital::getLatitude);
+
+		List<WmDaHospital> wmDaHospitalList=this.list(wmDaHospitalLambdaQueryWrapper);
+
+		if(wmDaHospitalList.size()>0)
+		{
+			for (WmDaHospital wmDaHospital:wmDaHospitalList) {
+				JSONObject jsonObject= MapUtil.getLatAndLogByName(wmDaHospital.getAddress());
+				if(null==jsonObject)
+				{
+					continue;
+				}
+				wmDaHospital.setProvince(jsonObject.getString("province"));
+				wmDaHospital.setCity(jsonObject.getString("city"));
+				wmDaHospital.setArea(jsonObject.getString("district"));
+				String location=jsonObject.getString("location");
+				if(null!=location&&location.split(",").length>0)
+				{
+					wmDaHospital.setLongitude(location.split(",")[0]);
+					wmDaHospital.setLatitude(location.split(",")[1]);
+				}
+
+				this.saveOrUpdate(wmDaHospital);
+			}
+		}
+	}
+
 
 	public Map<String, String> generateMap(String name, String oldData, String newData) {
 		Map map = new HashMap();