ソースを参照

1、迁移健康问诊

yys 1 ヶ月 前
コミット
c7dfccaf95

+ 2 - 0
fs-service/src/main/java/com/fs/his/dto/InquiryConfigDTO.java

@@ -19,5 +19,7 @@ public class InquiryConfigDTO implements Serializable {
     private Integer unReceiveCancelTime;
     private BigDecimal companyPrice;
     private BigDecimal companyPrescribePrice;
+    private String followMsg;
+    private String prescribeMsg;
     private String inquirySubType;
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/mapper/FsInquiryOrderMapper.java

@@ -389,4 +389,6 @@ public interface FsInquiryOrderMapper
     void closeOrder(Long orderId);
 
     List<FsInquiryOrderDTO> selectNeedUploadData(String date);
+
+    Long countByInquirySubTypeAndCreateTime(@Param("inquirySubType")Integer inquirySubType,@Param("date") String date);
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/service/IFsInquiryOrderService.java

@@ -133,4 +133,6 @@ public interface IFsInquiryOrderService
     R getWxaCodeInquiryOrderUnLimitR(Long orderId);
 
     void closeOrder(Long orderId);
+
+    Long countByInquirySubTypeAndCreateTime(Integer inquirySubType, String date);
 }

+ 4 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsInquiryOrderServiceImpl.java

@@ -2034,6 +2034,9 @@ public class FsInquiryOrderServiceImpl implements IFsInquiryOrderService
     public void closeOrder(Long orderId) {
         fsInquiryOrderMapper.closeOrder(orderId);
     }
-
+    @Override
+    public Long countByInquirySubTypeAndCreateTime(Integer inquirySubType, String date) {
+        return fsInquiryOrderMapper.countByInquirySubTypeAndCreateTime(inquirySubType,date);
+    }
 
 }

+ 1 - 1
fs-service/src/main/java/com/fs/his/service/impl/FsPackageServiceImpl.java

@@ -247,7 +247,7 @@ public class FsPackageServiceImpl implements IFsPackageService {
     }
 
     @Override
-    @Cacheable(value = "getPackageList", key = "#param")
+//    @Cacheable(value = "getPackageList", key = "#param")
     public List<FsPackageListUVO> selectFsPackageListUVO(FsPackageListUParam param) {
         return fsPackageMapper.selectFsPackageListUVO(param);
     }

+ 12 - 0
fs-service/src/main/java/com/fs/his/vo/InquirySubTypeVo.java

@@ -0,0 +1,12 @@
+package com.fs.his.vo;
+
+import lombok.Data;
+
+@Data
+public class InquirySubTypeVo {
+    private String lable;
+    private Integer value;
+    private Long num; //限制数量
+    private Long actualNum; //实际数量
+    private Integer isCanBuy; //是否可以下单 0:不可以,1:可以
+}

+ 9 - 1
fs-service/src/main/resources/mapper/his/FsInquiryOrderMapper.xml

@@ -301,5 +301,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           AND fior.patient_json IS NOT NULL
           AND fior.patient_json->>'$.reportImages' != '';
     </select>
