浏览代码

fengji 修改操作手册

yanite 3 年之前
父节点
当前提交
21a98d1b28

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/RedemptionCodeDao.java

@@ -17,5 +17,7 @@ public interface RedemptionCodeDao extends BaseMapper<AppRedemptionCode> {
    int insertBatch(@Param("entities") List<AppRedemptionCode> entities);
    int insertBatch(@Param("entities") List<AppRedemptionCode> entities);
 
 
     AppRedemptionCode findFirstNull();
     AppRedemptionCode findFirstNull();
+
+    int findNull();
 }
 }
 
 

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/MessageTypeEnum.java

@@ -195,6 +195,8 @@ public enum MessageTypeEnum implements BaseEnum<String, MessageTypeEnum> {
     NO_TRAIN_STUDENT_PUSH("NO_TRAIN_STUDENT_PUSH", "云教练训练提醒"),
     NO_TRAIN_STUDENT_PUSH("NO_TRAIN_STUDENT_PUSH", "云教练训练提醒"),
 
 
     COUPON_STOCK_WARNING("COUPON_STOCK_WARNING", "优惠券库存预警"),
     COUPON_STOCK_WARNING("COUPON_STOCK_WARNING", "优惠券库存预警"),
+
+    APP_REDEMPTION_CODE("APP_REDEMPTION_CODE", "兑换码分配量预警"),
     ;
     ;
 
 
     MessageTypeEnum(String code, String msg) {
     MessageTypeEnum(String code, String msg) {

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/AppRedemptionCodeService.java

@@ -17,5 +17,7 @@ public interface AppRedemptionCodeService extends IService<AppRedemptionCode> {
     List<AppRedemptionCode> importRedemptionCode(MultipartFile file) throws Exception;
     List<AppRedemptionCode> importRedemptionCode(MultipartFile file) throws Exception;
 
 
     AppRedemptionCode allocation(Integer userId);
     AppRedemptionCode allocation(Integer userId);
+
+    void checkLowVolume();
 }
 }
 
 

+ 30 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/impl/AppRedemptionCodeServiceImpl.java

@@ -2,13 +2,16 @@ package com.ym.mec.biz.service.impl;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mysql.cj.protocol.MessageSender;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.biz.dal.dao.RedemptionCodeDao;
 import com.ym.mec.biz.dal.dao.RedemptionCodeDao;
 import com.ym.mec.biz.dal.entity.AppRedemptionCode;
 import com.ym.mec.biz.dal.entity.AppRedemptionCode;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.service.AppRedemptionCodeService;
 import com.ym.mec.biz.service.AppRedemptionCodeService;
+import com.ym.mec.biz.service.SysMessageService;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.WrapperUtil;
 import com.ym.mec.common.page.WrapperUtil;
+import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.excel.POIUtil;
 import com.ym.mec.util.excel.POIUtil;
 import com.ym.mec.util.ini.IniFileUtil;
 import com.ym.mec.util.ini.IniFileUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -32,7 +35,8 @@ import java.util.*;
  * @since 2021-12-27 14:27:57
  * @since 2021-12-27 14:27:57
  */
  */
 @Service("redemptionCodeService")
 @Service("redemptionCodeService")
-public class AppRedemptionCodeServiceImpl extends ServiceImpl<RedemptionCodeDao, AppRedemptionCode> implements AppRedemptionCodeService {
+public class AppRedemptionCodeServiceImpl extends ServiceImpl<RedemptionCodeDao, AppRedemptionCode>
+        implements AppRedemptionCodeService {
 
 
     private static final Logger LOGGER = LoggerFactory.getLogger(AppRedemptionCodeServiceImpl.class);
     private static final Logger LOGGER = LoggerFactory.getLogger(AppRedemptionCodeServiceImpl.class);
 
 
@@ -42,14 +46,18 @@ public class AppRedemptionCodeServiceImpl extends ServiceImpl<RedemptionCodeDao,
     @Autowired
     @Autowired
     private SysUserFeignService sysUserFeignService;
     private SysUserFeignService sysUserFeignService;
 
 
+    @Autowired
+    private SysMessageService sysMessageService;
+
     private final static Logger logger = LoggerFactory.getLogger(AppRedemptionCodeServiceImpl.class);
     private final static Logger logger = LoggerFactory.getLogger(AppRedemptionCodeServiceImpl.class);
 
 
     @Override
     @Override
     public List<AppRedemptionCode> importRedemptionCode(MultipartFile file) throws Exception {
     public List<AppRedemptionCode> importRedemptionCode(MultipartFile file) throws Exception {
-        Map<String, List<Map<String, Object>>> sheetsListMap = POIUtil.importExcel(new ByteArrayInputStream(file.getBytes()), 2, file.getOriginalFilename());
-        
+        Map<String, List<Map<String, Object>>> sheetsListMap = POIUtil.importExcel(
+                new ByteArrayInputStream(file.getBytes()), 2, file.getOriginalFilename());
+
         InputStream inputStream = new ClassPathResource("columnMapper.ini").getInputStream();
         InputStream inputStream = new ClassPathResource("columnMapper.ini").getInputStream();
-        Map<String,String> columns = IniFileUtil.readIniFile(inputStream, TemplateTypeEnum.REDEMPTIONCODE.getMsg());
+        Map<String, String> columns = IniFileUtil.readIniFile(inputStream, TemplateTypeEnum.REDEMPTIONCODE.getMsg());
 
 
         List<AppRedemptionCode> redemptionCodesList = new ArrayList<>();
         List<AppRedemptionCode> redemptionCodesList = new ArrayList<>();
         for (String e : sheetsListMap.keySet()) {
         for (String e : sheetsListMap.keySet()) {
@@ -61,18 +69,19 @@ public class AppRedemptionCodeServiceImpl extends ServiceImpl<RedemptionCodeDao,
 
 
                 JSONObject objectMap = new JSONObject();
                 JSONObject objectMap = new JSONObject();
                 for (String s : row.keySet()) {
                 for (String s : row.keySet()) {
-                    if(!columns.containsKey(s)){
+                    if (!columns.containsKey(s)) {
                         continue;
                         continue;
                     }
                     }
                     String columnValue = columns.get(s);
                     String columnValue = columns.get(s);
-                    if(null == row.get(s) || StringUtils.isBlank(row.get(s).toString())){
-                        LOGGER.error("导入异常:参数{}不可为空 param:{}",columnValue,objectMap);
-                        continue ;
+                    if (null == row.get(s) || StringUtils.isBlank(row.get(s).toString())) {
+                        LOGGER.error("导入异常:参数{}不可为空 param:{}", columnValue, objectMap);
+                        continue;
                     }
                     }
                     objectMap.put(columnValue, row.get(s));
                     objectMap.put(columnValue, row.get(s));
                 }
                 }
                 try {
                 try {
-                    AppRedemptionCode redemptionCode = JSONObject.parseObject(objectMap.toJSONString(),AppRedemptionCode.class);
+                    AppRedemptionCode redemptionCode = JSONObject.parseObject(objectMap.toJSONString(),
+                                                                              AppRedemptionCode.class);
                     redemptionCodesList.add(redemptionCode);
                     redemptionCodesList.add(redemptionCode);
                     redemptionCodeDao.insert(redemptionCode);
                     redemptionCodeDao.insert(redemptionCode);
                 } catch (Exception ex) {
                 } catch (Exception ex) {
@@ -96,5 +105,17 @@ public class AppRedemptionCodeServiceImpl extends ServiceImpl<RedemptionCodeDao,
         }
         }
         return redemptionCode;
         return redemptionCode;
     }
     }
+
+    @Override
+    public void checkLowVolume() {
+        int volume = redemptionCodeDao.findNull();
+        if (volume < 10) {
+            Map<Integer, String> receivers = new HashMap<>(1);
+            receivers.put(0, "13512341234");
+            sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS,
+                                               MessageTypeEnum.APP_REDEMPTION_CODE, receivers, null, 0, null, null,
+                                               volume, null, null);
+        }
+    }
 }
 }
 
 

+ 4 - 0
mec-biz/src/main/resources/config/mybatis/RedemptionCodeMapper.xml

@@ -29,5 +29,9 @@
         order by rc.import_time_ desc
         order by rc.import_time_ desc
         limit 1 for update;
         limit 1 for update;
     </select>
     </select>
+    <select id="findNull" resultType="java.lang.Integer">
+        select count(1) from app_redemption_code rc where rc.user_id_ is null
+    </select>
+
 
 
 </mapper>
 </mapper>

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/SysManualController.java

@@ -40,7 +40,7 @@ public class SysManualController extends BaseController {
     @ApiOperation(value = "查询操作手册")
     @ApiOperation(value = "查询操作手册")
     @RequestMapping("/list")
     @RequestMapping("/list")
     public Object list(SysManualQueryInfo queryInfo) {
     public Object list(SysManualQueryInfo queryInfo) {
-        return sysManualService.query(queryInfo);
+        return succeed(sysManualService.query(queryInfo));
     }
     }
 
 
     @ApiOperation(value = "新增帮助手册")
     @ApiOperation(value = "新增帮助手册")

+ 8 - 0
mec-web/src/main/java/com/ym/mec/web/controller/TaskController.java

@@ -108,6 +108,8 @@ public class TaskController extends BaseController {
 	private TenantInfoService tenantInfoService;
 	private TenantInfoService tenantInfoService;
     @Autowired
     @Autowired
     private TenantOrderRecordService tenantOrderRecordService;
     private TenantOrderRecordService tenantOrderRecordService;
+	@Autowired
+	private AppRedemptionCodeService appRedemptionCodeService;
 
 
 	@GetMapping(value = "/syncImHistoryMessageTask")
 	@GetMapping(value = "/syncImHistoryMessageTask")
 	// 同步即时通讯聊天记录
 	// 同步即时通讯聊天记录
@@ -512,6 +514,12 @@ public class TaskController extends BaseController {
 //		studentService.remarkCountFlag();
 //		studentService.remarkCountFlag();
 	}
 	}
 
 
+	@ApiOperation("兑换码分配量检测")
+	@GetMapping(value = "/redemptionCodeWarn")
+	public void redemptionCodeWarn(){
+		appRedemptionCodeService.checkLowVolume();
+	}
+
     @ApiOperation("定时校验-机构订单状态")
     @ApiOperation("定时校验-机构订单状态")
     @GetMapping(value = "/checkTenantOrder")
     @GetMapping(value = "/checkTenantOrder")
     public void checkTenantOrder(){
     public void checkTenantOrder(){