he2802 2 år sedan
förälder
incheckning
5c920f07b6
39 ändrade filer med 245 tillägg och 36 borttagningar
  1. 1 1
      zhongzheng-admin/src/main/resources/application.yml
  2. 1 0
      zhongzheng-api/src/main/resources/application.yml
  3. 1 1
      zhongzheng-common/src/main/java/com/zhongzheng/common/core/domain/entity/SysMenu.java
  4. 18 12
      zhongzheng-common/src/main/java/com/zhongzheng/common/type/EncryptHandler.java
  5. 1 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/SysTenantServiceImpl.java
  6. 1 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java
  7. 43 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityOrder.java
  8. 18 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityOrderMapper.java
  9. 15 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityOrderService.java
  10. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityOrderServiceImpl.java
  11. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsAddBo.java
  12. 2 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsEditBo.java
  13. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java
  14. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java
  15. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsAttachedVo.java
  16. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserVo.java
  17. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderAddBo.java
  18. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsRefundEditBo.java
  19. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/Order.java
  20. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderGoodsRefund.java
  21. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/OrderInputTemplate.java
  22. 36 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java
  23. 17 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  24. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsVo.java
  25. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/User.java
  26. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/service/impl/WxPayServiceImpl.java
  27. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/base/UserProfileMapper.xml
  28. 1 0
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseMapper.xml
  29. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/exam/ExamArrangementStudentMapper.xml
  30. 3 0
      zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsAttachedMapper.xml
  31. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml
  32. 3 3
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml
  33. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/inform/InformUserMapper.xml
  34. 1 0
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml
  35. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsRefundMapper.xml
  36. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml
  37. 2 2
      zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml
  38. 3 3
      zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml
  39. 2 2
      zhongzheng-system/src/main/resources/mapper/modules/user/UserUpdateMapper.xml

+ 1 - 1
zhongzheng-admin/src/main/resources/application.yml

@@ -141,7 +141,7 @@ mybatis-plus:
   executorType: SIMPLE
   # 指定外部化 MyBatis Properties 配置,通过该配置可以抽离配置,实现不同环境的配置部署
   configurationProperties: null
-  type-handlers-package: com.zhongzheng.common.type
+  typeHandlersPackage: com.zhongzheng.common.type
   configuration:
     # 自动驼峰命名规则(camel case)映射
     # 如果您的数据库命名符合规则无需使用 @TableField 注解指定数据库字段名

+ 1 - 0
zhongzheng-api/src/main/resources/application.yml

@@ -138,6 +138,7 @@ mybatis-plus:
   executorType: SIMPLE
   # 指定外部化 MyBatis Properties 配置,通过该配置可以抽离配置,实现不同环境的配置部署
   configurationProperties: null
+  typeHandlersPackage: com.zhongzheng.common.type
   configuration:
     # 自动驼峰命名规则(camel case)映射
     # 如果您的数据库命名符合规则无需使用 @TableField 注解指定数据库字段名

+ 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;
 
     /** 请求参数 */

+ 18 - 12
zhongzheng-common/src/main/java/com/zhongzheng/common/type/EncryptHandler.java

@@ -13,20 +13,13 @@ import java.sql.SQLException;
 
 
 @MappedJdbcTypes(JdbcType.VARCHAR)
