Browse Source

Merge branch 'dev_1_2_20220802' of http://git.dayaedu.com/yonge/cooleshow into dev_1_2_20220802

liujunchi 3 years ago
parent
commit
b2edf3fc21
24 changed files with 244 additions and 70 deletions
  1. 11 0
      cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java
  2. 2 1
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ActivityRewardController.java
  3. 9 0
      cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/task/TaskController.java
  4. 7 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ActivityPlanDao.java
  5. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ActivityPlanEvaluationDao.java
  6. 13 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/ActivityRewardDto.java
  7. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/PlatformCashAccountRecordSearch.java
  8. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/UserAccountRecordSearch.java
  9. 23 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ActivityPlan.java
  10. 2 3
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserAccountRecord.java
  11. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AccountBizTypeEnum.java
  12. 5 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ActivityPlanService.java
  13. 2 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ActivityRewardService.java
  14. 11 2
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderService.java
  15. 55 19
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityPlanServiceImpl.java
  16. 12 12
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityRewardServiceImpl.java
  17. 2 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/PlatformCashAccountRecordServiceImpl.java
  18. 1 0
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountRecordServiceImpl.java
  19. 9 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountServiceImpl.java
  20. 30 21
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java
  21. 22 1
      cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/AccountTotal.java
  22. 15 2
      cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityPlanMapper.xml
  23. 6 4
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountMapper.xml
  24. 1 1
      cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountRecordMapper.xml

+ 11 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/constant/SysConfigConstant.java

