Browse Source

添加防止重复提交

yq 3 years ago
parent
commit
7e12a30970

+ 2 - 0
src/main/java/com/usky/dxtop/controller/web/QrCodeController.java

@@ -1,6 +1,7 @@
 package com.usky.dxtop.controller.web;
 
 
+import com.usky.dxtop.common.annotation.RepeatSubmit;
 import com.usky.dxtop.common.constant.UserConstants;
 import com.usky.dxtop.common.core.domain.AjaxResult;
 import com.usky.dxtop.common.utils.SecurityUtils;
@@ -29,6 +30,7 @@ public class QrCodeController extends BaseController {
      * @param qrCode
      * @return
      */
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody QrCode qrCode){
         if (UserConstants.NOT_UNIQUE.equals(qrCodeService.checkNameUnique(qrCode)))

+ 2 - 0
src/main/java/com/usky/dxtop/controller/web/TopChannelController.java

@@ -3,6 +3,7 @@ package com.usky.dxtop.controller.web;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.usky.dxtop.common.annotation.RepeatSubmit;
 import com.usky.dxtop.common.constant.UserConstants;
 import com.usky.dxtop.common.core.domain.AjaxResult;
 import com.usky.dxtop.common.utils.SecurityUtils;
@@ -32,6 +33,7 @@ public class TopChannelController extends BaseController {
      * @param topChannel
      * @return
      */
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TopChannel topChannel){
         if (UserConstants.NOT_UNIQUE.equals(topChannelService.checkNameUnique(topChannel)))

+ 2 - 0
src/main/java/com/usky/dxtop/controller/web/TopRadioController.java

@@ -1,6 +1,7 @@
 package com.usky.dxtop.controller.web;
 
 
+import com.usky.dxtop.common.annotation.RepeatSubmit;
 import com.usky.dxtop.common.constant.UserConstants;
 import com.usky.dxtop.common.core.domain.AjaxResult;
 import com.usky.dxtop.common.utils.SecurityUtils;
@@ -28,6 +29,7 @@ public class TopRadioController extends BaseController {
      * @param topRadio
      * @return
      */
+    @RepeatSubmit
     @PostMapping
     public AjaxResult add(@RequestBody TopRadio topRadio){
         if (UserConstants.NOT_UNIQUE.equals(topRadioService.checkIdentityUnique(topRadio)))

+ 4 - 11
src/main/java/com/usky/dxtop/service/impl/QrCodeServiceImpl.java

@@ -12,7 +12,6 @@ import com.usky.dxtop.common.exception.CustomException;
 import com.usky.dxtop.common.utils.QRCodeUtil;
 import com.usky.dxtop.common.utils.SecurityUtils;
 import com.usky.dxtop.common.utils.StringUtils;
-import com.usky.dxtop.common.utils.file.FileUtils;
 import com.usky.dxtop.common.utils.sign.Base64;
 import com.usky.dxtop.mapper.QrCodeMapper;
 import com.usky.dxtop.model.QrCode;
@@ -53,8 +52,10 @@ public class QrCodeServiceImpl extends ServiceImpl<QrCodeMapper, QrCode> impleme
         try {
             String s = sysConfigService.selectConfigByKey("app.pay.path");
             Optional.ofNullable(qrCode.getTopChannelId())
-                    .orElseThrow(() ->new CustomException("渠道不能为空"));
+                    .orElseThrow(() ->new CustomException("渠道编号不能为空"));
             TopChannel topChannel = topChannelService.getById(qrCode.getTopChannelId());
+            Optional.ofNullable(topChannel)
+                    .orElseThrow(() ->new CustomException("渠道不能为空"));
             String payPath = String.format("%s%s",s,topChannel.getId());
             //生成二维码
             BufferedImage image = QRCodeUtil.encode(payPath, null, true);
@@ -104,14 +105,6 @@ public class QrCodeServiceImpl extends ServiceImpl<QrCodeMapper, QrCode> impleme
         QrCode qrCode = new QrCode();
         qrCode.setId(id);
         qrCode.setDelFlag(true);
-        boolean b = this.updateById(qrCode);
-        if (b){
-            qrCode = this.getById(id);
-            b = FileUtils.deleteFile(qrCode.getQrPath());
-            if (!b){
-                throw new CustomException("删除二维码文件失败");
-            }
-        }
-        return b;
+        return this.updateById(qrCode);
     }
 }