Browse Source

设备发送邮件异步

Bob 2 years ago
parent
commit
b51f315f4f

+ 10 - 7
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/VppDeviceServiceImpl.java

@@ -9,6 +9,7 @@ import cn.kdan.pdf.tech.core.model.*;
 import cn.kdan.pdf.tech.core.pojo.vo.VppDeviceVO;
 import cn.kdan.pdf.tech.core.pojo.vo.VppRTeamMemberRoleVO;
 import cn.kdan.pdf.tech.core.service.*;
+import cn.kdan.pdf.tech.core.utils.ThreadPoolSingleUtil;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import constant.CommonConstant;
@@ -119,13 +120,15 @@ public class VppDeviceServiceImpl implements VppDeviceService {
         LicenseCodes code = licenseCodeService.getByCdKey(devices.getCdkey());
         VppMember vppMember = memberService.getById(code.getVppMemberId());
         log.info("send cancel email!");
-        if(!ObjectUtils.isEmpty(vppMember)){
-            Subscriptions subscriptions = subscriptionService.getById(devices.getSubscriptionId());
-            Products product = productService.getById(subscriptions.getProductId());
-            String adminEmail =  memberService.getCompanySuperAdmin(vppMember.getCompanyId());
-            String text = String.format(CaptchaActionEnum.CANCEL_DEVICE_ASSIGN.text(),vppMember.getEmail(),devices.getModel(),product.getName(),product.getName(),devices.getModel(),adminEmail) + CommonConstant.signHtml;
-            emailUtils.sendMail(CaptchaActionEnum.CANCEL_DEVICE_ASSIGN.subject(), text, Collections.singletonList(vppMember.getEmail()));
-        }
+        ThreadPoolSingleUtil.getInstance().excute(() -> {
+            if(!ObjectUtils.isEmpty(vppMember)){
+                Subscriptions subscriptions = subscriptionService.getById(devices.getSubscriptionId());
+                Products product = productService.getById(subscriptions.getProductId());
+                String adminEmail =  memberService.getCompanySuperAdmin(vppMember.getCompanyId());
+                String text = String.format(CaptchaActionEnum.CANCEL_DEVICE_ASSIGN.text(),vppMember.getEmail(),devices.getModel(),product.getName(),product.getName(),devices.getModel(),adminEmail) + CommonConstant.signHtml;
+                emailUtils.sendMail(CaptchaActionEnum.CANCEL_DEVICE_ASSIGN.subject(), text, Collections.singletonList(vppMember.getEmail()));
+            }
+        });
         //更新设备状态
         devices.setStatus(DeviceStatusEnum.UNACTIVATED.code());
         devices.setCanceledDate(new Date());

+ 4 - 4
pdf-tech-core/src/main/java/cn/kdan/pdf/tech/core/service/impl/VppRTeamMemberRoleServiceImpl.java

@@ -123,9 +123,9 @@ public class VppRTeamMemberRoleServiceImpl implements VppRTeamMemberRoleService
             if (!byAccount.getCompanyId().equals(user.getCompanyId())) {
                 throw new BackendRuntimeException(VppMemberConstant.MEMBEU_HAS_JOINED);
             }
-            // 查询用户是否已存在其他团队中
+            // 查询用户是否已存在团队中
             VppRTeamMemberRoleExample example = new VppRTeamMemberRoleExample();
-            example.createCriteria().andMemberIdEqualTo(byAccount.getId()).andTeamIdNotEqualTo(dto.getTeamId()).andRoleIdLike("3");
+            example.createCriteria().andMemberIdEqualTo(byAccount.getId()).andRoleIdLike("3");
             List<VppRTeamMemberRole> vppRTeamMemberRoles = vppRTeamMemberRoleMapper.selectByExample(example);
             if (!CollectionUtils.isEmpty(vppRTeamMemberRoles)) {
                 throw new BackendRuntimeException(VppMemberConstant.MEMBEU_HAS_JOINED);
@@ -213,9 +213,9 @@ public class VppRTeamMemberRoleServiceImpl implements VppRTeamMemberRoleService
                         continue;
 //                        throw new BackendRuntimeException(VppMemberConstant.MEMBEU_HAS_JOINED);
                     }
-                    // 查询用户是否已存在其他团队中
+                    // 查询用户是否已存在团队中
                     VppRTeamMemberRoleExample example = new VppRTeamMemberRoleExample();
-                    example.createCriteria().andMemberIdEqualTo(vppMember.getId()).andTeamIdNotEqualTo(vppTeam.getId()).andRoleIdLike("3");
+                    example.createCriteria().andMemberIdEqualTo(vppMember.getId()).andRoleIdLike("3");
                     List<VppRTeamMemberRole> vppRTeamMemberRoles = vppRTeamMemberRoleMapper.selectByExample(example);
                     if (!CollectionUtils.isEmpty(vppRTeamMemberRoles)) {
                         continue;