zoujiajian hace 3 años
padre
commit
4918cb55fb

+ 1 - 1
netflix-service/src/main/java/com/cyksj/service/mail/MailService.java

@@ -20,5 +20,5 @@ public interface MailService {
 	/**
 	 * 发送课程给用户
 	 */
-	void sendCoursewareByGoodsId(Long goodsId, Long relationId, String goodsTitle, String email) throws Exception;
+	void sendCoursewareByGoodsId(Long goodsId, Long relationId, Long userId, String goodsTitle, String email) throws Exception;
 }

+ 11 - 1
netflix-service/src/main/java/com/cyksj/service/mail/impl/MailServiceImpl.java

@@ -7,8 +7,10 @@ import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
 import com.cyksj.common.util.StringUtil;
 import com.cyksj.mapper.GoodsCoursewareFileMapper;
 import com.cyksj.mapper.GroupsRelationMapper;
+import com.cyksj.mapper.OrderDonMapper;
 import com.cyksj.model.entity.GoodsCoursewareFile;
 import com.cyksj.model.entity.GroupsRelation;
+import com.cyksj.model.entity.OrderDon;
 import com.cyksj.redis.RedisService;
 import com.cyksj.service.mail.MailService;
 import lombok.RequiredArgsConstructor;
@@ -48,6 +50,8 @@ public class MailServiceImpl implements MailService {
 
 	private final GroupsRelationMapper groupsRelationMapper;
 
+	private final OrderDonMapper orderDonMapper;
+
 	private static String IMG_HTML = "<p><img src='%s' width=200></p>";
 
 	@Override
@@ -83,7 +87,7 @@ public class MailServiceImpl implements MailService {
 	}
 
 	@Override
-	public void sendCoursewareByGoodsId(Long goodsId, Long relationId, String goodsTitle, String email) throws Exception {
+	public void sendCoursewareByGoodsId(Long goodsId, Long relationId, Long userId, String goodsTitle, String email) throws Exception {
 		//获取当前目前下的课程文件
 		MimeMessage msg = mailSender.createMimeMessage();
 		MimeMessageHelper helper = new MimeMessageHelper(msg,true);
@@ -128,6 +132,12 @@ public class MailServiceImpl implements MailService {
 						.set(GroupsRelation::getAccount, null)
 						.eq(GroupsRelation::getId, relationId)
 						.and(qr -> qr.isNotNull(GroupsRelation::getAccount).or().ne(GroupsRelation::getAccount, StrUtil.EMPTY)));
+
+				orderDonMapper.update(null, Wrappers.lambdaUpdate(OrderDon.class)
+						.set(OrderDon::getStatus, OrderDon.Status.hasPayment)
+						.eq(OrderDon::getRelationId, relationId)
+						.eq(OrderDon::getUserId, userId)
+						.eq(OrderDon::getStatus, OrderDon.Status.complete));
 			}
 		});
 	}

+ 9 - 7
netflix-service/src/main/java/com/cyksj/service/relation/impl/GroupRelationFrontServiceImpl.java

@@ -9,14 +9,11 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cyksj.common.exception.BusinessRuntimeException;
-import com.cyksj.common.task.GlobalThreadPoolTaskExecutor;
 import com.cyksj.enums.GatewayApiCode;
 import com.cyksj.mapper.GroupsRelationMapper;
+import com.cyksj.mapper.OrderDonMapper;
 import com.cyksj.mapper.UserMapper;
-import com.cyksj.model.entity.CouponUser;
-import com.cyksj.model.entity.GoodsDon;
-import com.cyksj.model.entity.GroupsRelation;
-import com.cyksj.model.entity.User;
+import com.cyksj.model.entity.*;
 import com.cyksj.model.request.SpecialGoodsTicketReq;
 import com.cyksj.model.views.*;
 import com.cyksj.redis.RedisService;
@@ -63,7 +60,7 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 
 	private final MailService mailService;
 
-	private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
+	private final OrderDonMapper orderDonMapper;
 
 	@Override
 	public List<RenewalView> getMyTicket(long userId, Boolean isLoginPopularize) {
@@ -226,7 +223,12 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
 				.and(qr -> qr.isNull(GroupsRelation::getAccount).or().eq(GroupsRelation::getAccount, StrUtil.EMPTY))
 				.eq(GroupsRelation::getId, relationId));
 		if (update > 0) {
-			mailService.sendCoursewareByGoodsId(relation.getGoodsId(), relation.getRelationId(), relation.getTitle(), email);
+			orderDonMapper.update(null, Wrappers.lambdaUpdate(OrderDon.class)
+					.set(OrderDon::getStatus, OrderDon.Status.complete)
+					.eq(OrderDon::getRelationId, relationId)
+					.eq(OrderDon::getUserId, userId)
+					.eq(OrderDon::getStatus, OrderDon.Status.hasPayment));
+			mailService.sendCoursewareByGoodsId(relation.getGoodsId(), relation.getRelationId(), relation.getUserId(), relation.getTitle(), email);
 		}
 	}
 }

+ 3 - 0
netflix-web/src/main/java/com/cyksj/web/controller/manage/goods/CmsGoodsDonController.java

@@ -98,6 +98,9 @@ public class CmsGoodsDonController {
     public Result<Long> spuInsert(@Validated @RequestBody ReqGoodsSpuInsert spu) throws Exception {
         // 新增商品
         GoodsDon goods = new GoodsDon();
+        if (spu.getSecondType() == null) {
+            spu.setSecondType(2);
+        }
         BeanUtil.copyProperties(spu, goods);
         if (StrUtil.isNotEmpty(goods.getRecommendTitle())) {
             if (CollUtil.isEmpty(spu.getRecommendGoodsList())) {