xw 19 часов назад
Родитель
Сommit
90cf1829eb

+ 23 - 0
fs-company/src/main/java/com/fs/company/controller/qw/QwSopController.java

@@ -12,6 +12,8 @@ import com.fs.common.enums.BusinessType;
 import com.fs.common.utils.CloudHostUtils;
 import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.poi.ExcelUtil;
+import com.fs.company.domain.Company;
+import com.fs.company.service.ICompanyService;
 import com.fs.company.service.impl.CompanyDeptServiceImpl;
 import com.fs.course.mapper.FsUserCourseMapper;
 import com.fs.course.mapper.FsUserCourseVideoMapper;
@@ -75,6 +77,9 @@ public class QwSopController extends BaseController
     @Autowired
     private CompanyDeptServiceImpl companyDeptService;
 
+    @Autowired
+    private ICompanyService companyService;
+
     @Autowired
     private IQwUserService iQwUserService;
 
@@ -254,11 +259,13 @@ public class QwSopController extends BaseController
         qwSop.setCompanyId(companyId);
         qwSop.setCreateBy(loginUser.getUser().getNickName());
         qwSop.setCreateTime(sdf.format(new Date()));
+        fillCompanyLevel(qwSop, companyId);
         int count = qwSopService.insertQwSop(qwSop);
         if(count > 0){
             if(qwSop.getQwUserIds() != null){
                 updateTempVoiceInfo(qwSop);
             }
+            return AjaxResult.success(qwSop);
         }
         return toAjax(count);
 
@@ -278,10 +285,26 @@ public class QwSopController extends BaseController
             if(qwSop != null && qwSop.getQwUserIds() != null){
                 updateTempVoiceInfo(qwSop);
             }
+            LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+            Long companyId = loginUser.getCompany().getCompanyId();
+            fillCompanyLevel(qwSop, companyId);
+            sop.put("level", qwSop.getLevel());
         }
         return sop;
     }
 
+    private void fillCompanyLevel(QwSop qwSop, Long companyId) {
+        if (qwSop == null || companyId == null) {
+            return;
+        }
+        Company company = companyService.selectCompanyById(companyId);
+        Integer level = company != null && company.getLevel() != null ? company.getLevel() : 0;
+        qwSop.setLevel(level);
+        if (level == 1) {
+            qwSop.setIsRating(1);
+        }
+    }
+
 
     /**
      * 暂停企微sop

+ 3 - 0
fs-service/src/main/java/com/fs/company/domain/Company.java

@@ -141,6 +141,9 @@ public class Company extends BaseEntity
     // 控制休息提示是否打开要暂停  0-关闭 1-打开 null-默认打开
     private Integer isOpenRestReminder;
 
+    /** 是否强制评级 0否 1是,同步控制该公司下所有SOP */
+    private Integer level;
+
     @TableField(exist = false)
     private List<Long> ids;
 

+ 9 - 1
fs-service/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java

@@ -39,6 +39,7 @@ import com.fs.hisStore.mapper.FsStoreOrderScrmMapper;
 import com.fs.live.domain.LiveOrder;
 import com.fs.live.mapper.LiveOrderMapper;
 import com.fs.live.service.ILiveService;
+import com.fs.sop.mapper.QwSopMapper;
 import com.fs.store.config.CompanyMenuConfig;
 import com.fs.system.domain.SysConfig;
 import com.fs.system.mapper.SysConfigMapper;
@@ -141,6 +142,9 @@ public class CompanyServiceImpl implements ICompanyService
     @Autowired
     private ICompanyConfigService companyConfigService;
 
+    @Autowired
+    private QwSopMapper qwSopMapper;
+
 
     @Override
     public List<CompanyVO> liveShowList(CompanyParam param) {
@@ -598,7 +602,11 @@ public class CompanyServiceImpl implements ICompanyService
         if(company.isUpdateMiniApp()){
             bindMiniApp(company);
         }
-        return companyMapper.updateCompany(company);
+        int rows = companyMapper.updateCompany(company);
+        if (rows > 0 && company.getLevel() != null && company.getCompanyId() != null) {
+            qwSopMapper.updateIsRatingByCompanyId(company.getCompanyId(), company.getLevel());
+        }
+        return rows;
     }
     // 绑定小程序
     public void bindMiniApp(Company company){

+ 3 - 0
fs-service/src/main/java/com/fs/company/vo/CompanyVO.java

@@ -108,6 +108,9 @@ public class CompanyVO implements Serializable
 
     // 控制休息提示是否打开要暂停  0-关闭 1-打开 null-默认打开
     private Integer isOpenRestReminder;
+
+    /** 是否强制评级 0否 1是 */
+    private Integer level;
     //主程序
    @TableField(exist = false)
    private String masterAppName;

+ 4 - 0
fs-service/src/main/java/com/fs/sop/domain/QwSop.java

@@ -161,6 +161,10 @@ public class QwSop implements Serializable
     @TableField(exist = false)
     private List<String> userIds = new ArrayList<>();
 
+    /** 公司是否强制评级 0否 1是 */
+    @TableField(exist = false)
+    private Integer level;
+
 
     private Integer pageNum;
     private Integer pageSize;

+ 5 - 0
fs-service/src/main/java/com/fs/sop/mapper/QwSopMapper.java

@@ -20,6 +20,7 @@ import com.fs.qw.result.QwFilterSopCustomersResult;
 import com.fs.qw.vo.QwSopRuleTimeVO;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Repository;
 
 import java.time.LocalDate;
@@ -442,4 +443,8 @@ public interface QwSopMapper extends BaseMapper<QwSop> {
     void updateSopGroupIds(@Param("id") String id, @Param("chatId") String chatId);
 
     void updateSkipSopJson(@Param("sopParamStr") String sopParamStr,@Param("id") String id);
+
+    @DataSource(DataSourceType.SOP)
+    @Update("update qw_sop set is_rating = #{isRating} where company_id = #{companyId}")
+    int updateIsRatingByCompanyId(@Param("companyId") Long companyId, @Param("isRating") Integer isRating);
 }

+ 6 - 1
fs-service/src/main/resources/mapper/company/CompanyMapper.xml

@@ -42,6 +42,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="groupName"    column="group_name"    />
         <result property="maxPadNum"    column="max_pad_num"    />
         <result property="deptId"   column="dept_id" />
+        <result property="isOpenRestReminder" column="is_open_rest_reminder" />
+        <result property="level" column="level" />
     </resultMap>
 
     <sql id="selectCompanyVo">
@@ -123,6 +125,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="maxPadNum != null">max_pad_num,</if>
             <if test="deptId != null">dept_id,</if>
             <if test="isOpenRestReminder != null">is_open_rest_reminder,</if>
+            <if test="level != null">`level`,</if>
         </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="companyName != null">#{companyName},</if>
@@ -159,7 +162,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="groupName != null">#{groupName},</if>
             <if test="maxPadNum != null">#{maxPadNum},</if>
             <if test="deptId != null">#{deptId},</if>
-            <if test="isOpenRestReminder != null">is_open_rest_reminder = #{isOpenRestReminder},</if>
+            <if test="isOpenRestReminder != null">#{isOpenRestReminder},</if>
+            <if test="level != null">#{level},</if>
          </trim>
     </insert>
 
@@ -204,6 +208,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="deptId != null">dept_id = #{deptId},</if>
             <if test="redPackageMoney != null">red_package_money = #{redPackageMoney},</if>
             <if test="isOpenRestReminder != null">is_open_rest_reminder = #{isOpenRestReminder},</if>
+            <if test="level != null">`level` = #{level},</if>
         </trim>
         where company_id = #{companyId}
     </update>