-
+    <select id="countByInquirySubTypeAndCreateTime" resultType="java.lang.Long">
+        SELECT IFNULL(COUNT(1), 0)
+        FROM fs_inquiry_order
+        WHERE
+            inquiry_sub_type = #{inquirySubType}
+          AND `status` IN (2,3)
+          AND create_time >= CONCAT(#{date}, ' 00:00:00')
+          AND create_time &lt; DATE_ADD(CONCAT(#{date}, ' 00:00:00'), INTERVAL 1 DAY)
+    </select>
 </mapper>

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/ArticleController.java

@@ -55,7 +55,7 @@ public class ArticleController extends AppBaseController{
 		return R.ok().put("data",list);
 	}
 	@ApiOperation("获取文章列表")
-	@Cacheable(value="getArticleList", key="#param")
+//	@Cacheable(value="getArticleList", key="#param")
 	@GetMapping("/getArticleList")
 	public R getArticleList(FsArticleListUParam param){
 		PageHelper.startPage(param.getPageNum(), param.getPageSize());

+ 43 - 0
fs-user-app/src/main/java/com/fs/app/controller/CommonController.java

@@ -26,6 +26,7 @@ import com.fs.common.core.domain.R;
 import com.fs.common.core.domain.ResponseResult;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.exception.file.OssException;
+import com.fs.common.utils.DateUtils;
 import com.fs.common.utils.file.FileUploadUtils;
 import com.fs.common.utils.http.HttpUtils;
 import com.fs.common.utils.sign.Md5Utils;
@@ -46,10 +47,12 @@ import com.fs.his.config.AppPageConfig;
 import com.fs.his.config.FsSmsConfig;
 import com.fs.his.config.FsSysConfig;
 import com.fs.his.domain.*;
+import com.fs.his.dto.InquiryConfigDTO;
 import com.fs.his.param.FsInquiryOrderFinishParam;
 import com.fs.his.service.*;
 
 import com.fs.his.utils.ConfigUtil;
+import com.fs.his.vo.InquirySubTypeVo;
 import com.fs.im.dto.*;
 import com.fs.im.service.IImService;
 import com.fs.qw.domain.FsAppContactWay;
@@ -746,4 +749,44 @@ public class CommonController {
 		AppConfig config = JSONUtil.toBean(json, AppConfig.class);
 		return R.ok().put("isOpenWithdraw",config.getIsOpenWithdraw()==null?0:config.getIsOpenWithdraw());
 	}
+
+	@GetMapping(value = "/getInquiryConfig")
+	@ApiOperation("获取问诊配置")
+	public R getInquiryConfig()
+	{
+		String json=configService.selectConfigByKey("his.inquiryConfig");
+		InquiryConfigDTO configDTO= JSONUtil.toBean(json, InquiryConfigDTO.class);
+		Map<String, Object> result = new HashMap<>();
+		result.put("prices",configDTO.getPrices());
+		result.put("isAutoPrescribeAudit",configDTO.getIsAutoPrescribeAudit());
+		result.put("unPayCancelTime",configDTO.getUnPayCancelTime());
+		result.put("unReceiveCancelTime",configDTO.getUnReceiveCancelTime());
+		result.put("companyPrice",configDTO.getCompanyPrice());
+		result.put("companyPrescribePrice",configDTO.getCompanyPrescribePrice());
+		result.put("followMsg",configDTO.getFollowMsg());
+		result.put("prescribeMsg",configDTO.getPrescribeMsg());
+		result.put("inquirySubType",configDTO.getInquirySubType());
+		String inquirySubType = configDTO.getInquirySubType();
+		if (StringUtils.isNotBlank(inquirySubType)){
+			//查询现已下单数量
+			List<InquirySubTypeVo> list = JSON.parseArray(inquirySubType, InquirySubTypeVo.class);
+			if (list!=null&& !list.isEmpty()){
+				for (InquirySubTypeVo inquiryConfigDTO : list) {
+					Long num = inquiryConfigDTO.getNum();
+					Integer value = inquiryConfigDTO.getValue();
+					inquiryConfigDTO.setIsCanBuy(1);
+					if (num!=null && num > 0 && value != null){
+						Long actualNum =
+								inquiryOrderService.countByInquirySubTypeAndCreateTime(value, DateUtils.getDate());
+						if (actualNum!=null && actualNum > 0 && actualNum >= num){
+							inquiryConfigDTO.setIsCanBuy(0);
+						}
+					}
+				}
+				result.put("inquirySubType",list);
+			}
+		}
+		return  R.ok().put("data",JSON.toJSONString(result));
+
+	}
 }

+ 1 - 1
fs-user-app/src/main/java/com/fs/app/controller/DoctorController.java

@@ -55,7 +55,7 @@ public class DoctorController extends  AppBaseController {
 
 
     @GetMapping("/getDoctorList")
-    @Cacheable(value = "getDoctorList", key = "#param")
+//    @Cacheable(value = "getDoctorList", key = "#param")
     public R getDoctorList(FsDoctorListUParam param)
     {
         PageHelper.startPage(param.getPageNum(), param.getPageSize());

+ 2 - 2
fs-user-app/src/main/java/com/fs/app/controller/IndexController.java

@@ -106,7 +106,7 @@ public class IndexController extends AppBaseController {
 	}
 	@ApiOperation("获取食谱列表")
 	@GetMapping("/getMedicatedFoodList")
-	@Cacheable(value = "getMedicatedFoodList", key = "#param")
+//	@Cacheable(value = "getMedicatedFoodList", key = "#param")
 	public R getMedicatedFoodList(FsMedicateFoodListUParam param)
 	{
 		PageHelper.startPage(param.getPageNum(), param.getPageSize());
@@ -124,7 +124,7 @@ public class IndexController extends AppBaseController {
 	}
 	@ApiOperation("获取中医列表")
 	@GetMapping("/getChineseMedicineList")
-	@Cacheable(value = "getChineseMedicineList", key = "#param")
+//	@Cacheable(value = "getChineseMedicineList", key = "#param")
 	public R getChineseMedicineList(FsChineseMedicineListUParam param)
 	{
 		PageHelper.startPage(param.getPageNum(), param.getPageSize());