Bläddra i källkod

查询过滤封禁小程序

xw 2 dagar sedan
förälder
incheckning
788bb83c9a

+ 2 - 1
fs-admin/src/main/java/com/fs/course/controller/FsCoursePlaySourceConfigController.java

@@ -25,6 +25,7 @@ import com.fs.course.param.FsCoursePlaySourceConfigCreateParam;
 import com.fs.course.param.FsCoursePlaySourceConfigEditParam;
 import com.fs.course.param.MiniProgramAgreementParam;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.course.vo.FsCoursePlaySourceConfigVO;
 import com.fs.framework.web.service.TokenService;
 import com.fs.his.domain.MerchantAppConfig;
@@ -291,7 +292,7 @@ public class FsCoursePlaySourceConfigController extends BaseController {
                     .or()
                     .isNull("company_id"));
         }
-        queryWrapper.in("status","0","1");//查询正常、半封禁小程序
+        FsCoursePlaySourceConfigQuery.excludeBanned(queryWrapper);
         return R.ok().put("data", fsCoursePlaySourceConfigService.list(queryWrapper));
     }
 

+ 2 - 0
fs-admin/src/main/java/com/fs/hisStore/controller/FsStoreHealthOrderScrmController.java

@@ -19,6 +19,7 @@ import com.fs.company.service.ICompanyMoneyLogsService;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.dto.FsOrderDeliveryNoteDTO;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.erp.service.IErpOrderService;
 import com.fs.framework.web.service.TokenService;
 import com.fs.his.domain.FsStoreOrderDf;