-public class EncryptHandler implements TypeHandler<String> {
+public class EncryptHandler  implements TypeHandler<String> {
     /**
      * 线上运行后勿修改,会影响已加密数据解密
      */
     private static final byte[] KEYS = "base20230213zzkj".getBytes(StandardCharsets.UTF_8);
 
-    public static String encrypt(String value) {
-        if (null == value) {
-            return null;
-        }
-        AES aes = SecureUtil.aes(KEYS);
-        String encrypt = aes.encryptHex(value);
-        return encrypt;
-    }
+
 
     public String decrypt(String value) {
         if (null == value) {
@@ -38,21 +31,32 @@ public class EncryptHandler implements TypeHandler<String> {
         return SecureUtil.aes(KEYS).decryptStr(value);
     }
 
+    public static String encrypt(String value){
+        if (null == value) {
+            return null;
+        }
+        AES aes = SecureUtil.aes(KEYS);
+        String encrypt = aes.encryptHex(value);
+        return encrypt;
+    }
+
     @Override
     public void setParameter(PreparedStatement preparedStatement, int i, String s, JdbcType jdbcType) throws SQLException {
         if (StringUtils.isEmpty(s)) {
             preparedStatement.setString(i, null);
             return;
         }
-       /* String encrypt = encrypt(s);
-        preparedStatement.setString(i, encrypt);*/
         preparedStatement.setString(i, s);
+    //    String encrypt = encrypt(s);
+    //    preparedStatement.setString(i, encrypt);
+
     }
 
     @Override
     public String getResult(ResultSet resultSet, String s) throws SQLException {
-    //    return decrypt(resultSet.getString(s));
         return resultSet.getString(s);
+    //    return decrypt(resultSet.getString(s));
+
     }
 
     @Override
@@ -64,4 +68,6 @@ public class EncryptHandler implements TypeHandler<String> {
     public String getResult(CallableStatement callableStatement, int i) throws SQLException {
         return null;
     }
+
+
 }

+ 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;
 

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

@@ -22,6 +22,7 @@ import com.zhongzheng.common.core.redis.RedisCache;
 import com.zhongzheng.common.enums.UserStatus;
 import com.zhongzheng.common.exception.BaseException;
 import com.zhongzheng.common.exception.CustomException;
+import com.zhongzheng.common.type.EncryptHandler;
 import com.zhongzheng.common.utils.*;
 import com.zhongzheng.common.utils.ip.IpUtils;
 import com.zhongzheng.modules.alisms.service.IAliSmsService;

+ 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;
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/OrderGoodsRefundEditBo.java

@@ -42,6 +42,9 @@ public class OrderGoodsRefundEditBo {
     @ApiModelProperty("退款金额")
     private BigDecimal refundFee;
 
+    @ApiModelProperty("实际退款金额")
+    private BigDecimal realRefundFee;
+
     /** 修改时间 */
     @ApiModelProperty("修改时间")
     private Long updateTime;

+ 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/OrderGoodsRefund.java

@@ -39,6 +39,8 @@ private static final long serialVersionUID=1L;
     private Long goodsId;
     /** 退款金额 */
     private BigDecimal refundFee;
+    /** 实际退款金额 */
+    private BigDecimal realRefundFee;
     /** 添加时间 */
     @TableField(fill = FieldFill.INSERT)
     private Long createTime;

+ 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;
 }

+ 36 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderGoodsRefundServiceImpl.java

@@ -6,12 +6,15 @@ import cn.hutool.core.util.StrUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.zhongzheng.common.core.domain.model.LoginUser;
 import com.zhongzheng.common.exception.CustomException;
 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 +88,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 +161,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){
@@ -475,6 +484,7 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean confirmPeriod(List<OrderGoodsRefundEditBo> bos) {
         for(OrderGoodsRefundEditBo bo : bos){
             if(Validator.isEmpty(bo.getPeriodStatus())||Validator.isEmpty(bo.getRefundId())){
@@ -499,6 +509,10 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
             if(orderGoodsRefund.getPeriodStatus()==3&&bo.getPeriodStatus()==2){
                 throw new CustomException("操作状态错误");
             }
+            if (ObjectUtils.isNull(bo.getRealRefundFee())){
+                //如果实际退款金额为空 则默认全部退款
+                bo.setRealRefundFee(bo.getRefundFee());
+            }
             LambdaUpdateWrapper<OrderGoodsRefund> objectLambdaUpdateWrapper = Wrappers.lambdaUpdate();
             objectLambdaUpdateWrapper.eq(OrderGoodsRefund::getRefundId, bo.getRefundId());
             objectLambdaUpdateWrapper.set(OrderGoodsRefund::getPeriodStatus, bo.getPeriodStatus());
@@ -514,7 +528,8 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
             }
             //上一次是初审状态,本次已退款
             if(orderGoodsRefund.getPeriodStatus()==1&&bo.getPeriodStatus()==3){
-                objectLambdaUpdateWrapper.set(OrderGoodsRefund::getRefundTime,DateUtils.getNowTime());
+                objectLambdaUpdateWrapper.set(OrderGoodsRefund::getRefundTime,DateUtils.getNowTime())
+                .set(OrderGoodsRefund::getRealRefundFee,bo.getRealRefundFee());
             }
             //上一次是初审状态,本次待退款
             if(orderGoodsRefund.getPeriodStatus()==1&&bo.getPeriodStatus()==2){
@@ -531,10 +546,26 @@ public class OrderGoodsRefundServiceImpl extends ServiceImpl<OrderGoodsRefundMap
                 orderGoodsUpdate.setRefundStatus(2); //同意退款
                 orderGoodsUpdate.setUpdateTime(DateUtils.getNowTime());
                 iOrderGoodsService.updateById(orderGoodsUpdate);
-                //清除数据
-                OrderGoods orderGoods = iOrderGoodsService.getOne(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderGoodsId,orderGoodsRefund.getOrderGoodsId()));
-                Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId,orderGoodsRefund.getGoodsId()));
-                clearData(orderGoods.getGradeId(),orderGoodsRefund.getUserId(),orderGoods.getOrderGoodsId(),orderGoodsRefund.getGoodsId(),goods.getGoodsType());
+                if (ObjectUtils.isNotNull(bo.getType()) && bo.getType() == 1){
+                    //小程序/H5/PC 同意退款处理
+                    Order order = iOrderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderSn, bo.getOrderSn()));
+                    Map<String, String> payResult =  iWxPayService.refund(bo.getOrderSn(),order.getTransid(),bo.getRealRefundFee(),order.getPayPrice());
+                    if("OK".equals(payResult.get("return_msg"))&&Validator.isNotEmpty(payResult.get("refund_id"))){
+                        OrderGoods orderGoods = iOrderGoodsService.getById(bo.getOrderGoodsId());
+                        Goods goods = iGoodsService.getById(bo.getGoodsId());
+                        refundCall(payResult.get("refund_id"),bo.getRefundId(),orderGoods.getOrderGoodsId(),order,goods.getGoodsType(),orderGoods.getGradeId(),bo.getUserId(),goods.getGoodsId());
+                        //关闭C端用户的分销返利
+                        shareClientCancelOldSys(order,orderGoods,bo.getRealRefundFee());
+                        return true;
+                    }else{
+                        throw new CustomException("退款错误"+ JSON.toJSONString(payResult));
+                    }
+                }else {
+                    //清除数据
+                    OrderGoods orderGoods = iOrderGoodsService.getOne(new LambdaQueryWrapper<OrderGoods>().eq(OrderGoods::getOrderGoodsId,orderGoodsRefund.getOrderGoodsId()));
+                    Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId,orderGoodsRefund.getGoodsId()));
+                    clearData(orderGoods.getGradeId(),orderGoodsRefund.getUserId(),orderGoods.getOrderGoodsId(),orderGoodsRefund.getGoodsId(),goods.getGoodsType());
+                }
             }
             if(bo.getPeriodStatus()==-2){
                 //修改订单商品退款状态

+ 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);

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderGoodsVo.java

