he2802 2 years ago
parent
commit
94a0c7860e
20 changed files with 170 additions and 2 deletions
  1. 1 1
      zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysMenu.java
  2. 1 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java
  3. 43 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityOrder.java
  4. 18 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityOrderMapper.java
  5. 15 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityOrderService.java
  6. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityOrderServiceImpl.java
  7. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java
  8. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java
  9. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java
  10. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  11. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsAttachedVo.java
  12. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserVo.java
  13. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java
  14. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/Order.java
  15. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderInputTemplate.java
  16. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java
  17. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  18. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java
  19. 1 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml
  20. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsAttachedMapper.xml

+ 1 - 1
zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysMenu.java

@@ -113,7 +113,7 @@ public class SysMenu implements Serializable
     private String remark;
 
     /** 备注 */
-    @TableField(exist = false)
+//    @TableField(exist = false)
     private Long tenantId;
 
     /** 请求参数 */

+ 1 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java

@@ -34,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 

+ 43 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityOrder.java

@@ -0,0 +1,43 @@
+package com.zhongzheng.modules.activity.domain;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 商品推荐对象 activity_recommend
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("activity_order")
+public class ActivityOrder implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+    @TableId(value = "id")
+    private Long id;
+    /** 活动类型:1,分销红包活动 */
+    private Integer type;
+    /** 订单编号 */
+    private String orderSn;
+    /** 备注 */
+    private Integer status;
+    /** 1有效 0无效 */
+    private String remark;
+    /** 创建时间 */
+    private Long createTime;
+    /** 更新时间 */
+    private Long updateTime;
+    /** 商户ID */
+    private Long tenantId;
+}

+ 18 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityOrderMapper.java

@@ -0,0 +1,18 @@
+package com.zhongzheng.modules.activity.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.activity.bo.ActivityRecommendQueryBo;
+import com.zhongzheng.modules.activity.domain.ActivityOrder;
+import com.zhongzheng.modules.activity.domain.ActivityRecommend;
+import com.zhongzheng.modules.activity.vo.ActivityRecommendVo;
+
+import java.util.List;
+
+/**
+ * 商品推荐Mapper接口
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+public interface ActivityOrderMapper extends BaseMapper<ActivityOrder> {
+}

+ 15 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityOrderService.java

@@ -0,0 +1,15 @@
+package com.zhongzheng.modules.activity.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.modules.activity.domain.ActivityOrder;
+import com.zhongzheng.modules.activity.domain.ActivityRecommend;
+
+/**
+ * 商品推荐Service接口
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+public interface IActivityOrderService extends IService<ActivityOrder> {
+
+}

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityOrderServiceImpl.java

@@ -0,0 +1,17 @@
+package com.zhongzheng.modules.activity.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.modules.activity.domain.ActivityOrder;
+import com.zhongzheng.modules.activity.mapper.ActivityOrderMapper;
+import com.zhongzheng.modules.activity.service.IActivityOrderService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 商品推荐Service业务层处理
+ *
+ * @author hjl
+ * @date 2022-04-13
+ */
+@Service
+public class ActivityOrderServiceImpl extends ServiceImpl<ActivityOrderMapper, ActivityOrder> implements IActivityOrderService {
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java

@@ -184,4 +184,6 @@ public class GoodsAddBo {
     /** 显示排序字段 */
     @ApiModelProperty("显示排序字段")
     private Long showSort;
+    @ApiModelProperty("外链")
+    private String externalLink;
 }

+ 2 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java

@@ -218,5 +218,6 @@ public class GoodsEditBo {
     /** 显示排序字段 */
     @ApiModelProperty("显示排序字段")
     private Long showSort;
-
+    @ApiModelProperty("外链")
+    private String externalLink;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java

@@ -149,4 +149,7 @@ private static final long serialVersionUID=1L;
 
     @TableField(exist = false)
     private Long oId;
+    /** 外链 */
+    private String externalLink;
+
 }

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -45,7 +45,9 @@ import com.zhongzheng.modules.grade.vo.SyncGoodsExport;
 import com.zhongzheng.modules.inform.domain.InformRemind;
 import com.zhongzheng.modules.inform.service.IInformRemindService;
 import com.zhongzheng.modules.order.domain.OrderGoods;
+import com.zhongzheng.modules.order.domain.OrderInputTemplate;
 import com.zhongzheng.modules.order.service.IOrderGoodsService;
+import com.zhongzheng.modules.order.service.IOrderInputTemplateService;
 import com.zhongzheng.modules.pay.domain.PayServe;
 import com.zhongzheng.modules.pay.domain.PaySupply;
 import com.zhongzheng.modules.pay.service.IPayServeService;
@@ -118,6 +120,8 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     @Autowired
     private IOrderGoodsService iOrderGoodsService;
 
+    @Autowired
+    private IOrderInputTemplateService iOrderInputTemplateService;
 
     @Autowired
     private ICourseMenuService iCourseMenuService;
@@ -3308,6 +3312,19 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
             }).collect(Collectors.toList());
             iInformRemindService.saveBatch(newInformRemind);
         }
