Преглед изворни кода

红德堂-自动关闭余额不足的销售公司红包开关

Long пре 2 дана
родитељ
комит
7f94f2b848

+ 7 - 0
fs-admin/src/main/java/com/fs/task/FsCompanyTask.java

@@ -31,4 +31,11 @@ public class FsCompanyTask {
             companyService.subtractCompanyMoneyHourse(redPacketMoneyVO.getMoney(), redPacketMoneyVO.getCompanyId(), startTime.toLocalTime(), endTime.toLocalTime());
         }
     }
+
+    /**
+     * 自动关闭余额小于等于0的销售公司红包开关
+     */
+    public void autoCloseCompanyRedPacketSwitch() {
+        companyService.autoCloseCompanyRedPacketSwitch();
+    }
 }

+ 6 - 0
fs-service/src/main/java/com/fs/company/mapper/CompanyMapper.java

@@ -203,4 +203,10 @@ public interface CompanyMapper
      * 查询企微主体管理公司列表
      */
     List<OptionsVO> getCompanyListByCorpId(@Param("corpId") String corpId);
+
+    /**
+     * 自动关闭余额小于等于0的销售公司红包开关
+     */
+    @Update("update company set open_red_packet = 0 where money <= 0 and open_red_packet = 1")
+    int autoCloseCompanyRedPacketSwitch();
 }

+ 5 - 0
fs-service/src/main/java/com/fs/company/service/ICompanyService.java

@@ -174,4 +174,9 @@ public interface ICompanyService
      * 修改公司红包状态
      */
     void changeRedPacketState(Long companyId, Integer state);
+
+    /**
+     * 自动关闭余额小于等于0的销售公司红包开关
+     */
+    void autoCloseCompanyRedPacketSwitch();
 }

+ 11 - 0
fs-service/src/main/java/com/fs/company/service/impl/CompanyServiceImpl.java

@@ -38,6 +38,7 @@ import com.fs.system.mapper.SysConfigMapper;
 import com.fs.system.service.ISysConfigService;
 import com.google.gson.Gson;
 import com.hc.openapi.tool.util.ObjectUtils;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections4.CollectionUtils;
 ;
 import org.slf4j.Logger;
@@ -56,6 +57,7 @@ import static com.fs.company.service.impl.CompanyMiniappServiceImpl.GET_MINI_APP
  * @author fs
  * @date 2021-10-04
  */
+@Slf4j
 @Service
 public class CompanyServiceImpl implements ICompanyService
 {
@@ -1296,4 +1298,13 @@ public class CompanyServiceImpl implements ICompanyService
             companyMapper.updateCompany(company);
         }
     }
+
+    /**
+     * 自动关闭余额小于等于0的销售公司红包开关
+     */
+    @Override
+    public void autoCloseCompanyRedPacketSwitch() {
+        int affected = companyMapper.autoCloseCompanyRedPacketSwitch();
+        log.info("自动关闭销售公司红包开关,共影响公司数: {}", affected);
+    }
 }