@@ -326,4 +326,7 @@ public class OrderGoodsVo {
 
 	@ApiModelProperty("内容")
 	private String context;
+
+	@ApiModelProperty("外链")
+	private String externalLink;
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/User.java

@@ -47,6 +47,7 @@ private static final long serialVersionUID=1L;
     private String idCard;
 
     /** 手机号码 */
+    @TableField(typeHandler = EncryptHandler.class)
     private String telphone;
 
     /** 用户等级 */

+ 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 - 1
zhongzheng-system/src/main/resources/mapper/modules/base/UserProfileMapper.xml

@@ -35,7 +35,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="changeStatus" column="change_status"/>
         <result property="realname" column="realname"/>
         <result property="userAccount" column="user_account"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="goodsName" column="goods_name"/>
         <result property="goodsCode" column="goods_code"/>

+ 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"/>

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamArrangementStudentMapper.xml

@@ -16,7 +16,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="realname" column="realname"/>
         <result property="sex" column="sex"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="userLevel" column="user_level"/>
         <result property="userBirth" column="user_birth"/>
         <result property="eduLevel" column="edu_level"/>

+ 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

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -139,7 +139,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="studentCode" column="user_account"/>
         <result property="realname" column="realname"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telPhone" column="telphone"/>
+        <result property="telPhone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="userStatus" column="user_status"/>
         <result property="status" column="status"/>
         <result property="classHours" column="class_hours"/>

+ 3 - 3
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -42,7 +42,7 @@
         <result property="realName" column="realname"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="createBy" column="create_by"/>
-        <result property="telPhone" column="telphone"/>
+        <result property="telPhone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="changeGrade" column="change_grade"/>
         <result property="interfacePushId" column="interface_push_id"/>
         <result property="classStatus" column="class_status"/>
@@ -92,7 +92,7 @@
         <result property="studentCode" column="user_account"/>
         <result property="realName" column="realname"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telPhone" column="telphone"/>
+        <result property="telPhone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="status" column="status"/>
         <result property="classHours" column="class_hours"/>
         <result property="periodStatus" column="period_status"/>
@@ -128,7 +128,7 @@
         <result property="idCardImg1" column="id_card_img1"/>
         <result property="idCardImg2" column="id_card_img2"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telPhone" column="telphone"/>
+        <result property="telPhone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="secAllNum" column="sec_all_num"/>
         <result property="examNum" column="exam_num"/>
         <result property="recordNum" column="record_num"/>

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/inform/InformUserMapper.xml

@@ -24,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="receiptStatus" column="receipt_status"/>
         <result property="realName" column="realname"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telPhone" column="telphone"/>
+        <result property="telPhone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="orderGoodsId" column="order_goods_id"/>
     </resultMap>
 

+ 1 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsMapper.xml

@@ -54,6 +54,7 @@
         <result property="userId" column="user_id"/>
         <result property="realname" column="realname"/>
         <result property="rebuyOrderGoodsId" column="rebuy_order_goods_id"/>
+        <result property="externalLink" column="external_link"/>
 
         <result property="code" column="code"/>
         <result property="goodsName" column="goods_name"/>

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/order/OrderGoodsRefundMapper.xml

@@ -61,7 +61,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="goodsReceived" column="goods_received"/>
         <result property="payStatus" column="pay_status"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="year" column="year"/>
         <result property="refundTime" column="refund_time"/>
     </resultMap>

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -64,7 +64,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="goodsRealPrice" column="goods_real_price"/>
 
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="realname" column="realname"/>
 
         <result property="goodsReceived" column="goods_received"/>

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -11,7 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="realname" column="realname"/>
         <result property="sex" column="sex"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="userLevel" column="user_level"/>
         <result property="userBirth" column="user_birth"/>
         <result property="eduLevel" column="edu_level"/>
@@ -70,7 +70,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.user.vo.UserStudyRecordVo" id="StudyRecordResult">
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="realname" column="realname"/>
         <result property="endTime" column="end_time"/>
         <result property="startTime" column="start_time"/>

+ 3 - 3
zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

@@ -91,7 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="roomAddress" column="room_address"/>
         <result property="syncResult" column="sync_result"/>
         <result property="roomName" column="room_name"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="idCardImg1" column="id_card_img1"/>
         <result property="idCardImg2" column="id_card_img2"/>
         <result property="centerId" column="center_id"/>
@@ -110,11 +110,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <resultMap type="com.zhongzheng.modules.user.vo.UserVo" id="UserVoResult">
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="realname" column="realname"/>
         <result property="job" column="job"/>
         <result property="sex" column="sex"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="eduLevel" column="edu_level"/>
         <result property="oneInchPhotos" column="one_inch_photos"/>

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/user/UserUpdateMapper.xml

@@ -9,7 +9,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="userId" column="user_id"/>
         <result property="realname" column="realname"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="createTime" column="create_time"/>
         <result property="updateTime" column="update_time"/>
         <result property="modifierName" column="modifier_name"/>
@@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="userId" column="user_id"/>
         <result property="realname" column="realname"/>
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
-        <result property="telphone" column="telphone"/>
+        <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="nowRealname" column="now_realname"/>
         <result property="modifierName" column="modifier_name"/>
     </resultMap>