Forráskód Böngészése

2.0一键更换小程序,可根据对应的公司换

xw 1 hete
szülő
commit
2badf55fee

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

@@ -142,7 +142,7 @@ public class QwCompanyController extends BaseController
 
 
     /**
-     * 批量更换所有主体小程序
+     * 批量更换勾选主体的小程序
      */
     @Log(title = "批量更换小程序", businessType = BusinessType.UPDATE)
     @PostMapping("/batchUpdateMiniAppId")
@@ -151,7 +151,10 @@ public class QwCompanyController extends BaseController
         if (qwCompany.getMiniAppId() == null || qwCompany.getMiniAppId().trim().isEmpty()) {
             return R.error("请选择小程序");
         }
-        return qwCompanyService.batchUpdateMiniAppId(qwCompany.getMiniAppId());
+        if (qwCompany.getIds() == null || qwCompany.getIds().length == 0) {
+            return R.error("请至少勾选一个企业微信主体");
+        }
+        return qwCompanyService.batchUpdateMiniAppId(qwCompany.getMiniAppId(), qwCompany.getIds());
     }
 
     /**

+ 3 - 0
fs-service/src/main/java/com/fs/qw/domain/QwCompany.java

@@ -87,4 +87,7 @@ public class QwCompany extends BaseEntity
     private Long createDeptId;
 
     private String qwApiUrl;
+
+    /** 批量操作的ID数组 */
+    private Long[] ids;
 }

+ 4 - 3
fs-service/src/main/java/com/fs/qw/service/IQwCompanyService.java

@@ -70,9 +70,10 @@ public interface IQwCompanyService
     List<String>  selectQwCompanyListFormCorpId();
 
     /**
-     * 批量更换所有主体小程序
-     * @param miniAppId 小程序appId
+     * 批量更换主体小程序
+     * @param miniAppId 小程序 appId
+     * @param ids 需要更新的主体ID数组
      * @return 结果
      */
-    R batchUpdateMiniAppId(String miniAppId);
+    R batchUpdateMiniAppId(String miniAppId, Long[] ids);
 }

+ 15 - 7
fs-service/src/main/java/com/fs/qw/service/impl/QwCompanyServiceImpl.java

@@ -141,20 +141,28 @@ public class QwCompanyServiceImpl implements IQwCompanyService
     }
 
     /**
-     * 批量更换所有主体小程序
-     * @param miniAppId 小程序appId
+     * 批量更换主体小程序
+     * @param miniAppId 小程序 appId
+     * @param ids 需要更新的主体ID数组
      * @return 结果
      */
     @Override
-    public R batchUpdateMiniAppId(String miniAppId) {
-        QwCompany qwCompany = new QwCompany();
-        List<QwCompany> list = qwCompanyMapper.selectQwCompanyList(qwCompany);
-        if (list == null || list.isEmpty()) {
+    public R batchUpdateMiniAppId(String miniAppId, Long[] ids) {
+        List<QwCompany> list = new java.util.ArrayList<>();
+        for (Long id : ids) {
+            QwCompany company = qwCompanyMapper.selectQwCompanyById(id);
+            if (company != null) {
+                list.add(company);
+            }
+        }
+
+        if (list.isEmpty()) {
             return R.error("没有找到需要更新的主体");
         }
+
         int successCount = 0;
         int failCount = 0;
-        // 批量更新
+
         for (QwCompany company : list) {
             try {
                 QwCompany updateData = new QwCompany();

+ 1 - 1
fs-service/src/main/resources/mapper/qw/QwCompanyMapper.xml

@@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="notifyUrl != null  and notifyUrl != ''"> and notify_url = #{notifyUrl}</if>
             <if test="chatToolbar != null  and chatToolbar != ''"> and chat_toolbar = #{chatToolbar}</if>
             <if test="chatToolbarOauth != null  and chatToolbarOauth != ''"> and chat_toolbar_oauth = #{chatToolbarOauth}</if>
-            <if test="companyIds != null  and companyIds != ''"> and company_ids = #{companyIds}</if>
+            <if test="companyIds != null  and companyIds != ''"> and FIND_IN_SET(#{companyIds}, company_ids) > 0</if>
             <if test="status != null "> and status = #{status}</if>
             <if test="isBuy != null "> and isBuy = #{isBuy}</if>
             <if test="createDeptId != null "> and create_dept_id = #{createDeptId}</if>