Commit 72f5fc94 authored by 马超's avatar 马超

Merge branch 'develop-mc' into 'master'

Develop mc

See merge request !2
parents bc476f3c be52cd5b
......@@ -12,5 +12,12 @@
<artifactId>prescription-module</artifactId>
<dependencies>
<dependency>
<groupId>com.cftech</groupId>
<artifactId>product-module</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -2,7 +2,7 @@ package com.cftech.cdfortis.service;
import com.alibaba.fastjson.JSONObject;
import com.cftech.predrugs.model.PreDrugs;
import com.cftech.product.model.Product;
import java.util.List;
......@@ -25,10 +25,10 @@ public interface CdfortisService {
/**
* 药品清单上传
*
* @param preDrugsList
* @param productList
* @return
*/
JSONObject uploadDrugInfo(List<PreDrugs> preDrugsList);
JSONObject uploadDrugInfo(List<Product> productList);
/**
* 获取图文处方列表
......
......@@ -8,7 +8,7 @@ import com.cftech.cdfortis.service.CdfortisService;
import com.cftech.cdfortis.util.CdfortisResponseUtil;
import com.cftech.cdfortis.util.CdfortisTokenUtil;
import com.cftech.core.util.SystemConfig;
import com.cftech.predrugs.model.PreDrugs;
import com.cftech.product.model.Product;
import lombok.extern.slf4j.Slf4j;
import okhttp3.MediaType;
import okhttp3.RequestBody;
......@@ -59,11 +59,11 @@ public class CdfortisServiceImpl implements CdfortisService {
/**
* 上传药品清单
*
* @param preDrugsList
* @param productList
* @return
*/
@Override
public JSONObject uploadDrugInfo(List<PreDrugs> preDrugsList) {
public JSONObject uploadDrugInfo(List<Product> productList) {
JSONObject rtnJson = new JSONObject();
String uploadUrl = SystemConfig.p.getProperty("cdfortis.drug_upload_url");
......@@ -73,25 +73,28 @@ public class CdfortisServiceImpl implements CdfortisService {
param.put("appid", appid);
param.put("token", cdfortisTokenUtil.getToken());
// 转换药品类型为微问诊需要的结构
List<CdfortisDrugInfo> cdfortisDrugList = preDrugsList.stream().map(this::fromPreDrugs).collect(Collectors.toList());
List<CdfortisDrugInfo> cdfortisDrugList = productList.stream().map(this::fromProduct).collect(Collectors.toList());
param.put("drugInfo", cdfortisDrugList);
RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, param.toJSONString());
// 请求获取数据
JSONObject data = CdfortisResponseUtil.request(uploadUrl, CdfortisConstant.METHOD_POST,
Object data = CdfortisResponseUtil.request(uploadUrl, CdfortisConstant.METHOD_POST,
null, null, body, rtnJson);
if (data == null) {
return rtnJson;
}
boolean isAllSuccess = data.getBooleanValue("isAllSuccess");
// 判断数据是否正确
if (data instanceof JSONObject) {
JSONObject dataJsonObj = (JSONObject) data;
boolean isAllSuccess = dataJsonObj.getBooleanValue("isAllSuccess");
if (!isAllSuccess) {
JSONArray failedDataArr = data.getJSONArray("failedData");
JSONArray failedDataArr = dataJsonObj.getJSONArray("failedData");
//TODO 更新药物上传状态
rtnJson.put("errorNo", "0");
rtnJson.put("data", failedDataArr);
return rtnJson;
}
}
rtnJson.put("errorNo", "0");
rtnJson.put("data", "");
......@@ -126,7 +129,7 @@ public class CdfortisServiceImpl implements CdfortisService {
urlParam.put("startTime", startTime);
urlParam.put("endTime", endTime);
// 请求获取数据
JSONObject data = CdfortisResponseUtil.request(getFbusiListUrl, CdfortisConstant.METHOD_GET, urlParam,
Object data = CdfortisResponseUtil.request(getFbusiListUrl, CdfortisConstant.METHOD_GET, urlParam,
null, null, rtnJson);
if (data == null) {
return rtnJson;
......@@ -156,7 +159,7 @@ public class CdfortisServiceImpl implements CdfortisService {
urlParam.put("token", cdfortisTokenUtil.getToken());
urlParam.put("presId", presId);
// 请求获取数据
JSONObject data = CdfortisResponseUtil.request(getFbusiInfoUrl, CdfortisConstant.METHOD_GET, urlParam,
Object data = CdfortisResponseUtil.request(getFbusiInfoUrl, CdfortisConstant.METHOD_GET, urlParam,
null, null, rtnJson);
if (data == null) {
return rtnJson;
......@@ -186,7 +189,7 @@ public class CdfortisServiceImpl implements CdfortisService {
urlParam.put("token", cdfortisTokenUtil.getToken());
urlParam.put("presId", presId);
// 请求获取数据
JSONObject data = CdfortisResponseUtil.request(getFbusiPicUrl, CdfortisConstant.METHOD_GET, urlParam,
Object data = CdfortisResponseUtil.request(getFbusiPicUrl, CdfortisConstant.METHOD_GET, urlParam,
null, null, rtnJson);
if (data == null) {
return rtnJson;
......@@ -206,14 +209,15 @@ public class CdfortisServiceImpl implements CdfortisService {
* @return
* @para preDrugs
*/
private CdfortisDrugInfo fromPreDrugs(PreDrugs preDrugs) {
private CdfortisDrugInfo fromProduct(Product product) {
CdfortisDrugInfo cdfortisDrug = new CdfortisDrugInfo();
cdfortisDrug.setApprNumber(preDrugs.getApprNumber());
cdfortisDrug.setSpec(preDrugs.getSpec());
cdfortisDrug.setPrice(preDrugs.getPrice());
cdfortisDrug.setErpId(preDrugs.getDrugErpNo());
cdfortisDrug.setDrugName(preDrugs.getName());
cdfortisDrug.setFactoryName(preDrugs.getDrugCompay());
cdfortisDrug.setApprNumber(product.getApproveNumber());
cdfortisDrug.setSpec(product.getFormat());
cdfortisDrug.setPrice(String.valueOf(product.getPrice()));
// 这里不确定是否应该用这个字段
cdfortisDrug.setErpId(product.getProductNumber());
cdfortisDrug.setDrugName(product.getProductName());
cdfortisDrug.setFactoryName(product.getManufacturer());
return cdfortisDrug;
}
......
......@@ -56,7 +56,7 @@ public class CdfortisResponseUtil {
* @return
* @throws Exception
*/
public static JSONObject request(String url, String method, Map<String, String> queryParams, Map<String, String> headers, RequestBody body, JSONObject rtnJson) throws Exception {
public static Object request(String url, String method, Map<String, String> queryParams, Map<String, String> headers, RequestBody body, JSONObject rtnJson) throws Exception {
HttpUrl.Builder urlBuild = HttpUrl.parse(url).newBuilder();
// 处理query参数
if (queryParams != null) {
......@@ -92,7 +92,7 @@ public class CdfortisResponseUtil {
JSONObject retObj = JSONObject.parseObject(retStr);
// 插件结果
checkResponse(retObj);
return retObj.getJSONObject("data");
return retObj.get("data");
} catch (Exception e) {
throw new Exception(e.getMessage());
}
......
......@@ -2,7 +2,7 @@ package com.cftech.cdfortis.web;
import com.alibaba.fastjson.JSONObject;
import com.cftech.cdfortis.service.CdfortisService;
import com.cftech.predrugs.model.PreDrugs;
import com.cftech.product.model.Product;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -38,12 +38,12 @@ public class CdfortisController {
/**
* 微问诊药品清单上传
*
* @param preDrugsList
* @param productList
* @return
*/
@PostMapping("/upload/druginfo")
public JSONObject uploadDrugInfo(@RequestBody List<PreDrugs> preDrugsList) {
return cdfortisService.uploadDrugInfo(preDrugsList);
public JSONObject uploadDrugInfo(@RequestBody List<Product> productList) {
return cdfortisService.uploadDrugInfo(productList);
}
......
......@@ -6,21 +6,21 @@ POST http://localhost:8080/aidea/mobile/auth/cdfortis/upload/druginfo
Content-Type: application/json
[{
"apprNumber": "test_appr_001",
"spec": "test",
"price": "14",
"apprNumber": "国药准字Z10910006",
"spec": "10g/袋",
"price": "39.80",
"drugErpNo": "test_erp_001",
"name": "666感冒灵",
"drugCompay": "xx药业"
"name": "番泻叶颗粒",
"drugCompay": "江苏艾迪药业股份有限公司"
}]
### 获取图文处方列表接口
GET http://localhost:8080/aidea/mobile/auth/cdfortis/get/fbusi/list?iDisplayStart=1&iDisplayLength=10&startTime=2020-09-07 00:00:00&endTime=2020-09-14 23:59:59
GET http://localhost:8080/aidea/mobile/auth/cdfortis/get/fbusi/list?iDisplayStart=1&iDisplayLength=10&startTime=2021-08-03 00:00:00&endTime=2021-08-03 20:59:59
### 获取图文处方图片
GET http://localhost:8080/aidea/mobile/auth/cdfortis/get/fbusi/picture?presId=123456
GET http://localhost:8080/aidea/mobile/auth/cdfortis/get/fbusi/picture?presId=11264635
### 获取单条图文处方详情
GET http://localhost:8080/aidea/mobile/auth/cdfortis/get/fbusi/detail?presId=123456
GET http://localhost:8080/aidea/mobile/auth/cdfortis/get/fbusi/detail?presId=11264635
###
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment