Browse Source

商城配置

三七 1 tuần trước cách đây
mục cha
commit
a323d97b25

+ 5 - 0
fs-service/src/main/java/com/fs/his/config/StoreConfig.java

@@ -3,6 +3,7 @@ package com.fs.his.config;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 
 @Data
 public class StoreConfig implements Serializable {
@@ -23,4 +24,8 @@ public class StoreConfig implements Serializable {
     private String HASHCODE;
     private String SECRET_KEY;
 
+    private String payPriceTip;//支付金额达限提示
+    private BigDecimal yearPayPrice;//年支付金额限制
+    private BigDecimal canPayPrice;//达限后支付限制金额
+
 }

+ 3 - 0
fs-service/src/main/java/com/fs/his/mapper/FsStoreOrderItemMapper.java

@@ -1,5 +1,6 @@
 package com.fs.his.mapper;
 
+import java.math.BigDecimal;
 import java.util.List;
 import com.fs.his.domain.FsStoreOrderItem;
 import com.fs.his.vo.FsStoreOrderItemExcelVO;
@@ -75,4 +76,6 @@ public interface FsStoreOrderItemMapper
     List<FsStoreOrderItemListDVO> selectFsStoreOrderItemListDVOByOrderId(Long orderId);
 
     List<FsStoreOrderItem> selectFsStoreOrderItemListByItemIds(@Param("itemIds") List<Long> itemIds);
+
+    BigDecimal selectPayPriceByYear(@Param("userId") String userId);
 }

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

@@ -288,4 +288,6 @@ public interface IFsStoreOrderService
     void weizouPush(Long l) throws IOException;
 
     int sendGoodsWeizou(FsStoreOrder fsStoreOrder, String opeName);
+
+    BigDecimal selectPayPriceByYear(String userId);
 }

+ 5 - 0
fs-service/src/main/java/com/fs/his/service/impl/FsStoreOrderServiceImpl.java

@@ -4666,4 +4666,9 @@ public class FsStoreOrderServiceImpl implements IFsStoreOrderService {
         }
 
     }
+
+    @Override
+    public BigDecimal selectPayPriceByYear(String userId){
+        return fsStoreOrderItemMapper.selectPayPriceByYear(userId);
+    }
 }

+ 1 - 1
fs-service/src/main/resources/application-druid-mengniu.yml

@@ -168,7 +168,7 @@ token:
 openIM:
     secret: openIM123
     userID: imAdmin
-    url: https://mnIM.ylrzcloud.com
+    url: https://mnIM.ylrzcloud.com/api
 #是否使用新im
 im:
     type: OPENIM

+ 9 - 0
fs-service/src/main/resources/mapper/his/FsStoreOrderItemMapper.xml

@@ -106,4 +106,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{itemId}
         </foreach>
     </delete>
+
+    <select id="selectPayPriceByYear" resultType="java.math.BigDecimal">
+        SELECT SUM(pay_price) AS total_pay
+        FROM fs_store_order
+        WHERE status NOT IN (1, -2)
+          AND user_id = #{userId}
+          AND pay_time >= CONCAT(YEAR(CURDATE()), '-01-01')
+          AND pay_time &lt; DATE_ADD(CONCAT(YEAR(CURDATE()), '-01-01'), INTERVAL 1 YEAR);
+    </select>
 </mapper>

+ 34 - 0
fs-user-app/src/main/java/com/fs/app/controller/PackageController.java

@@ -1,6 +1,7 @@
 package com.fs.app.controller;
 
 
+import cn.hutool.json.JSONUtil;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -15,6 +16,7 @@ import com.fs.company.service.ICompanyService;
 import com.fs.company.service.ICompanyUserService;
 import com.fs.course.domain.FsUserCourseFavorite;
 import com.fs.course.param.FsUserCourseFollowUParam;
+import com.fs.his.config.StoreConfig;
 import com.fs.his.domain.*;
 import com.fs.his.param.*;
 import com.fs.his.service.*;
@@ -22,6 +24,7 @@ import com.fs.his.vo.FsDiseaseListUVO;
 import com.fs.his.vo.FsDoctorListUVO;
 import com.fs.his.vo.FsPackageDetailVO;
 import com.fs.his.vo.FsPackageListUVO;
+import com.fs.system.service.ISysConfigService;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import io.jsonwebtoken.Claims;
@@ -40,6 +43,7 @@ import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletRequest;
 import java.awt.image.BufferedImage;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.net.URL;
 import java.util.Date;
 import java.util.List;
@@ -65,6 +69,11 @@ public class PackageController extends AppBaseController {
     private ICompanyUserService companyUserService;
     @Autowired
     private ICompanyService companyService;
+    @Autowired
+    private ISysConfigService configService;
+
+    @Autowired
+    private IFsStoreOrderService storeOrderService;
 
     @ApiOperation("获取套餐分类")
     @GetMapping("/getPackagCateList")
@@ -193,4 +202,29 @@ public class PackageController extends AppBaseController {
         }
     }
 
+
+    @ApiOperation("校验是否可继续下单")
+    @GetMapping("/checkContinue/{packageId}")
+    public R checkContinue(@PathVariable("packageId") Long packageId){
+        String userId = getUserId();
+        String json = configService.selectConfigByKey("his.store");
+        StoreConfig config = JSONUtil.toBean(json, StoreConfig.class);
+        BigDecimal canPayPrice = config.getCanPayPrice();
+        BigDecimal yearPayPrice = config.getYearPayPrice();
+        if(canPayPrice==null||yearPayPrice==null){
+            return R.ok();
+        }
+        String payPriceTip = config.getPayPriceTip();
+        //查询用户本年内支付处方订单+公私域套餐包总金额
+        FsPackage fsPackage = packageService.selectFsPackageByPackageId(packageId);
+        BigDecimal bigDecimal = storeOrderService.selectPayPriceByYear(userId);
+        if(bigDecimal==null){
+            return R.ok();
+        }
+        if (bigDecimal.compareTo(yearPayPrice)>=0&&fsPackage.getTotalPrice().compareTo(canPayPrice)>=0){
+            return R.ok().put("tip",payPriceTip);
+        }
+        return R.ok();
+    }
+
 }