Browse Source

商城读取系统配置工具类修改

chenguo 3 weeks ago
parent
commit
3b81511c67

+ 8 - 3
fs-service/src/main/java/com/fs/his/utils/ConfigUtil.java

@@ -43,7 +43,7 @@ public class ConfigUtil {
         }
     }
 
-    public <T> T generateConfigByKey(String key, Class<T> clazz){
+    public <T> T generateStructConfigByKey(String key, Class<T> clazz){
         SysConfig sysConfig = sysConfigMapper.selectConfigByConfigKey(key);
         String configValue = sysConfig.getConfigValue();
         if(configValue != null && configValue.trim().startsWith("[")){
@@ -57,12 +57,17 @@ public class ConfigUtil {
     }
 
     public JSONObject generateConfigByKey(String key){
+        int index = 0;
+        return generateConfigByKeyIndexed(key,index);
+    }
+
+    public JSONObject generateConfigByKeyIndexed(String key,int index){
         SysConfig sysConfig = sysConfigMapper.selectConfigByConfigKey(key);
         String configValue = sysConfig.getConfigValue();
         if(configValue != null && configValue.trim().startsWith("[")){
             JSONArray array = JSON.parseArray(configValue);
-            if (array.size() > 0) {
-                return array.getJSONObject(0); // 取第一个元素
+            if (array.size() >= index+1) {
+                return array.getJSONObject(index);
             }
             return new JSONObject();
         }

+ 3 - 3
fs-service/src/main/java/com/fs/hisStore/service/impl/FsStoreOrderScrmServiceImpl.java

@@ -1530,7 +1530,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService
     @Override
     public R createOmsOrder(Long orderId) throws ParseException {
         FsStoreOrderScrm order=fsStoreOrderMapper.selectFsStoreOrderById(orderId);
-        FsSysConfig erpConfig = configUtil.generateConfigByKey(SysConfigEnum.HIS_CONFIG.getKey(), FsSysConfig.class);
+        FsSysConfig erpConfig = configUtil.generateStructConfigByKey(SysConfigEnum.HIS_CONFIG.getKey(), FsSysConfig.class);
         List<Long> noErpCompany = erpConfig.getNoErpCompany();
         if (noErpCompany != null && noErpCompany.contains(order.getCompanyId())) {
             log.info("订单:{},相关公司不推送erp", order.getOrderCode());
@@ -1563,7 +1563,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService
 
     @Override
     public ErpOrder getErpOrder(FsStoreOrderScrm order) throws ParseException {
-        FsSysConfig erpConfig = configUtil.generateConfigByKey("his.config",FsSysConfig.class);
+        FsSysConfig erpConfig = configUtil.generateStructConfigByKey("his.config",FsSysConfig.class);
         ErpOrder erpOrder=new ErpOrder();
         if (order.getCompanyId()!=null){
             erpOrder.setVip_code(order.getUserId().toString()+ order.getCompanyId().toString());
@@ -1815,7 +1815,7 @@ public class FsStoreOrderScrmServiceImpl implements IFsStoreOrderScrmService
     @Transactional
     public R refundOrderMoney(Long orderId) {
         IErpOrderService erpOrderService = getErpService();
-        FsErpConfig erpConfig = configUtil.generateConfigByKey("his.config", FsErpConfig.class);
+        FsErpConfig erpConfig = configUtil.generateStructConfigByKey("his.config", FsErpConfig.class);
         FsStoreOrderScrm order = fsStoreOrderMapper.selectFsStoreOrderById(orderId);
         if(order.getStatus()==-2){
             return R.error("已退款");

+ 7 - 5
fs-user-app/src/main/java/com/fs/app/controller/store/WxUserScrmController.java

@@ -5,8 +5,6 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.binarywang.wx.miniapp.bean.WxMaPhoneNumberInfo;
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
 import cn.hutool.core.date.DateTime;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
 import com.fs.app.annotation.Login;
 import com.fs.app.controller.AppBaseController;
 import com.fs.app.utils.JwtUtils;
@@ -260,10 +258,14 @@ public class WxUserScrmController extends AppBaseController {
         if (StringUtils.isBlank(param.getCode())) {
             return R.error("code不存在");
         }
+        String courseMa_appId;
+        if(StringUtils.isNotEmpty(param.getAppId())){
+            courseMa_appId = configUtil.generateConfigMiniByKey(SysConfigEnum.COURSE_MA_CONFIG.getKey(),param.getAppId()).getString("appid");
+        }else{
+            courseMa_appId = configUtil.generateConfigByKey(SysConfigEnum.COURSE_MA_CONFIG.getKey()).getString("appid");
+        }
 
-        final WxMaService wxService = WxMaConfiguration.getMaService(
-                configUtil.generateConfigMiniByKey(SysConfigEnum.COURSE_MA_CONFIG.getKey(),param.getAppId()).getString("appid")
-        );
+        final WxMaService wxService = WxMaConfiguration.getMaService(courseMa_appId);
         try {
             WxMaJscode2SessionResult session = wxService.getUserService().getSessionInfo(param.getCode());
             // 解密