+
+        //下单模板
+        List<OrderInputTemplate> inputTemplateList = iOrderInputTemplateService.list();
+        if (CollectionUtils.isNotEmpty(inputTemplateList)){
+            List<OrderInputTemplate> newTemplateList = inputTemplateList.stream().map(x -> {
+                OrderInputTemplate inputTemplate = BeanUtil.toBean(x, OrderInputTemplate.class);
+                inputTemplate.setId(null);
+                inputTemplate.setTenantId(newTenantId);
+                return inputTemplate;
+            }).collect(Collectors.toList());
+            iOrderInputTemplateService.saveBatch(newTemplateList);
+        }
+
         //保存记录
         iSysGoodsCopyRecordService.saveBatch(copyRecordList);
         return true;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsAttachedVo.java

@@ -84,4 +84,6 @@ public class GoodsAttachedVo {
 	private String code;
 	@ApiModelProperty("试卷类型名称")
 	private String paperName;
+	@ApiModelProperty("外链")
+	private String externalLink;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserVo.java

@@ -387,5 +387,7 @@ public class GoodsUserVo {
 	private Long sectionMaxNum;
 	@ApiModelProperty("0不限制 2限制整个目录顺序")
 	private Integer goodsLearningOrder;
+	@ApiModelProperty("外链")
+	private String externalLink;
 
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java

@@ -95,4 +95,6 @@ public class OrderAddBo {
     private String url;
     @ApiModelProperty("订单机构标识(旧系统)")
     private Integer orderOrg;
+    @ApiModelProperty("红包活动码")
+    private String shareActivityCode;
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/Order.java

@@ -91,6 +91,8 @@ private static final long serialVersionUID=1L;
     private String inputOrderSn;
     /** 支付状态 0未收费,1部分付款  2完全付款 3免费 */
     private Integer payStatus;
+    /** 老业务系统红包活动邀请码 */
+    private String shareActivityCode;
     /** 商户ID*/
     private Long tenantId;
 

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderInputTemplate.java

@@ -40,4 +40,6 @@ private static final long serialVersionUID=1L;
     /** 修改时间 */
     @TableField(fill = FieldFill.INSERT_UPDATE)
     private Long updateTime;
+
+    private Long tenantId;
 }

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java

@@ -12,6 +12,8 @@ import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.SecurityUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
 import com.zhongzheng.common.utils.http.HttpUtils;
+import com.zhongzheng.modules.activity.domain.ActivityOrder;
+import com.zhongzheng.modules.activity.service.IActivityOrderService;
 import com.zhongzheng.modules.goods.domain.Goods;
 import com.zhongzheng.modules.goods.service.IGoodsService;
 import com.zhongzheng.modules.goods.vo.GoodsVo;
@@ -85,6 +87,8 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
     private IUserService iUserService;
     @Autowired
     private IOrderShareMoneyService iOrderShareMoneyService;
+    @Autowired
+    private IActivityOrderService iActivityOrderService;
     @Value("${oldStudySys.shareCanclePath}")
     private String SHARE_CANCLE_PATH;
 
@@ -156,6 +160,10 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
         if(orderGoods.getRefundStatus()!=0){
             throw new CustomException("订单商品目前无法退款");
         }
+        int count = iActivityOrderService.count(new LambdaQueryWrapper<ActivityOrder>().eq(ActivityOrder::getOrderSn, bo.getOrderSn()).eq(ActivityOrder::getStatus, 1));
+        if (count > 0){
+            throw new CustomException("该订单已参与红包活动,无法退款!");
+        }
         //订单商品
         Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn,bo.getOrderSn()));
         if(order.getStatus()==0){

+ 17 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -13,6 +13,8 @@ import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
+import com.zhongzheng.modules.activity.domain.ActivityOrder;
+import com.zhongzheng.modules.activity.service.IActivityOrderService;
 import com.zhongzheng.modules.bank.domain.QuestionChapterExam;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
 import com.zhongzheng.modules.base.service.IProfileTpService;
@@ -148,6 +150,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
     @Autowired
     private ICourseSubjectService courseSubjectService;
 
+    @Autowired
+    private IActivityOrderService iActivityOrderService;
+
 
     @Override
     public OrderVo queryById(Long orderId) {
@@ -863,6 +868,18 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
             iOrderPayService.insertByAddBo(payAddBo);
         }
         this.save(add);
+
+        //判断是否红包活动订单
+        if (org.apache.commons.lang3.StringUtils.isNotBlank(add.getShareActivityCode())){
+            ActivityOrder activityOrder = new ActivityOrder();
+            activityOrder.setOrderSn(out_trade_no);
+            activityOrder.setType(1);//分销红包活动
+            activityOrder.setRemark("红包活动订单");
+            activityOrder.setCreateTime(DateUtils.getNowTime());
+            activityOrder.setUpdateTime(DateUtils.getNowTime());
+            activityOrder.setStatus(0);
+            iActivityOrderService.save(activityOrder);
+        }
         //处理免费商品
         for (OrderGoods orderGoods : freeList) {
             dealFreeGoods(orderGoods, add);

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java

@@ -28,6 +28,8 @@ import com.zhongzheng.common.utils.http.HttpUtils;
 import com.zhongzheng.common.utils.ip.IpUtils;
 import com.zhongzheng.common.utils.polyv.PolyvUtils;
 import com.zhongzheng.common.utils.wxpay.*;
+import com.zhongzheng.modules.activity.domain.ActivityOrder;
+import com.zhongzheng.modules.activity.service.IActivityOrderService;
 import com.zhongzheng.modules.base.service.IShoppingCartService;
 import com.zhongzheng.modules.course.domain.Course;
 import com.zhongzheng.modules.course.domain.CourseBusiness;
@@ -202,6 +204,9 @@ public class WxPayServiceImpl implements IWxPayService {
     @Autowired
     private ISysConfigService configService;
 
+    @Autowired
+    private IActivityOrderService iActivityOrderService;
+
     private String gzh_tokenUrl = "https://api.weixin.qq.com/cgi-bin/token";
 
     private String gzh_tokenParam = "grant_type=client_credential&appid=%s&secret=%s";
@@ -465,6 +470,13 @@ public class WxPayServiceImpl implements IWxPayService {
                 }
                 shareToOldSys(order,goodsList);
             }
+            //判断是否红包活动订单(修改活动订单状态)
+            ActivityOrder activityOrder = iActivityOrderService.getOne(new LambdaQueryWrapper<ActivityOrder>()
+                    .eq(ActivityOrder::getOrderSn, out_trade_no));
+            if (ObjectUtils.isNotNull(activityOrder)){
+                activityOrder.setStatus(1);
+                iActivityOrderService.updateById(activityOrder);
+            }
 
         }
         return true;

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml

@@ -171,6 +171,7 @@
         <result property="gradeId" column="grade_id"/>
         <result property="rebuildStatus" column="rebuild_status"/>
         <result property="sectionMaxNum" column="section_max_num"/>
+        <result property="externalLink" column="external_link"/>
 
         <result property="supplyName" column="supply_name"/>
         <result property="educationName" column="education_name"/>

+ 3 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsAttachedMapper.xml

@@ -37,10 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="publishStatus" column="publish_status"/>
 		<result property="code" column="code"/>
 		<result property="paperName" column="paper_name"/>
+		<result property="externalLink" column="external_link"/>
     </resultMap>
 
     <select id="getList" parameterType="com.zhongzheng.modules.goods.bo.GoodsAttachedQueryBo" resultMap="GoodsAttachedResultVo">
 		SELECT
+		    g.external_link,
 			ga.*,
 			CASE
 
@@ -160,6 +162,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			</if>
 		FROM
 			goods_attached ga
+				LEFT JOIN goods g ON ga.goods_id = g.goods_id
 				LEFT JOIN question_module qm ON ga.major_id = qm.module_exam_id
 				AND ga.type = 1
 				LEFT JOIN question_business qb ON qb.major_id = qm.module_exam_id