@@ -577,6 +578,7 @@ public class FsStoreHealthOrderScrmController extends BaseController {
             queryWrapper.eq("is_del", 0)  // 未删除
                        .ne("type", 2)      // 不是公众号
                        .orderByDesc("create_time");
+            FsCoursePlaySourceConfigQuery.excludeBanned(queryWrapper);
 
             List<FsCoursePlaySourceConfig> configList = coursePlaySourceConfigService.list(queryWrapper);
 

+ 2 - 2
fs-admin/src/main/java/com/fs/hisStore/controller/FsStorePaymentScrmController.java

@@ -22,6 +22,7 @@ import com.fs.company.service.ICompanyService;
 import com.fs.config.cloud.CloudHostProper;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.his.domain.FsHfpayConfig;
 import com.fs.his.domain.FsPayConfig;
 import com.fs.his.domain.MerchantAppConfig;
@@ -38,8 +39,6 @@ import com.fs.hisStore.service.IFsStoreOrderScrmService;
 import com.fs.hisStore.service.IFsStorePaymentScrmService;
 import com.fs.hisStore.vo.FsStorePaymentVO;
 import com.fs.hisStore.vo.FsMiniProgramOptionVO;
-import com.fs.course.service.IFsCoursePlaySourceConfigService;
-import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fs.system.service.ISysConfigService;
 import com.github.binarywang.wxpay.bean.request.WxPayRefundRequest;
@@ -145,6 +144,7 @@ public class FsStorePaymentScrmController extends BaseController
             queryWrapper.eq("is_del", 0)  // 未删除
                        .ne("type", 2)      // 不是公众号
                        .orderByDesc("create_time");
+            FsCoursePlaySourceConfigQuery.excludeBanned(queryWrapper);
 
             List<FsCoursePlaySourceConfig> configList = coursePlaySourceConfigService.list(queryWrapper);
 

+ 2 - 0
fs-admin/src/main/java/com/fs/qw/controller/QwCompanyController.java

@@ -13,6 +13,7 @@ import com.fs.common.utils.ServletUtils;
 import com.fs.course.config.CourseConfig;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.framework.web.service.TokenService;
 import com.fs.qw.vo.QwOptionsVO;
 import com.fs.system.service.ISysConfigService;
@@ -166,6 +167,7 @@ public class QwCompanyController extends BaseController
         QueryWrapper<FsCoursePlaySourceConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("type", 1);
         queryWrapper.eq("is_del", 0);
+        FsCoursePlaySourceConfigQuery.excludeBanned(queryWrapper);
         queryWrapper.orderByDesc("create_time");
 
         List<FsCoursePlaySourceConfig> configs = coursePlaySourceConfigService.list(queryWrapper);

+ 2 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwCompanyController.java

@@ -13,6 +13,7 @@ import com.fs.framework.security.LoginUser;
 import com.fs.course.config.CourseConfig;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.framework.service.TokenService;
 import com.fs.qw.vo.QwOptionsVO;
 import com.fs.system.service.ISysConfigService;
@@ -168,6 +169,7 @@ public class QwCompanyController extends BaseController
         QueryWrapper<FsCoursePlaySourceConfig> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("type", 1);
         queryWrapper.eq("is_del", 0);
+        FsCoursePlaySourceConfigQuery.excludeBanned(queryWrapper);
         queryWrapper.orderByDesc("create_time");
 
         List<FsCoursePlaySourceConfig> configs = coursePlaySourceConfigService.list(queryWrapper);

+ 2 - 1
fs-service/src/main/java/com/fs/company/mapper/CompanyConfigMapper.java

@@ -89,7 +89,8 @@ public interface CompanyConfigMapper
     @Select("SELECT cm.id,cm.company_id,cs.`name`,cm.app_id FROM  company_miniapp  cm\n" +
             "LEFT JOIN fs_course_play_source_config   cs ON cm.app_id=cs.appid\n" +
             "\n" +
-            "WHERE cm.`company_id` = #{companyId}")
+            "WHERE cm.`company_id` = #{companyId}\n" +
+            "  AND (cs.status IS NULL OR cs.status <> 2)")
     List<CompanyMiniAppVO> getCompanyMiniAppList(@Param("companyId") Long companyId);
 
     @Select("SELECT fcpsc.id,\n" +

+ 6 - 1
fs-service/src/main/java/com/fs/course/service/impl/FsCourseLinkServiceImpl.java

@@ -27,6 +27,7 @@ import com.fs.course.param.FsCourseLinkCreateParam;
 import com.fs.course.param.FsCourseLinkRoomParam;
 import com.fs.course.service.IFsCourseLinkService;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.course.service.IFsUserCourseService;
 import com.fs.his.config.FsSysConfig;
 import com.fs.his.utils.ConfigUtil;
@@ -928,7 +929,11 @@ public class FsCourseLinkServiceImpl implements IFsCourseLinkService
                 query = URLEncoder.encode(query, StandardCharsets.UTF_8.toString());
 
 
-                List<FsCoursePlaySourceConfig> list = fsCoursePlaySourceConfigService.list(new QueryWrapper<FsCoursePlaySourceConfig>().ne("type", 2).eq("is_del", 0));
+                QueryWrapper<FsCoursePlaySourceConfig> miniQueryWrapper = new QueryWrapper<FsCoursePlaySourceConfig>()
+                        .ne("type", 2)
+                        .eq("is_del", 0);
+                FsCoursePlaySourceConfigQuery.excludeBanned(miniQueryWrapper);
+                List<FsCoursePlaySourceConfig> list = fsCoursePlaySourceConfigService.list(miniQueryWrapper);
 //                SysConfig sysConfig3 = sysConfigMapper.selectConfigByConfigKey("courseMa.config");
 //                List<CourseMaConfig> courseMaConfigs = JSON.parseArray(sysConfig3.getConfigValue(), CourseMaConfig.class);
                 if (list!=null&& !list.isEmpty()){

+ 6 - 1
fs-service/src/main/java/com/fs/course/service/impl/FsCoursePlaySourceConfigServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.mapper.FsCoursePlaySourceConfigMapper;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.course.vo.FsCoursePlaySourceConfigVO;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
@@ -28,7 +29,11 @@ public class FsCoursePlaySourceConfigServiceImpl extends ServiceImpl<FsCoursePla
 
     @Override
     public List<FsCoursePlaySourceConfig> selectByAppIds(List<String> miniAppList) {
-        return baseMapper.selectList(new QueryWrapper<FsCoursePlaySourceConfig>().in("appid", miniAppList));
+        QueryWrapper<FsCoursePlaySourceConfig> queryWrapper = new QueryWrapper<FsCoursePlaySourceConfig>()
+                .in("appid", miniAppList)
+                .eq("is_del", 0);
+        FsCoursePlaySourceConfigQuery.excludeBanned(queryWrapper);
+        return baseMapper.selectList(queryWrapper);
     }
 
     @Override

+ 31 - 0
fs-service/src/main/java/com/fs/course/utils/FsCoursePlaySourceConfigQuery.java

@@ -0,0 +1,31 @@
+package com.fs.course.utils;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fs.course.domain.FsCoursePlaySourceConfig;
+
+/**
+ * fs_course_play_source_config 查询播放源配置
+ * status:0启用 1禁用 2封禁;status为空时视为可用
+ */
+public final class FsCoursePlaySourceConfigQuery {
+
+    public static final int STATUS_BANNED = 2;
+
+    private FsCoursePlaySourceConfigQuery() {
+    }
+
+    public static boolean isAvailable(FsCoursePlaySourceConfig config) {
+        return config != null && (config.getStatus() == null || config.getStatus() != STATUS_BANNED);
+    }
+
+    public static void excludeBanned(QueryWrapper<FsCoursePlaySourceConfig> wrapper) {
+        wrapper.and(w -> w.isNull("status").or().ne("status", STATUS_BANNED));
+    }
+
+    public static void excludeBanned(LambdaQueryWrapper<FsCoursePlaySourceConfig> wrapper) {
+        wrapper.and(w -> w.isNull(FsCoursePlaySourceConfig::getStatus)
+                .or()
+                .ne(FsCoursePlaySourceConfig::getStatus, STATUS_BANNED));
+    }
+}

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

@@ -19,6 +19,7 @@ import com.fs.company.service.ICompanyUserService;
 import com.fs.core.config.WxOpenProperties;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.his.domain.FsUser;
 import com.fs.his.domain.FsUserNewTask;
 import com.fs.his.mapper.FsUserMapper;
@@ -262,14 +263,22 @@ public class AppLoginController extends AppBaseController{
             String appId = param.getAppId();
             String appSecret = "";
             if (StringUtils.isBlank(appId)) {
-                List<FsCoursePlaySourceConfig> list = fsCoursePlaySourceConfigService.list(new QueryWrapper<FsCoursePlaySourceConfig>().eq("name", "app").eq("is_del", 0));
+                QueryWrapper<FsCoursePlaySourceConfig> defaultAppQuery = new QueryWrapper<FsCoursePlaySourceConfig>()
+                        .eq("name", "app")
+                        .eq("is_del", 0);
+                FsCoursePlaySourceConfigQuery.excludeBanned(defaultAppQuery);
+                List<FsCoursePlaySourceConfig> list = fsCoursePlaySourceConfigService.list(defaultAppQuery);
                 if(!list.isEmpty()){
                     FsCoursePlaySourceConfig fsCoursePlaySourceConfig = list.get(0);
                     appId = fsCoursePlaySourceConfig.getAppid();
                     appSecret =  fsCoursePlaySourceConfig.getSecret();
                 }
             } else {
-                FsCoursePlaySourceConfig fsCoursePlaySourceConfig = fsCoursePlaySourceConfigService.getOne(new QueryWrapper<FsCoursePlaySourceConfig>().eq("appid", appId).eq("is_del", 0));
+                QueryWrapper<FsCoursePlaySourceConfig> appIdQuery = new QueryWrapper<FsCoursePlaySourceConfig>()
+                        .eq("appid", appId)
+                        .eq("is_del", 0);
+                FsCoursePlaySourceConfigQuery.excludeBanned(appIdQuery);
+                FsCoursePlaySourceConfig fsCoursePlaySourceConfig = fsCoursePlaySourceConfigService.getOne(appIdQuery);
                 if(fsCoursePlaySourceConfig != null){
                     appId = fsCoursePlaySourceConfig.getAppid();
                     appSecret =  fsCoursePlaySourceConfig.getSecret();

+ 6 - 1
fs-user-app/src/main/java/com/fs/app/controller/course/CourseQwLoginController.java

@@ -15,6 +15,7 @@ import com.fs.course.config.CourseMaConfig;
 import com.fs.app.utils.JwtUtils;
 import com.fs.course.domain.FsCoursePlaySourceConfig;
 import com.fs.course.service.IFsCoursePlaySourceConfigService;
+import com.fs.course.utils.FsCoursePlaySourceConfigQuery;
 import com.fs.his.domain.FsUser;
 import com.fs.his.domain.FsUserWx;
 import com.fs.his.enums.FsUserOperationEnum;
@@ -77,7 +78,11 @@ public class CourseQwLoginController extends AppBaseController {
     @Transactional
     @UserOperationLog(operationType = FsUserOperationEnum.MINLOGIN)
     public R courseLogin(@RequestBody LoginParam param) {
-        List<FsCoursePlaySourceConfig> list = fsCoursePlaySourceConfigService.list(new QueryWrapper<FsCoursePlaySourceConfig>().ne("type", 2).eq("is_del", 0));
+        QueryWrapper<FsCoursePlaySourceConfig> queryWrapper = new QueryWrapper<FsCoursePlaySourceConfig>()
+                .ne("type", 2)
+                .eq("is_del", 0);
+        FsCoursePlaySourceConfigQuery.excludeBanned(queryWrapper);
+        List<FsCoursePlaySourceConfig> list = fsCoursePlaySourceConfigService.list(queryWrapper);
         if (list.isEmpty()){
             return R.error("小程序配置为空");
         }