Browse Source

添加套餐修复

chenlei1231 4 months ago
parent
commit
ab10b00638

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/EnquiryRedisService.java

@@ -1,7 +1,7 @@
 package org.jeecg.modules.adweb.enquiry.service;
 
-import org.jeecg.modules.adweb.Listener.EnquiryEmailSenderListener;
 import org.jeecg.modules.adweb.common.util.JedisUtil;
+import org.jeecg.modules.adweb.listener.EnquiryEmailSenderListener;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;

+ 25 - 21
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/enquiry/service/impl/EnquiryEmailMessageServiceImpl.java

@@ -1,17 +1,13 @@
 package org.jeecg.modules.adweb.enquiry.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
-
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fasterxml.jackson.databind.ObjectMapper;
-
 import jakarta.annotation.Resource;
-
 import lombok.Data;
-
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.jeecg.common.api.vo.Result;
@@ -41,6 +37,7 @@ import org.jeecg.modules.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+import org.springframework.web.servlet.ModelAndView;
 
 import java.util.*;
 import java.util.stream.Collectors;
@@ -191,6 +188,12 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
 
     private String getEmailContent(long enquiryId) {
         List<DictModel> dictModels = sysDictService.queryDictItemsByCode("enquiry_email_template");
+        ModelAndView headString = new ModelAndView();
+        headString.setViewName("announcement/showContent");
+
+
+        System.out.println(headString);
+
         String head = "", item = "", tail = "";
         for (DictModel dictModel : dictModels) {
             if ("head".equals(dictModel.getText())) {
@@ -245,51 +248,52 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
 
     /**
      * 添加并发送询盘邮件
+     *
      * @param adwebEnquiry
      */
     @Override
-    public Result<?> addAndEnquiryEmailMsg(AdwebEnquiry adwebEnquiry, String uid){
+    public Result<?> addAndEnquiryEmailMsg(AdwebEnquiry adwebEnquiry, String uid) {
         //处理已有发送的询盘邮件
         List<String> emailList = new ArrayList<>();
-        if("ALL".equals(uid)){
+        if ("ALL".equals(uid)) {
             //获取子账户邮箱
             List<String> subAccountIdList = masterSubAccountRelationService.getSubAccountIdByMaster(String.valueOf(adwebEnquiry.getUid()));
             if (!subAccountIdList.isEmpty()) {
-                List<SysUser> principalEmailList = sysUserService.list(new QueryWrapper<SysUser>().in("id", subAccountIdList).eq("del_flag", 0).isNotNull("email").ne("email","").select("id", "email"));
+                List<SysUser> principalEmailList = sysUserService.list(new QueryWrapper<SysUser>().in("id", subAccountIdList).eq("del_flag", 0).isNotNull("email").ne("email", "").select("id", "email"));
                 if (CollectionUtils.isNotEmpty(principalEmailList)) {
                     emailList = principalEmailList.stream().map(SysUser::getEmail).collect(Collectors.toList());
                 }
             }
-        }else{
+        } else {
             SysUser sysUser = sysUserService.getById(adwebEnquiry.getPrincipalUid());
-            if(StringUtils.isNotBlank(sysUser.getEmail())){
+            if (StringUtils.isNotBlank(sysUser.getEmail())) {
                 emailList.add(sysUser.getEmail());
             }
         }
 
-        if(CollectionUtils.isNotEmpty(emailList)){
+        if (CollectionUtils.isNotEmpty(emailList)) {
             QueryWrapper<EnquiryEmailMessage> enquiryEmailMessageQueryWrapper = new QueryWrapper<>();
             enquiryEmailMessageQueryWrapper.eq("enquiry_id", adwebEnquiry.getId());
             enquiryEmailMessageQueryWrapper.eq("site_code", adwebEnquiry.getSiteCode());
-            enquiryEmailMessageQueryWrapper.in("email",emailList);
+            enquiryEmailMessageQueryWrapper.in("email", emailList);
             List<EnquiryEmailMessage> enquiryEmailMessageList = list(enquiryEmailMessageQueryWrapper);
 
-            if(CollectionUtils.isNotEmpty(enquiryEmailMessageList)){
+            if (CollectionUtils.isNotEmpty(enquiryEmailMessageList)) {
                 List<String> oldEmailList = enquiryEmailMessageList.stream().map(EnquiryEmailMessage::getEmail).collect(Collectors.toList());
                 List<String> noNeedEmailList = new ArrayList<>();
-                for(String email : emailList){
-                    if(oldEmailList.contains(email)){
+                for (String email : emailList) {
+                    if (oldEmailList.contains(email)) {
                         noNeedEmailList.add(email);
                     }
                 }
-                if(CollectionUtils.isNotEmpty(noNeedEmailList)){
+                if (CollectionUtils.isNotEmpty(noNeedEmailList)) {
                     emailList.removeAll(noNeedEmailList);
                 }
             }
 
-            if(CollectionUtils.isNotEmpty(emailList)){
+            if (CollectionUtils.isNotEmpty(emailList)) {
                 List<EnquiryEmailMessage> enquiryEmailMessageList1 = new ArrayList<>();
-                for (String email : emailList){
+                for (String email : emailList) {
                     EnquiryEmailMessage enquiryEmailMessage = new EnquiryEmailMessage();
                     enquiryEmailMessage.setEnquiryId(adwebEnquiry.getId());
                     enquiryEmailMessage.setSiteCode(adwebEnquiry.getSiteCode());
@@ -302,7 +306,7 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
                 }
 
                 boolean result = saveBatch(enquiryEmailMessageList1);
-                if(result){
+                if (result) {
                     try {
                         ObjectMapper objectMapper = new ObjectMapper();
 
@@ -324,7 +328,7 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
      * 处理询盘发送信息
      * wpform
      */
-    private List<EnquiryFormItem> dealWpformEnquiryForm(AdwebEnquiryForm adwebEnquiryForm){
+    private List<EnquiryFormItem> dealWpformEnquiryForm(AdwebEnquiryForm adwebEnquiryForm) {
         String form = adwebEnquiryForm.getForm();
         Map<String, JSONObject> formObj = FastJsonUtil.parseObject(form, Map.class);
         List<EnquiryFormItem> formItems = new ArrayList<>();
@@ -333,14 +337,14 @@ public class EnquiryEmailMessageServiceImpl extends ServiceImpl<EnquiryEmailMess
             JSONObject formItem = formObj.get(key);
             EnquiryFormItem enquiryFormItem = new EnquiryFormItem();
             enquiryFormItem.setSort(Integer.parseInt(key));
-            if("Country".equals(formItem.getString("name")) || "country".equals(formItem.getString("name"))){
+            if ("Country".equals(formItem.getString("name")) || "country".equals(formItem.getString("name"))) {
                 countryFlag = false;
             }
             enquiryFormItem.setName(formItem.getString("name"));
             enquiryFormItem.setValue(formItem.getString("value"));
             formItems.add(enquiryFormItem);
         }
-        if(countryFlag) {
+        if (countryFlag) {
             EnquiryFormItem countryForm = new EnquiryFormItem();
             countryForm.setSort(99);
             countryForm.setName("Country");

+ 1 - 1
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/Listener/EnquiryEmailSenderListener.java → jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/listener/EnquiryEmailSenderListener.java

@@ -1,4 +1,4 @@
-package org.jeecg.modules.adweb.Listener;
+package org.jeecg.modules.adweb.listener;
 
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.modules.adweb.common.Jedis.ObjectUtil;

+ 34 - 0
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/subscribePlan/controller/SubscribePlanController.java

@@ -1,5 +1,6 @@
 package org.jeecg.modules.adweb.subscribePlan.controller;
 
+import cn.hutool.core.util.RandomUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -20,6 +21,8 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
 
 /**
  * @Description: 网站营销方案套餐表
@@ -71,6 +74,22 @@ public class SubscribePlanController extends JeecgController<SubscribePlan, ISub
     @PreAuthorize("@jps.requiresPermissions('adweb:seo_market_plan:add')")
     @PostMapping(value = "/add")
     public Result<String> add(@RequestBody SubscribePlan subscribePlan) {
+
+        subscribePlan.setCreateTime(new Date());
+        QueryWrapper<SubscribePlan> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("market_type", subscribePlan.getMarketType());
+        queryWrapper.eq("plan_name", subscribePlan.getPlanName());
+        queryWrapper.ne("status", 0);
+        List<SubscribePlan> seoMarketPlans = seoMarketPlanService.list(queryWrapper);
+        if (!seoMarketPlans.isEmpty()) {
+            return Result.error("方案名称已存在!");
+        }
+        // 生成编码
+        subscribePlan.setPlanCode(subscribePlan.getMarketType() + getPlanCode());
+        if (subscribePlan.getKeywordCount() == null) {
+            subscribePlan.setKeywordCount(0);
+        }
+
         seoMarketPlanService.save(subscribePlan);
         return Result.OK("添加成功!");
     }
@@ -162,6 +181,21 @@ public class SubscribePlanController extends JeecgController<SubscribePlan, ISub
         return super.importExcel(request, response, SubscribePlan.class);
     }
 
+    /**
+     * 获取随机字符串作为planCode
+     *
+     * @Author: luxiaoxiao
+     * @Date: 2021/11/16
+     */
+    private String getPlanCode() {
+        String planCode = RandomUtil.randomStringUpper(4);
+        planCode = planCode.toUpperCase();
+        QueryWrapper<SubscribePlan> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("plan_code", planCode);
+        int count = (int) seoMarketPlanService.count(queryWrapper);
+        return count > 0 ? getPlanCode() : planCode;
+    }
+
 //	/**
 //	 * 物料完整性检测模板设置
 //	 *