|
@@ -58,6 +58,7 @@ import com.fs.his.utils.ConfigUtil;
|
|
|
import com.fs.his.vo.FsInquiryOrderVO;
|
|
import com.fs.his.vo.FsInquiryOrderVO;
|
|
|
import com.fs.his.vo.FsStoreOrderExcelVO;
|
|
import com.fs.his.vo.FsStoreOrderExcelVO;
|
|
|
import com.fs.hisStore.config.FsErpConfig;
|
|
import com.fs.hisStore.config.FsErpConfig;
|
|
|
|
|
+import com.fs.hisStore.config.MedicalMallConfig;
|
|
|
import com.fs.hisStore.dto.*;
|
|
import com.fs.hisStore.dto.*;
|
|
|
import com.fs.hisStore.mapper.*;
|
|
import com.fs.hisStore.mapper.*;
|
|
|
import com.fs.hisStore.param.*;
|
|
import com.fs.hisStore.param.*;
|
|
@@ -78,6 +79,7 @@ import com.fs.hisStore.constants.StoreConstants;
|
|
|
import com.fs.hisStore.domain.*;
|
|
import com.fs.hisStore.domain.*;
|
|
|
import com.fs.hisStore.enums.*;
|
|
import com.fs.hisStore.enums.*;
|
|
|
import com.fs.hisStore.service.*;
|
|
import com.fs.hisStore.service.*;
|
|
|
|
|
+import com.fs.system.domain.SysConfig;
|
|
|
import com.fs.system.service.ISysConfigService;
|
|
import com.fs.system.service.ISysConfigService;
|
|
|
import com.fs.ybPay.domain.RefundResult;
|
|
import com.fs.ybPay.domain.RefundResult;
|
|
|
import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
|
|
import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
|
|
@@ -111,6 +113,7 @@ import java.sql.SQLException;
|
|
|
import java.sql.Timestamp;
|
|
import java.sql.Timestamp;
|
|
|
import java.text.ParseException;
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
+import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.ZoneId;
|
|
import java.time.ZoneId;
|
|
|
import java.time.ZonedDateTime;
|
|
import java.time.ZonedDateTime;
|
|
@@ -591,6 +594,27 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
//计算金额
|
|
//计算金额
|
|
|
FsStoreOrderComputeDTO dto = this.computedOrder(userId, computedParam);
|
|
FsStoreOrderComputeDTO dto = this.computedOrder(userId, computedParam);
|
|
|
String cartIds = redisCache.getCacheObject("orderKey:" + param.getOrderKey());
|
|
String cartIds = redisCache.getCacheObject("orderKey:" + param.getOrderKey());
|
|
|
|
|
+
|
|
|
|
|
+ SysConfig mallconfig = configService.selectConfigByConfigKey("medicalMall.func.switch");
|
|
|
|
|
+ MedicalMallConfig medicalMallConfig = JSON.parseObject(mallconfig.getConfigValue(), MedicalMallConfig.class);
|
|
|
|
|
+
|
|
|
|
|
+ if(medicalMallConfig != null && medicalMallConfig.isThreePartyEntry()){
|
|
|
|
|
+ List<FsStoreCartQueryVO> cartQueryVOList=cartMapper.selectFsStoreCartListByIds(cartIds);
|
|
|
|
|
+ Set<Long> productIds = cartQueryVOList.stream().map(FsStoreCartQueryVO::getProductId).collect(Collectors.toSet());
|
|
|
|
|
+ // 获取店铺数据信息
|
|
|
|
|
+ List<FsStoreScrm> storeScrmList = fsStoreMapper.getStoreInfoByproductId(productIds);
|
|
|
|
|
+ if (!storeScrmList.isEmpty()) {
|
|
|
|
|
+// LocalDate today = LocalDate.now(ZoneId.of("Asia/Shanghai"));
|
|
|
|
|
+ FsStoreScrm expiredStore = storeScrmList.stream()
|
|
|
|
|
+// .filter(store -> isStoreQualificationExpired(store, today))
|
|
|
|
|
+ .findFirst()
|
|
|
|
|
+ .orElse(null);
|
|
|
|
|
+ if (expiredStore != null) {
|
|
|
|
|
+ return R.error(expiredStore.getStoreName() + "资质过期无法购买!");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// Integer totalNum = 0;
|
|
// Integer totalNum = 0;
|
|
|
BigDecimal integral = BigDecimal.ZERO;
|
|
BigDecimal integral = BigDecimal.ZERO;
|
|
|
if (cartIds != null) {
|
|
if (cartIds != null) {
|
|
@@ -3701,4 +3725,12 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService {
|
|
|
map.put("DBL", "德邦");
|
|
map.put("DBL", "德邦");
|
|
|
return map;
|
|
return map;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ // 抽取的资质检查方法
|
|
|
|
|
+ private boolean isStoreQualificationExpired(FsStoreScrm store, LocalDate today) {
|
|
|
|
|
+ return store.getBusinessLicenseExpireEnd().isBefore(today) ||
|
|
|
|
|
+ store.getDrugLicenseExpiryEnd().isBefore(today) ||
|
|
|
|
|
+ store.getMedicalDevice2ExpiryEnd().isBefore(today) ||
|
|
|
|
|
+ store.getMedicalLicenseExpiryEnd().isBefore(today);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|