From 7ba2174d8f8c22593f5986c5b84b1bc0ba88bcd2 Mon Sep 17 00:00:00 2001 From: wangxiang <1827945911@qq.com> Date: Fri, 25 Nov 2022 19:01:37 +0800 Subject: [PATCH] =?UTF-8?q?:rocket:=20=E5=AF=B9=E6=8E=A5=E5=AE=8C=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kicc/commonbiz/api/entity/Doctor.java | 3 + .../kicc/commonbiz/api/entity/Hospital.java | 2 + .../api/entity/MapLogisticPoint.java | 2 +- .../kicc/commonbiz/api/entity/Office.java | 2 + .../cloud/kicc/commonbiz/api/entity/Org.java | 2 + .../cloud/kicc/system/api/entity/User.java | 5 + .../system/api/feign/RemoteUserService.java | 13 ++- .../service/impl/MapLogisticServiceImpl.java | 93 +++++++++++++++++-- .../system/controller/UserController.java | 7 ++ .../src/main/resources/bootstrap.yml | 3 +- 10 files changed, 119 insertions(+), 13 deletions(-) diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Doctor.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Doctor.java index a4684b7b..c2635beb 100644 --- a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Doctor.java +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Doctor.java @@ -63,4 +63,7 @@ public class Doctor extends CommonEntity { /**医生状态*/ private String status; + /** 内部系统账户 */ + private Integer klabDoctorAccount; + } diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Hospital.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Hospital.java index 2131171c..9d9cbb82 100644 --- a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Hospital.java +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Hospital.java @@ -53,6 +53,8 @@ public class Hospital extends CommonEntity { private String mapNotify; + private Integer klabHospitalAccount; + @TableField(exist = false) private String[] orgIds; diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/MapLogisticPoint.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/MapLogisticPoint.java index 43b99ae3..f9908564 100644 --- a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/MapLogisticPoint.java +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/MapLogisticPoint.java @@ -46,7 +46,7 @@ public class MapLogisticPoint extends CommonEntity { @ApiModelProperty("区分是医院还是医检标记点,0医院,1医检") private String type; - @ApiModelProperty("任务类型,1是普通任务,2是交接任务") + @ApiModelProperty("任务类型,0是普通任务,1是交接任务") private String taskType; @ApiModelProperty("关联报告单生成的批次码") diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Office.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Office.java index 3cdfebdb..b212af4d 100644 --- a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Office.java +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Office.java @@ -45,4 +45,6 @@ public class Office extends CommonEntity { private String status; + private Integer klabOfficeAccount; + } diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Org.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Org.java index e9e36975..1ae2376b 100644 --- a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Org.java +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/Org.java @@ -46,4 +46,6 @@ public class Org extends CommonEntity { private Double mapLat; + private Integer klabOrgAccount; + } diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java index 3e208d76..4864d76b 100644 --- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java +++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/User.java @@ -114,6 +114,11 @@ public class User extends CommonEntity { */ private String status; + /** + * 内部系统账户 + */ + private Integer klabUserAccount; + /** * 角色ID集合 */ diff --git a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteUserService.java b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteUserService.java index e329d75b..d2372ab3 100644 --- a/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteUserService.java +++ b/kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/feign/RemoteUserService.java @@ -22,7 +22,7 @@ import org.springframework.web.bind.annotation.RequestHeader; public interface RemoteUserService { /** - * 通过用户名查询用户、角色信息 + * 通过用户名查询用户 * @param userName 用户名 * @param from 调用标志 * @return R @@ -31,7 +31,7 @@ public interface RemoteUserService { R selectByUserName(@PathVariable("userName") String userName, @RequestHeader(SecurityConstants.FROM) String from); /** - * 通过手机号码查询用户、角色信息 + * 通过手机号码查询用户 * @param phone 手机号码 * @param from 调用标志 * @return R @@ -39,4 +39,13 @@ public interface RemoteUserService { @GetMapping(AppConstants.APP_SYSTEM + "/user/selectByPhone/{phone}") R selectByPhone(@PathVariable("phone") String phone, @RequestHeader(SecurityConstants.FROM) String from); + /** + * 通过用户ID查询用户 + * @param userid 用户id + * @param from 调用标志 + * @return R + */ + @GetMapping(AppConstants.APP_SYSTEM + "/user/getUser/{userId}") + R selectByUserId(@PathVariable("userId") String userid, @RequestHeader(SecurityConstants.FROM) String from); + } diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java index 58b133cd..51a77bf7 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/MapLogisticServiceImpl.java @@ -2,27 +2,29 @@ package com.cloud.kicc.commonbiz.service.impl; import cn.hutool.core.collection.ListUtil; import cn.hutool.core.date.LocalDateTimeUtil; +import cn.hutool.core.lang.UUID; +import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.cloud.kicc.common.core.api.R; +import com.cloud.kicc.common.core.constant.SecurityConstants; import com.cloud.kicc.common.security.util.SecurityUtils; -import com.cloud.kicc.commonbiz.api.entity.MapLogistic; -import com.cloud.kicc.commonbiz.api.entity.MapLogisticPoint; -import com.cloud.kicc.commonbiz.api.entity.MapTask; -import com.cloud.kicc.commonbiz.api.entity.MapTaskPreset; +import com.cloud.kicc.commonbiz.api.entity.*; import com.cloud.kicc.commonbiz.mapper.MapLogisticMapper; -import com.cloud.kicc.commonbiz.service.IMapLogisticPointService; -import com.cloud.kicc.commonbiz.service.IMapLogisticService; -import com.cloud.kicc.commonbiz.service.IMapTaskPresetService; -import com.cloud.kicc.commonbiz.service.IMapTaskService; +import com.cloud.kicc.commonbiz.service.*; import com.cloud.kicc.commonbiz.util.PushClientUtil; +import com.cloud.kicc.system.api.entity.User; +import com.cloud.kicc.system.api.feign.RemoteUserService; import lombok.RequiredArgsConstructor; -import okhttp3.OkHttpClient; +import lombok.extern.slf4j.Slf4j; +import okhttp3.*; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.io.IOException; import java.time.format.DateTimeFormatter; import java.util.List; @@ -34,6 +36,7 @@ import java.util.List; * @author entfrm开发团队-王翔 * @since 2022-07-22 */ +@Slf4j @Service @RequiredArgsConstructor @Transactional(rollbackFor = Exception.class) @@ -43,6 +46,10 @@ public class MapLogisticServiceImpl extends ServiceImpl item.setMapLogisticId(mapLogistic.getId())); + createReportFormSetData(mapLogistic); + + //ThreadUtil.execute(() -> createReportFormSetData(mapLogistic)); iMapLogisticPointService.saveBatch(mapLogistic.getMapLogisticPoint()); } + + private void createReportFormSetData(MapLogistic mapLogistic) { + String batchCode = UUID.fromString(UUID.randomUUID().toString()).toString(); + mapLogistic.getMapTask().forEach(mapTask -> { + if (StrUtil.isNotEmpty(mapTask.getReceiptFileId())) { + R user = remoteUserService.selectByUserId(mapTask.getCourierUserId(), SecurityConstants.FROM_IN); + Org org = orgService.getById(mapTask.getOrgId()); + Hospital hospital = hospitalService.getById(mapTask.getHospitalId()); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("hospitalId", hospital.getKlabHospitalAccount()); + jsonObject.put("institutionId", org.getKlabOrgAccount()); + + // todo:任务科室医生还需讨论需求 + jsonObject.put("officeId", 0); + jsonObject.put("doctorId", 0); + + jsonObject.put("syUserId", user.getData().getKlabUserAccount()); + jsonObject.put("batchCode", batchCode); + jsonObject.put("taskType", 0); + jsonObject.put("originImages", mapTask.getReceiptFileId()); + jsonObject.put("remark", mapTask.getRemarks()); + internalSystemCreateReportForm(jsonObject); + } + mapTask.getMapTaskPreset().forEach(mapTaskPreset -> { + if (StrUtil.isNotEmpty(mapTaskPreset.getReceiptFileId())) { + R taskPresetUser = remoteUserService.selectByUserId(mapTaskPreset.getCourierUserId(), SecurityConstants.FROM_IN); + JSONObject jsonObject = new JSONObject(); + + // todo:交接点位置由自己设置 + jsonObject.put("hospitalId", 0); + jsonObject.put("institutionId", 0); + jsonObject.put("officeId", 0); + jsonObject.put("doctorId", 0); + + jsonObject.put("syUserId", taskPresetUser.getData().getKlabUserAccount()); + jsonObject.put("batchCode", mapTaskPreset); + jsonObject.put("taskType", 1); + jsonObject.put("originImages", mapTaskPreset.getReceiptFileId()); + jsonObject.put("remark", mapTaskPreset.getRemarks()); + jsonObject.put("batchCode", batchCode); + internalSystemCreateReportForm(jsonObject); + } + }); + }); + } + + + private void internalSystemCreateReportForm(JSONObject jsonObject) { + okhttp3.Request request = new okhttp3.Request + .Builder() + .url("https://cmsapi.kanglailab.com/reportTask/add") + .post(RequestBody.create(MediaType.parse("application/json; charset=utf-8"), jsonObject.toJSONString())) + .build(); + okHttpClient.newCall(request).enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + log.info("对接内部平台创建报告单成功:", response); + } + @Override + public void onFailure(Call call, IOException e) { + log.info("对接内部平台创建报告单失败:", e); + } + }); + } + @Override public void mapRemove(List mapLogisticIds) { super.removeByIds(mapLogisticIds); diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java index 32c3fcd9..d6c482af 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java @@ -98,6 +98,13 @@ public class UserController { return R.ok(new ResultVo().setResult(user).setExtend(roleList)); } + @Inner + @GetMapping("getUser/{id:\\w+}") + public R getUser(@PathVariable("id") String id) { + User user = userService.getById(id); + return R.ok(user); + } + @SysLog("用户新增") @PostMapping("/save") @PreAuthorize("@pms.hasPermission('user_add')") diff --git a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/bootstrap.yml b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/bootstrap.yml index 7ee73a86..ba5317b3 100644 --- a/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/bootstrap.yml +++ b/kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/bootstrap.yml @@ -7,7 +7,8 @@ spring: cloud: nacos: discovery: - server-addr: ${NACOS_HOST:kicc-register}:${NACOS_PORT:8848} + server-addr: ${NACOS_HOST:192.168.3.10}:${NACOS_PORT:8848} + #server-addr: ${NACOS_HOST:kicc-register}:${NACOS_PORT:8848} namespace: @profiles.namespace@ config: server-addr: ${spring.cloud.nacos.discovery.server-addr}