@@ -140,6 +140,13 @@ public interface SysConfigConstant {
      * @updateTime 2022/4/20 11:43
      */
     String GOOD_LOGO_PIANO_ROOM = "good_logo_piano_room";
+    /***
+     * 商品活动报名图片
+     * @author liweifan
+     * @updateTime 2022/4/20 11:43
+     */
+    String GOOD_LOGO_ACTI_REGIST = "good_logo_acti_regist";
+
 
     /**
      * 琴房学员解绑未上课天数
@@ -297,6 +304,10 @@ public interface SysConfigConstant {
      */
     String MUSIC_ACCOUNT_PERIOD = "music_account_period";
     /**
+     * 活动报名账期
+     */
+    String ACTI_REGIST_ACCOUNT_PERIOD = "acti_regist_account_period";
+    /**
      * 商品账期
      */
     String MALL_ACCOUNT_PERIOD = "mall_account_period";

+ 2 - 1
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/ActivityRewardController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.yonge.cooleshow.biz.dal.dto.ActivityRewardDto;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -64,7 +65,7 @@ public class ActivityRewardController extends BaseController {
     @PostMapping("/submit")
     @ApiOperation(value = "新增或修改", notes = "传入activityReward")
 	@PreAuthorize("@pcs.hasPermissions('activityReward/submit')")
-	public HttpResponseResult submit(@Valid @RequestBody ActivityReward activityReward) {
+	public HttpResponseResult submit(@Valid @RequestBody ActivityRewardDto activityReward) {
         return status(activityRewardService.submit(activityReward));
     }
 }

+ 9 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/task/TaskController.java

@@ -39,6 +39,8 @@ public class TaskController extends BaseController {
     private RedissonClient redissonClient;
     @Autowired
     private PlatformCashAccountRecordService platformCashAccountRecordService;
+    @Autowired
+    private ActivityPlanService activityPlanService;
 
     /***
      * 轮询用户订单
@@ -89,4 +91,11 @@ public class TaskController extends BaseController {
         bucket.set(file.lastModified());
         return HttpResponseResult.succeed();
     }
+
+    //营销活动
+    @PostMapping(value = "/activityState")
+    public HttpResponseResult<Object> activityState() {
+        activityPlanService.activityState();
+        return HttpResponseResult.succeed();
+    }
 }

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ActivityPlanDao.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.biz.dal.vo.MusicActivityVo;
 import org.apache.ibatis.annotations.Param;
 import com.yonge.cooleshow.biz.dal.entity.ActivityPlan;
 import com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo;
@@ -36,4 +37,10 @@ public interface ActivityPlanDao extends BaseMapper<ActivityPlan> {
 	 * @return
 	 */
 	String selectActivityPlanEvaluation(@Param("activityPlanId") Long activityPlanId);
+
+	/**
+	 * 查询需要变更状态的活动
+	 * @return
+	 */
+    List<ActivityPlan> activityState();
 }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dao/ActivityPlanEvaluationDao.java

@@ -5,4 +5,5 @@ import com.yonge.cooleshow.biz.dal.entity.ActivityPlanEvaluation;
 
 
 public interface ActivityPlanEvaluationDao extends BaseMapper<ActivityPlanEvaluation>{
+
 }

+ 13 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/ActivityRewardDto.java

@@ -1,7 +1,9 @@
 package com.yonge.cooleshow.biz.dal.dto;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.yonge.cooleshow.biz.dal.entity.ActivityReward;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 /**
  * @Author: liweifan
@@ -10,4 +12,15 @@ import io.swagger.annotations.ApiModel;
 @ApiModel(value = "ActivityRewardDto对象", description = "活动奖品表数据传输对象")
 public class ActivityRewardDto extends ActivityReward{
 	private static final long serialVersionUID = 1L;
+
+	@ApiModelProperty("创建状态 0 正式 1 草稿 ")
+	private Integer draftFlag;
+
+	public Integer getDraftFlag() {
+		return draftFlag;
+	}
+
+	public void setDraftFlag(Integer draftFlag) {
+		this.draftFlag = draftFlag;
+	}
 }

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/PlatformCashAccountRecordSearch.java

@@ -20,7 +20,8 @@ public class PlatformCashAccountRecordSearch extends QueryInfo {
 	@ApiModelProperty("收支类型(IN-收入  OUT-支出)")
 	private String inOrOut;
 
-	@ApiModelProperty("业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、提现 LIVE_SHARE、直播课分润 VIDEO_SHARE、视频课分润 MUSIC_SHARE、乐谱分润 VIP_SHARE、会员分润 MALL_SHARE、商品分润 ")
+	@ApiModelProperty("业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 ACTI_REGIST、活动报名 WITHDRAWAL、提现 " +
+			"LIVE_SHARE、直播课分润 VIDEO_SHARE、视频课分润 MUSIC_SHARE、乐谱分润 VIP_SHARE、会员分润 MALL_SHARE、商品分润 ACTI_REGIST_SHARE、活动报名分润 ")
 	private AccountBizTypeEnum bizType;
 
 	@ApiModelProperty(value = "入账状态 WAIT 待入账 FROZEN 冻结入账 RECORDED 已入账 CANCEL 退费 ")

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/UserAccountRecordSearch.java

@@ -32,7 +32,8 @@ public class UserAccountRecordSearch extends QueryInfo{
 	@ApiModelProperty(value = "入账状态 WAIT 待入账 FROZEN 冻结入账 RECORDED 已入账 CANCEL 退费 ")
 	private PostStatusEnum postStatus;
 
-	@ApiModelProperty("业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、提现 LIVE_SHARE、直播课分润 VIDEO_SHARE、视频课分润 MUSIC_SHARE、乐谱分润 VIP_SHARE、会员分润 MALL_SHARE、商品分润 ")
+	@ApiModelProperty("业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 ACTI_REGIST、活动报名 WITHDRAWAL、提现 " +
+			"LIVE_SHARE、直播课分润 VIDEO_SHARE、视频课分润 MUSIC_SHARE、乐谱分润 VIP_SHARE、会员分润 MALL_SHARE、商品分润 ACTI_REGIST_SHARE、活动报名分润 ")
 	private AccountBizTypeEnum bizType;
 
 	@ApiModelProperty("查询时间(yyyy-mm) ")

+ 23 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ActivityPlan.java

@@ -53,6 +53,10 @@ public class ActivityPlan implements Serializable {
 	@TableField(value = "background_url_")
     @NotBlank(message = "平铺背景不能为空")
     private String backgroundUrl;
+    @ApiModelProperty("分享图片 ")
+    @TableField(value = "share_url_")
+    @NotBlank(message = "分享图片不能为空")
+    private String shareUrl;
     @ApiModelProperty("活动链接 ")
     @TableField(value = "activity_url_")
     private String activityUrl;
@@ -75,6 +79,9 @@ public class ActivityPlan implements Serializable {
     @ApiModelProperty("报名价格 ")
 	@TableField(value = "registration_price_")
     private BigDecimal registrationPrice;
+    @ApiModelProperty("分润比例 ")
+    @TableField(value = "share_rate_")
+    private BigDecimal shareRate;
     @ApiModelProperty("创建状态 0 正式 1 草稿 ")
 	@TableField(value = "draft_flag_")
     private Integer draftFlag;
@@ -241,4 +248,20 @@ public class ActivityPlan implements Serializable {
     public void setActivityUrl(String activityUrl) {
         this.activityUrl = activityUrl;
     }
+
+    public String getShareUrl() {
+        return shareUrl;
+    }
+
+    public void setShareUrl(String shareUrl) {
+        this.shareUrl = shareUrl;
+    }
+
+    public BigDecimal getShareRate() {
+        return shareRate;
+    }
+
+    public void setShareRate(BigDecimal shareRate) {
+        this.shareRate = shareRate;
+    }
 }

+ 2 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/UserAccountRecord.java

@@ -42,7 +42,8 @@ public class UserAccountRecord implements Serializable {
     @ApiModelProperty(value = "入账状态 WAIT 待入账 FROZEN 冻结入账 RECORDED 已入账 CANCEL 退费 ")
     @TableField(value = "post_status_")
     private PostStatusEnum postStatus;
-    @ApiModelProperty(value = "业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、提现 LIVE_SHARE、直播课分润 VIDEO_SHARE、视频课分润 MUSIC_SHARE、乐谱分润 VIP_SHARE、会员分润 MALL_SHARE、商品分润",required = true)
+    @ApiModelProperty(value = "业务类型:PRACTICE、陪练课 LIVE、直播课 VIDEO、视频课 MUSIC、乐谱 WITHDRAWAL、提现 " +
+            "LIVE_SHARE、直播课分润 VIDEO_SHARE、视频课分润 MUSIC_SHARE、乐谱分润 VIP_SHARE、会员分润 MALL_SHARE、商品分润 ACTI_REGIST_SHARE、活动报名分润",required = true)
     @TableField(value = "biz_type_")
     private AccountBizTypeEnum bizType;
     @ApiModelProperty("业务id(陪练课,直播课course_schedule_id_ | 视频课,乐谱为课程组曲子id | 提现为提现记录id | 会员分润为会员购买记录id | 商品分润为商品订单id)")
@@ -77,8 +78,6 @@ public class UserAccountRecord implements Serializable {
     @ApiModelProperty(value = "账期时间")
     private Date accountPeriodTime;
 
-
-
     public Long getId() {
         return id;
     }

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/AccountBizTypeEnum.java

@@ -26,6 +26,7 @@ public enum AccountBizTypeEnum implements BaseEnum<String, AccountBizTypeEnum> {
     MUSIC_SHARE("乐谱分润"),
     VIP_SHARE("会员分润"),
     MALL_SHARE("商品分润"),
+    ACTI_REGIST_SHARE("活动报名分润"),
 
     ;
     @EnumValue

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ActivityPlanService.java

@@ -86,4 +86,9 @@ public interface ActivityPlanService extends IService<ActivityPlan>  {
 	 * @return
 	 */
     Boolean joinActivity(Long activityId, SysUser user);
+
+	/**
+	 * 定时变更活动状态
+	 */
+    void activityState();
 }

+ 2 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/ActivityRewardService.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.biz.dal.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.biz.dal.dto.ActivityRewardDto;
 import com.yonge.cooleshow.biz.dal.vo.ActivityRewardVo;
 import com.yonge.cooleshow.biz.dal.dto.search.ActivityRewardSearch;
 import com.yonge.cooleshow.biz.dal.entity.ActivityReward;
@@ -35,7 +36,7 @@ public interface ActivityRewardService extends IService<ActivityReward>  {
      */
     IPage<ActivityRewardVo> selectPage(IPage<ActivityRewardVo> page, ActivityRewardSearch query);
 
-	Boolean submit(ActivityReward activityReward);
+	Boolean submit(ActivityRewardDto activityReward);
 
 	/**
 	 * 获取活动所有奖品

+ 11 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/UserOrderService.java

@@ -104,11 +104,12 @@ public interface UserOrderService extends IService<UserOrder> {
 
     /**
      * 通过付款单号或三方交易号查询对应订单
+     *
      * @param paymentNo
      * @param transNo
      * @return
      */
-    UserOrderVo getUserOrderByPaymentNoOrTransNo(String paymentNo,String transNo);
+    UserOrderVo getUserOrderByPaymentNoOrTransNo(String paymentNo, String transNo);
 
     /***
      * 取消订单
@@ -118,6 +119,7 @@ public interface UserOrderService extends IService<UserOrder> {
      * @return: com.yonge.cooleshow.common.entity.HttpResponseResult<java.lang.Boolean>
      */
     HttpResponseResult<Boolean> orderCancel(OrderPayReq payReq);
+
     /***
      * 取消订单(未判断付款单状态)
      * @author liweifan
@@ -127,12 +129,14 @@ public interface UserOrderService extends IService<UserOrder> {
      * @updateTime 2022/5/7 14:46
      */
     void doOrderCancel(UserOrderVo userOrder, OrderStatusEnum orderStatus, String reason);
+
     /***
      * 完成所有订单
      * @author liweifan
      * @updateTime 2022/4/27 17:38
      */
     void setSuccessStatus();
+
     /***
      * 查询未记录第一次购买时间的订单
      * @author liweifan
@@ -141,6 +145,7 @@ public interface UserOrderService extends IService<UserOrder> {
      * @return: java.util.List<com.yonge.cooleshow.biz.dal.entity.UserOrder>
      */
     List<UserOrder> selectUnRecordTimeOrder(OrderSearch query);
+
     /***
      * 修改订单状态
      * @author liweifan
@@ -150,6 +155,7 @@ public interface UserOrderService extends IService<UserOrder> {
      * @return: java.lang.Integer
      */
     Integer updateStatusByOrderNo(String orderNo, String orderStatus);
+
     /***
      * 修改订单状态(测试用)
      * @author liweifan
@@ -161,6 +167,7 @@ public interface UserOrderService extends IService<UserOrder> {
 
     /**
      * 订单完成
+     *
      * @param detail
      */
     void orderSuccess(UserOrderVo detail, PaymentCallBack data);
@@ -170,13 +177,15 @@ public interface UserOrderService extends IService<UserOrder> {
 
     /**
      * 通过goodType获取分润
+     *
      * @param goodType
      * @return
      */
-    BigDecimal getShareFreeByGoodType(GoodTypeEnum goodType);
+    BigDecimal getShareFreeByGoodType(GoodTypeEnum goodType, Long bizId);
 
     /**
      * 通过配置名称获取分润比例
+     *
      * @param configName
      * @return
      */

+ 55 - 19
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityPlanServiceImpl.java

@@ -8,19 +8,16 @@ import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
 import com.yonge.cooleshow.biz.dal.dao.ActivityPlanDao;
 import com.yonge.cooleshow.biz.dal.dao.ActivityPlanEvaluationDao;
 import com.yonge.cooleshow.biz.dal.dto.ActivityPlanDto;
+import com.yonge.cooleshow.biz.dal.dto.req.OrderPayReq;
+import com.yonge.cooleshow.biz.dal.dto.search.OrderSearch;
 import com.yonge.cooleshow.biz.dal.entity.ActivityPlanEvaluation;
 import com.yonge.cooleshow.biz.dal.dto.ActivityPlanPayDto;
 import com.yonge.cooleshow.biz.dal.dto.req.OrderReq;
 import com.yonge.cooleshow.biz.dal.dto.search.ActivityPlanSearch;
 import com.yonge.cooleshow.biz.dal.entity.*;
-import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
-import com.yonge.cooleshow.biz.dal.enums.MessageTypeEnum;
-import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.biz.dal.service.*;
-import com.yonge.cooleshow.biz.dal.vo.ActivityMusicVo;
-import com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo;
-import com.yonge.cooleshow.biz.dal.vo.MusicActivityVo;
-import com.yonge.cooleshow.biz.dal.vo.UserOrderDetailVo;
+import com.yonge.cooleshow.biz.dal.vo.*;
 import com.yonge.cooleshow.biz.dal.vo.res.OrderCreateRes;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.enums.ActivityTypeEnum;
@@ -71,7 +68,10 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
     @Autowired
     private SysMessageService sysMessageService;
 
-	@Override
+    @Autowired
+    private UserOrderService userOrderService;
+
+    @Override
     public ActivityPlanVo detail(Long id) {
         ActivityPlanVo detail = baseMapper.detail(id);
         if (null != detail) {
@@ -141,7 +141,7 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
             if (detail.getActivityEnd().before(now)) {
                 return false;
             }
-            if(detail.getActivityStart().after(now)){
+            if (detail.getActivityStart().after(now)) {
                 activityPlan.setActivityStart(now);
             }
         }
@@ -159,10 +159,14 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         if (null == activityPlan) {
             return false;
         }
-        if (RegistrationMethodEnum.CHARGE.equals(activityPlan.getRegistrationMethod()) && (null == activityPlan.getRegistrationPrice() || BigDecimal.ZERO.compareTo(activityPlan.getRegistrationPrice()) > 0)) {
+        if (RegistrationMethodEnum.CHARGE.equals(activityPlan.getRegistrationMethod())
+                && (null == activityPlan.getRegistrationPrice() || BigDecimal.ZERO.compareTo(activityPlan.getRegistrationPrice()) > 0)) {
             throw new BizException("活动收费时,报名金额不能为空");
         }
-
+        if (RegistrationMethodEnum.CHARGE.equals(activityPlan.getRegistrationMethod())
+                && (null == activityPlan.getShareRate())) {
+            throw new BizException("活动收费时,分润比例不能为空");
+        }
         if (ActivityTypeEnum.EVALUATION.equals(activityPlan.getActivityType()) && (null == activityPlan.getPlanEvaluation() || null == activityPlan.getPlanEvaluation().getEvaluationDifficulty())) {
             throw new BizException("活动类型为评测活动时,评测难度不能为空");
         }
@@ -204,7 +208,7 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
     @Override
     public HttpResponseResult<OrderCreateRes> orderCreate(OrderReq.OrderReqInfo orderReqInfo) {
 
-        log.info("活动购买 参数 --> {}",orderReqInfo);
+        log.info("活动购买 参数 --> {}", orderReqInfo);
 
         // 检查用户
         getSysUser(orderReqInfo.getUserId());
@@ -252,7 +256,7 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         activityRegistration.setCreateTime(new Date());
         activityRegistrationService.save(activityRegistration);
 
-        sendMessage(userOrderDetailVo.getGoodName(),userOrderDetailVo.getUserId());
+        sendMessage(userOrderDetailVo.getGoodName(), userOrderDetailVo.getUserId());
     }
 
     @Override
@@ -263,11 +267,11 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         }
 
         checkActivityPay(activityEvaluation.getActivityId());
-        if (!checkoutJoinActivity(activityEvaluation.getActivityId(),user.getId())) {
+        if (!checkoutJoinActivity(activityEvaluation.getActivityId(), user.getId())) {
             throw new BizException("请先报名参与");
         }
 
-        List<Long> joinEvaluationIdList = activityEvaluationRecordService.getJoinEvaluationIdList(activityEvaluation.getActivityId(),user.getId());
+        List<Long> joinEvaluationIdList = activityEvaluationRecordService.getJoinEvaluationIdList(activityEvaluation.getActivityId(), user.getId());
 
         // 保存参与活动项目记录
         if (CollectionUtils.isEmpty(joinEvaluationIdList)) {
@@ -289,7 +293,7 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
     public Boolean joinActivity(Long activityId, SysUser user) {
         checkActivityPay(activityId);
         ActivityPlan activityPlan = this.getById(activityId);
-        if (checkoutJoinActivity(activityId,user.getId())) {
+        if (checkoutJoinActivity(activityId, user.getId())) {
             throw new BizException("您已经报名了");
         }
         if (RegistrationMethodEnum.CHARGE.equals(activityPlan.getRegistrationMethod())) {
@@ -305,11 +309,43 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         activityRegistration.setCreateTime(new Date());
         activityRegistrationService.save(activityRegistration);
 
-        sendMessage(activityPlan.getActivityName(),user.getId());
+        sendMessage(activityPlan.getActivityName(), user.getId());
 
         return true;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void activityState() {
+        List<ActivityPlan> list = baseMapper.activityState();
+        for (ActivityPlan activityPlan : list) {
+            if (activityPlan.getActivityState() == 0) {
+                activityPlan.setActivityState(1);
+                baseMapper.updateById(activityPlan);
+            } else {
+                activityPlan.setActivityState(0);
+                baseMapper.updateById(activityPlan);
+                //取消所有活动订单
+                cancelActivityOrder(activityPlan);
+            }
+        }
+    }
+
+    private void cancelActivityOrder(ActivityPlan activityPlan) {
+        OrderSearch query = new OrderSearch();
+        query.setOrderType(OrderTypeEnum.ACTI_REGIST.getCode());
+        query.setGoodType(GoodTypeEnum.ACTI_REGIST.getCode());
+        query.setBizId(activityPlan.getId());
+        List<UserOrderVo> userOrderVos = userOrderService.selectAllList(query);
+        for (UserOrderVo userOrderVo : userOrderVos) {
+            OrderPayReq payReq = new OrderPayReq();
+            payReq.setOrderNo(userOrderVo.getOrderNo());
+            payReq.setUserId(userOrderVo.getUserId());
+            payReq.setReason("活动已结束");
+            userOrderService.orderCancel(payReq);
+        }
+    }
+
 
     /**
      * 参与活动消息
@@ -323,10 +359,10 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
             receivers.put(userId, user.getPhone());
 
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.ACTIVITY_JOIN_MESSAGE, receivers, null,
-                                               0, null, ClientEnum.STUDENT.getCode(), user.getUsername(), activityName);
+                    0, null, ClientEnum.STUDENT.getCode(), user.getUsername(), activityName);
 
         } catch (Exception e) {
-            log.error("活动参与发送消息失败--> {}",e.fillInStackTrace());
+            log.error("活动参与发送消息失败--> {}", e.fillInStackTrace());
         }
 
 

+ 12 - 12
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/ActivityRewardServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.yonge.cooleshow.biz.dal.dao.ActivityPlanDao;
+import com.yonge.cooleshow.biz.dal.dto.ActivityRewardDto;
 import com.yonge.cooleshow.biz.dal.entity.ActivityPlan;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -44,8 +45,16 @@ public class ActivityRewardServiceImpl extends ServiceImpl<ActivityRewardDao, Ac
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Boolean submit(ActivityReward activityReward) {
-        if(null == activityReward.getActivityId()){
+    public Boolean submit(ActivityRewardDto activityReward) {
+        //更改活动状态
+        if(activityReward.getDraftFlag() == 0){
+            ActivityPlan activityPlan = new ActivityPlan();
+            activityPlan.setId(activityReward.getActivityId());
+            activityPlan.setDraftFlag(activityReward.getDraftFlag());
+            activityPlanDao.updateById(activityPlan);
+        }
+
+        if(null == activityReward.getId()){
             return createActivityReward(activityReward);
         }else{
             return updateActivityReward(activityReward);
@@ -57,21 +66,12 @@ public class ActivityRewardServiceImpl extends ServiceImpl<ActivityRewardDao, Ac
                 .eq(ActivityReward::getActivityId, activityReward.getActivityId())
         );
         baseMapper.insert(activityReward);
-        //更改活动状态
-        ActivityPlan activityPlan = new ActivityPlan();
-        activityPlan.setId(activityReward.getActivityId());
-        activityPlan.setDraftFlag(0);
-        activityPlanDao.updateById(activityPlan);
+
         return true;
     }
 
     private Boolean updateActivityReward(ActivityReward activityReward) {
         baseMapper.updateById(activityReward);
-        //更改活动状态
-        ActivityPlan activityPlan = new ActivityPlan();
-        activityPlan.setId(activityReward.getActivityId());
-        activityPlan.setDraftFlag(0);
-        activityPlanDao.updateById(activityPlan);
         return true;
     }
 

+ 2 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/PlatformCashAccountRecordServiceImpl.java

@@ -73,6 +73,8 @@ public class PlatformCashAccountRecordServiceImpl extends ServiceImpl<PlatformCa
         paramNames.add(AccountBizTypeEnum.MUSIC_SHARE.getCode());
         paramNames.add(AccountBizTypeEnum.VIP.getCode());
         paramNames.add(AccountBizTypeEnum.VIP_SHARE.getCode());
+        paramNames.add(AccountBizTypeEnum.ACTI_REGIST.getCode());
+        paramNames.add(AccountBizTypeEnum.ACTI_REGIST_SHARE.getCode());
 
         List<PlatformCashAccountRecord> list = getDao().queryCanAccountByBizType(paramNames);
         List<Long> recordIds = list.stream().map(PlatformCashAccountRecord::getId).collect(Collectors.toList());

+ 1 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountRecordServiceImpl.java

@@ -93,6 +93,7 @@ public class UserAccountRecordServiceImpl extends ServiceImpl<UserAccountRecordD
     public void updateWaitRecord() {
         //平台账户修改
         List<String> paramNames = new ArrayList<>();
+        paramNames.add(AccountBizTypeEnum.ACTI_REGIST_SHARE.getCode());
         paramNames.add(AccountBizTypeEnum.LIVE_SHARE.getCode());
         paramNames.add(AccountBizTypeEnum.VIDEO.getCode());
         paramNames.add(AccountBizTypeEnum.VIDEO_SHARE.getCode());

+ 9 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserAccountServiceImpl.java

@@ -301,11 +301,13 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
         BigDecimal liveAmount = BigDecimal.ZERO;
         BigDecimal videoAmount = BigDecimal.ZERO;
         BigDecimal musicAmount = BigDecimal.ZERO;
+
         BigDecimal liveShareAmount = BigDecimal.ZERO;
         BigDecimal videoShareAmount = BigDecimal.ZERO;
         BigDecimal musicShareAmount = BigDecimal.ZERO;
         BigDecimal vipShareAmount = BigDecimal.ZERO;
         BigDecimal mallShareAmount = BigDecimal.ZERO;
+        BigDecimal actiRegistShareAmount = BigDecimal.ZERO;
 
         for (AccountTotal info : infoList) {
             info = dealAccountTotal(info);
@@ -320,13 +322,14 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
             musicShareAmount = musicShareAmount.add(info.getMusicShareAmount());
             vipShareAmount = vipShareAmount.add(info.getVipShareAmount());
             mallShareAmount = mallShareAmount.add(info.getMallShareAmount());
+            actiRegistShareAmount = actiRegistShareAmount.add(info.getActiRegistShareAmount());
         }
         AccountTotal total = new AccountTotal();
 
         total.setTotalInAmount(
                 practiceAmount.add(liveAmount).add(videoAmount).add(musicAmount)
                         .add(liveShareAmount).add(videoShareAmount).add(musicShareAmount)
-                        .add(vipShareAmount).add(mallShareAmount)
+                        .add(vipShareAmount).add(mallShareAmount).add(actiRegistShareAmount)
         );
         if (total.getTotalInAmount().doubleValue() > 0) {
             total.setPracticeAmount(practiceAmount);
@@ -373,6 +376,11 @@ public class UserAccountServiceImpl extends ServiceImpl<UserAccountDao, UserAcco
             total.setMallShareRate(total.getMallShareAmount()
                     .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
                     .multiply(new BigDecimal("100")));
+
+            total.setActiRegistShareAmount(actiRegistShareAmount);
+            total.setActiRegistShareRate(total.getActiRegistShareAmount()
+                    .divide(total.getTotalInAmount(), 4, RoundingMode.HALF_UP)
+                    .multiply(new BigDecimal("100")));
         }
         total.setInfoList(infoList);
         return HttpResponseResult.succeed(total);

+ 30 - 21
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/UserOrderServiceImpl.java

@@ -199,7 +199,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             return HttpResponseResult.failed("订单已关闭");
         }
         //关闭或完成订单
-        closeOrSuccessOrder(payReq.getOrderNo());
+        closeOrSuccessOrder(payReq.getOrderNo(), StringUtil.isEmpty(payReq.getReason()) ? "订单取消" : payReq.getReason());
         return HttpResponseResult.succeed(true);
     }
 
@@ -380,7 +380,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         List<UserOrderVo> payingOrderList = baseMapper.selectPendingList(search);
         for (UserOrderVo orderVo : payingOrderList) {
             //取消订单要获取锁,防止在轮询取消时,用户修改订单状态
-            boolean b = DistributedLock.of(redissonClient)
+            DistributedLock.of(redissonClient)
                     .runIfLockCanGet(CacheNameEnum.LOCK_EXECUTE_ORDER.getRedisKey(orderVo.getOrderNo())
                             , () -> pollingCancelOrder(orderVo.getOrderNo()), 60L, TimeUnit.SECONDS);
         }
@@ -388,10 +388,10 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
     @Transactional(rollbackFor = Exception.class)
     void pollingCancelOrder(String orderNo) {
-        closeOrSuccessOrder(orderNo);
+        closeOrSuccessOrder(orderNo, "订单超时");
     }
 
-    private void closeOrSuccessOrder(String orderNo) {
+    private void closeOrSuccessOrder(String orderNo, String reason) {
         UserOrderVo detail = detail(orderNo, null);
         if (null == detail) {
             return;
@@ -403,7 +403,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         UserOrderPayment userOrderPayment = orderPaymentService.detailByTransNoOrPaymentNo(detail.getTransNo(), detail.getPaymentNo());
         if (null == userOrderPayment) {
             //关闭订单
-            doOrderCancel(detail, OrderStatusEnum.CLOSE, "订单超时");
+            doOrderCancel(detail, OrderStatusEnum.CLOSE, reason);
         } else if (TradeStatusEnum.pending.equals(userOrderPayment.getStatus())) {
             Payment param = new Payment(detail.getOpenType(),
                     PaymentClientEnum.valueOf(userOrderPayment.getPaymentClient()), detail.getPayChannel());
@@ -435,10 +435,10 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
                 orderPaymentService.updateById(userOrderPayment);
             } else {
                 //关闭订单付款单
-                Boolean close = orderPaymentService.closePaymentAndReqOpen(orderNo, "订单超时");
+                Boolean close = orderPaymentService.closePaymentAndReqOpen(orderNo, reason);
                 if (close) {
                     //关闭订单
-                    doOrderCancel(detail, OrderStatusEnum.CLOSE, "订单超时");
+                    doOrderCancel(detail, OrderStatusEnum.CLOSE, reason);
                 }
             }
         } else if (TradeStatusEnum.succeeded.equals(userOrderPayment.getStatus())) {
@@ -449,7 +449,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             doOrderCancel(detail, OrderStatusEnum.FAIL, userOrderPayment.getPayFailMsg());
         } else if (TradeStatusEnum.close.equals(userOrderPayment.getStatus())) {
             //关闭订单
-            doOrderCancel(detail, OrderStatusEnum.CLOSE, "订单超时");
+            doOrderCancel(detail, OrderStatusEnum.CLOSE, reason);
         }
     }
 
@@ -659,6 +659,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             configValue = sysConfigService.findConfigValue(SysConfigConstant.GOOD_LOGO_MUSIC);
         } else if (GoodTypeEnum.PINAO_ROOM.equals(goodTypeEnum)) {
             configValue = sysConfigService.findConfigValue(SysConfigConstant.GOOD_LOGO_PIANO_ROOM);
+        } else if (GoodTypeEnum.ACTI_REGIST.equals(goodTypeEnum)) {
+            configValue = sysConfigService.findConfigValue(SysConfigConstant.GOOD_LOGO_ACTI_REGIST);
         }
         return configValue;
     }
@@ -816,15 +818,11 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
                 platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), platformFee,
                         InOrOutEnum.IN, PostStatusEnum.RECORDED, AccountBizTypeEnum.PIAON_ROOM, orderDetailVo.getBizId(),
                         orderDetailVo.getOrderNo(), accountPeriodTime);
-            }else if (GoodTypeEnum.ACTI_REGIST.equals(orderDetailVo.getGoodType())) {
-                AccountBizTypeEnum bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode());
-                platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), platformFee,
-                        InOrOutEnum.IN, PostStatusEnum.RECORDED, bizTypeEnum, orderDetailVo.getBizId(),
-                        orderDetailVo.getOrderNo(), accountPeriodTime);
             } else {
                 AccountBizTypeEnum bizTypeEnum = AccountBizTypeEnum.valueOf(orderDetailVo.getGoodType().getCode());
                 platformCashAccountRecord = new PlatformCashAccountRecord(orderDetailVo.getUserId(), platformFee,
-                        InOrOutEnum.IN, PostStatusEnum.WAIT, bizTypeEnum, orderDetailVo.getBizId(), orderDetailVo.getOrderNo(), accountPeriodTime);
+                        InOrOutEnum.IN, PostStatusEnum.WAIT, bizTypeEnum, orderDetailVo.getBizId(),
+                        orderDetailVo.getOrderNo(), accountPeriodTime);
             }
             platformCashAccountRecordService.save(platformCashAccountRecord);
         }
@@ -833,7 +831,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         if (null != orderDetailVo.getRecomUserId()
                 && !orderDetailVo.getRecomUserId().equals(orderDetailVo.getMerchId())) {
             //获取分润收益费率
-            BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType());
+            BigDecimal shareFeeRate = getShareFreeByGoodType(orderDetailVo.getGoodType()
+                    , orderDetailVo.getBizId());
             //入老师账户
             BigDecimal shareFee = expectPrice.multiply(shareFeeRate).setScale(2, RoundingMode.HALF_UP);
             if (shareFee.compareTo(BigDecimal.ZERO) > 0) {
@@ -867,10 +866,6 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
 
         if (GoodTypeEnum.VIP.equals(goodType)) {
             instance.add(Calendar.DAY_OF_MONTH, Integer.parseInt(sysConfigService.findConfigValue(SysConfigConstant.VIP_ACCOUNT_PERIOD)));
-        } else if (GoodTypeEnum.VIDEO.equals(goodType)) {
-            instance.add(Calendar.DAY_OF_MONTH, Integer.parseInt(sysConfigService.findConfigValue(SysConfigConstant.VIDEO_ACCOUNT_PERIOD)));
-        } else if (GoodTypeEnum.MUSIC.equals(goodType)) {
-            instance.add(Calendar.DAY_OF_MONTH, Integer.parseInt(sysConfigService.findConfigValue(SysConfigConstant.MUSIC_ACCOUNT_PERIOD)));
         } else if (GoodTypeEnum.PRACTICE.equals(goodType)) {
             instance.add(Calendar.DAY_OF_MONTH, Integer.parseInt(sysConfigService.findConfigValue(SysConfigConstant.PRACTICE_ACCOUNT_PERIOD)));
         } else if (GoodTypeEnum.LIVE.equals(goodType)) {
@@ -878,6 +873,12 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
             CourseGroup byId = courseGroupService.getById(orderDetailVo.getBizId());
             instance.setTime(byId.getSalesEndDate());
             instance.add(Calendar.DAY_OF_MONTH, Integer.parseInt(sysConfigService.findConfigValue(SysConfigConstant.LIVE_ACCOUNT_PERIOD)));
+        } else if (GoodTypeEnum.VIDEO.equals(goodType)) {
+            instance.add(Calendar.DAY_OF_MONTH, Integer.parseInt(sysConfigService.findConfigValue(SysConfigConstant.VIDEO_ACCOUNT_PERIOD)));
+        } else if (GoodTypeEnum.MUSIC.equals(goodType)) {
+            instance.add(Calendar.DAY_OF_MONTH, Integer.parseInt(sysConfigService.findConfigValue(SysConfigConstant.MUSIC_ACCOUNT_PERIOD)));
+        } else if (GoodTypeEnum.ACTI_REGIST.equals(goodType)) {
+            instance.add(Calendar.DAY_OF_MONTH, Integer.parseInt(sysConfigService.findConfigValue(SysConfigConstant.ACTI_REGIST_ACCOUNT_PERIOD)));
         }
         return instance.getTime();
     }
@@ -889,7 +890,7 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
      * @return
      */
     @Override
-    public BigDecimal getShareFreeByGoodType(GoodTypeEnum goodType) {
+    public BigDecimal getShareFreeByGoodType(GoodTypeEnum goodType, Long bizId) {
         if (GoodTypeEnum.VIP.equals(goodType)) {
             return getShareFreeByConfigName(SysConfigConstant.VIP_SHARE_FEE);
         }
@@ -902,6 +903,13 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
         if (GoodTypeEnum.MUSIC.equals(goodType)) {
             return getShareFreeByConfigName(SysConfigConstant.MUSIC_SHARE_FEE);
         }
+        if (GoodTypeEnum.ACTI_REGIST.equals(goodType)) {
+            //获取当前活动的分润比例
+            ActivityPlan byId = activityPlanService.getById(bizId);
+            if (null != byId && null != byId.getShareRate()) {
+                return byId.getShareRate();
+            }
+        }
         return BigDecimal.ZERO;
     }
 
@@ -919,7 +927,8 @@ public class UserOrderServiceImpl extends ServiceImpl<UserOrderDao, UserOrder> i
      */
     private BigDecimal getPlatformFreeByGoodType(GoodTypeEnum goodType) {
         //会员|琴房时长,平台全额收益
-        if (GoodTypeEnum.VIP.equals(goodType) || GoodTypeEnum.PINAO_ROOM.equals(goodType)) {
+        if (GoodTypeEnum.VIP.equals(goodType) || GoodTypeEnum.PINAO_ROOM.equals(goodType)
+                || GoodTypeEnum.ACTI_REGIST.equals(goodType)) {
             return BigDecimal.ONE;
         }
         if (GoodTypeEnum.PRACTICE.equals(goodType)) {

+ 22 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/res/AccountTotal.java

@@ -48,8 +48,13 @@ public class AccountTotal {
     private BigDecimal liveShareRate = BigDecimal.ZERO;
     @ApiModelProperty("视频课分润")
     private BigDecimal videoShareAmount = BigDecimal.ZERO;
-    @ApiModelProperty("视频课-百分比")
+    @ApiModelProperty("视频课分润-百分比")
     private BigDecimal videoShareRate = BigDecimal.ZERO;
+    @ApiModelProperty("活动报名分润")
+    private BigDecimal actiRegistShareAmount = BigDecimal.ZERO;
+    @ApiModelProperty("活动报名分润-百分比")
+    private BigDecimal actiRegistShareRate = BigDecimal.ZERO;
+
 
     @ApiModelProperty("时间(详情数据中使用)")
     private String timeStr;
@@ -223,4 +228,20 @@ public class AccountTotal {
     public void setVideoShareRate(BigDecimal videoShareRate) {
         this.videoShareRate = videoShareRate;
     }
+
+    public BigDecimal getActiRegistShareAmount() {
+        return actiRegistShareAmount;
+    }
+
+    public void setActiRegistShareAmount(BigDecimal actiRegistShareAmount) {
+        this.actiRegistShareAmount = actiRegistShareAmount;
+    }
+
+    public BigDecimal getActiRegistShareRate() {
+        return actiRegistShareRate;
+    }
+
+    public void setActiRegistShareRate(BigDecimal actiRegistShareRate) {
+        this.actiRegistShareRate = actiRegistShareRate;
+    }
 }

+ 15 - 2
cooleshow-user/user-biz/src/main/resources/config/mybatis/ActivityPlanMapper.xml

@@ -10,10 +10,12 @@
 	        <result column="subject_url_" property="subjectUrl" />
 	        <result column="background_url_" property="backgroundUrl" />
             <result column="activity_url_" property="activityUrl" />
+            <result column="share_url_" property="shareUrl" />
             <result column="activity_start_" property="activityStart" />
 	        <result column="activity_end_" property="activityEnd" />
 	        <result column="registration_method_" property="registrationMethod" />
 	        <result column="registration_price_" property="registrationPrice" />
+            <result column="share_rate_" property="shareRate" />
 	        <result column="draft_flag_" property="draftFlag" />
 	        <result column="activity_state_" property="activityState" />
 	        <result column="create_time_" property="createTime" />
@@ -31,19 +33,21 @@
         , t.rule_describe_ as ruleDescribe
         , t.subject_url_ as subjectUrl
         , t.background_url_ as backgroundUrl
+        , t.share_url_ as shareUrl
         , t.activity_url_ as activityUrl
         , t.activity_start_ as activityStart
         , t.activity_end_ as activityEnd
         , t.registration_method_ as registrationMethod
         , t.registration_price_ as registrationPrice
+        , t.share_rate_ as shareRate
         , t.draft_flag_ as draftFlag
         , t.activity_state_ as activityState
         , t.create_time_ as createTime
         , t.create_by_ as createBy
         , t.update_time_ as updateTime
         , t.update_by_ as updateBy
-        </sql> 
-    
+        </sql>
+
     <select id="detail" resultType="com.yonge.cooleshow.biz.dal.vo.ActivityPlanVo">
         SELECT
             <include refid="baseColumns"/>
@@ -83,4 +87,13 @@
         from activity_plan_evaluation
         where id_ = #{activityPlanId}
     </select>
+
+    <select id="activityState" resultType="com.yonge.cooleshow.biz.dal.entity.ActivityPlan">
+        select <include refid="baseColumns"/>
+        from activity_plan t where draft_flag_ = 0
+        and (
+            (t.activity_start_ &lt;= now() and t.activity_end_ &gt; now() and activity_state_ = 0)
+            or (t.activity_end_ &lt;= now() and activity_state_ = 1)
+        )
+    </select>
 </mapper>

+ 6 - 4
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountMapper.xml

@@ -84,7 +84,7 @@
                 and a.post_status_ = 'RECORDED' and a.in_or_out_ = 'IN') as amountRecorded,
             (select sum(a.trans_amount_) from user_cash_account_record a where a.account_id_ = t.user_id_
                 and a.post_status_ in ('RECORDED','WAIT') and a.in_or_out_ = 'IN'
-                and a.biz_type_ in ('LIVE_SHARE','VIDEO_SHARE','MUSIC_SHARE','VIP_SHARE','MALL_SHARE')) as amountShare
+                and a.biz_type_ in ('LIVE_SHARE','VIDEO_SHARE','MUSIC_SHARE','VIP_SHARE','MALL_SHARE','ACTI_REGIST_SHARE')) as amountShare
         FROM user_cash_account t
         where t.user_id_ = #{id}
     </select>
@@ -111,7 +111,8 @@
             sum(a.videoShareAmount) as videoShareAmount,
             sum(a.musicShareAmount) as musicShareAmount,
             sum(a.vipShareAmount) as vipShareAmount,
-            sum(a.mallShareAmount) as mallShareAmount
+            sum(a.mallShareAmount) as mallShareAmount,
+            sum(a.actiRegistShareAmount) as actiRegistShareAmount
         from sys_day t
         left join (
             select
@@ -124,7 +125,8 @@
                 sum(if(t.biz_type_ = 'VIDEO_SHARE',t.trans_amount_,0)) as videoShareAmount,
                 sum(if(t.biz_type_ = 'MUSIC_SHARE',t.trans_amount_,0)) as musicShareAmount,
                 sum(if(t.biz_type_ = 'VIP_SHARE',t.trans_amount_,0)) as vipShareAmount,
-                sum(if(t.biz_type_ = 'MALL_SHARE',t.trans_amount_,0)) as mallShareAmount
+                sum(if(t.biz_type_ = 'MALL_SHARE',t.trans_amount_,0)) as mallShareAmount,
+                sum(if(t.biz_type_ = 'ACTI_REGIST_SHARE',t.trans_amount_,0)) as actiRegistShareAmount
         from user_cash_account_record t
             <where>
                 and t.post_status_ = 'RECORDED'
@@ -173,6 +175,6 @@
         from user_cash_account_record t
         where t.in_or_out_ = 'IN' and t.err_flag_ != 1
           and t.account_id_ = #{param.userId}
-          and t.biz_type_ in ('LIVE_SHARE','VIDEO_SHARE','MUSIC_SHARE','VIP_SHARE','MALL_SHARE')
+          and t.biz_type_ in ('LIVE_SHARE','VIDEO_SHARE','MUSIC_SHARE','VIP_SHARE','MALL_SHARE','ACTI_REGIST_SHARE')
     </select>
 </mapper>

+ 1 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/UserAccountRecordMapper.xml

@@ -114,7 +114,7 @@
         left join sys_user u on t.account_id_ = u.id_
         left join sys_user u1 on t.buy_user_ = u1.id_
         <where>
-            and t.biz_type_ in ('LIVE_SHARE','VIDEO_SHARE','MUSIC_SHARE','VIP_SHARE','MALL_SHARE')
+            and t.biz_type_ in ('LIVE_SHARE','VIDEO_SHARE','MUSIC_SHARE','VIP_SHARE','MALL_SHARE','ACTI_REGIST_SHARE')
             <if test="null != param.username and '' != param.username">
                 AND u1.username_ LIKE CONCAT('%', #{param.username}, '%')
             </if>