Browse Source

活动问题修改

liweifan 2 năm trước cách đây
mục cha
commit
117616bca4

+ 12 - 2
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/AdminFeignService.java

@@ -5,11 +5,13 @@ import com.yonge.cooleshow.common.constant.AppConstant;
 import com.yonge.cooleshow.common.entity.ContractDto;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.entity.MallOrderItemDto;
+import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
 import com.yonge.toolset.feign.config.FeignConfiguration;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -55,13 +57,13 @@ public interface AdminFeignService {
      * 设置商城收入分润
      */
     @PostMapping("/open/mallRecord")
-    public HttpResponseResult<Boolean> mallRecord(@RequestBody List<MallOrderItemDto> shareDto ) ;
+    public HttpResponseResult<Boolean> mallRecord(@RequestBody List<MallOrderItemDto> shareDto);
 
     /**
      * 设置商城收入状态
      */
     @PostMapping("/open/mallRecordState")
-    public HttpResponseResult<Boolean> mallRecordState(@RequestBody  List<MallOrderItemDto> shareDto ) ;
+    public HttpResponseResult<Boolean> mallRecordState(@RequestBody List<MallOrderItemDto> shareDto);
 
 
     //老师课酬
@@ -80,6 +82,7 @@ public interface AdminFeignService {
 
     /**
      * 营销活动
+     *
      * @return
      */
     @PostMapping(value = "/task/activityState")
@@ -87,8 +90,15 @@ public interface AdminFeignService {
 
     /**
      * 活动中定时轮询
+     *
      * @return
      */
     @PostMapping(value = "/task/activityIng")
     HttpResponseResult activityIng();
+
+    @GetMapping(value = "/open/adminClient/recordTime")
+    HttpResponseResult recordTime(
+            @RequestParam("userId") Long userId,
+            @RequestParam("userType") String userType,
+            @RequestParam("firstTimeType") UserFirstTimeTypeEnum firstTimeType);
 }

+ 6 - 0
cooleshow-api/src/main/java/com/yonge/cooleshow/api/feign/fallback/AdminFeignServiceFallback.java

@@ -4,6 +4,7 @@ import com.yonge.cooleshow.api.feign.AdminFeignService;
 import com.yonge.cooleshow.common.entity.ContractDto;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
 import com.yonge.cooleshow.common.entity.MallOrderItemDto;
+import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
 
 import java.util.List;
 
@@ -70,4 +71,9 @@ public class AdminFeignServiceFallback implements AdminFeignService {
     public HttpResponseResult activityIng() {
         return null;
     }
+
+    @Override
+    public HttpResponseResult recordTime(Long userId, String userType, UserFirstTimeTypeEnum firstTimeTypeEnum) {
+        return null;
+    }
 }

+ 6 - 0
cooleshow-auth/auth-server/pom.xml

@@ -107,6 +107,12 @@
             <artifactId>redisson-spring-boot-starter</artifactId>
             <version>${redisson.version}</version>
         </dependency>
+        <dependency>
+            <groupId>com.yonge.cooleshow</groupId>
+            <artifactId>cooleshow-api</artifactId>
+            <version>1.0</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>

+ 1 - 1
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/AuthServerApplication.java

@@ -17,7 +17,7 @@ import com.spring4all.swagger.EnableSwagger2Doc;
 
 @SpringBootApplication
 @EnableDiscoveryClient
-@EnableFeignClients
+@EnableFeignClients("com.yonge.cooleshow")
 @MapperScan("com.yonge.cooleshow.auth.dal.dao")
 @ComponentScan(basePackages = {"com.yonge.cooleshow", "com.yonge.toolset"})
 @Configuration

+ 15 - 4
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -2,9 +2,12 @@ package com.yonge.cooleshow.auth.service.impl;
 
 import java.util.List;
 
+import com.yonge.cooleshow.api.feign.AdminFeignService;
 import com.yonge.cooleshow.auth.api.dto.*;
 import com.yonge.cooleshow.auth.config.RongCloudConfig;
 import com.yonge.cooleshow.common.enums.CacheNameEnum;
+import com.yonge.cooleshow.common.enums.SysUserType;
+import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
 import com.yonge.toolset.mybatis.service.impl.BaseServiceImpl;
 import io.rong.models.user.UserModel;
 import org.apache.commons.lang3.StringUtils;
@@ -26,6 +29,8 @@ import com.yonge.cooleshow.common.entity.ImUserModel;
 import com.yonge.toolset.base.exception.BizException;
 import org.springframework.util.CollectionUtils;
 
+import javax.annotation.Resource;
+
 @Service
 public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implements SysUserService {
 
@@ -39,6 +44,8 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
     private SysConfigService sysConfigService;
     @Autowired
     private RedissonClient redissonClient;
+    @Resource
+    private AdminFeignService adminFeignService;
 
     @Override
     public BaseDAO<Long, SysUser> getDAO() {
@@ -148,9 +155,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         sysUser.setUserType("TEACHER");
         sysUserDao.insert(sysUser);
         //创建teacher表
-        sysUserDao.saveTeacher(sysUser.getId());
-        //创建老师账户
-        sysUserDao.createUserAccount(sysUser.getId());
+        saveTeacher(sysUser);
         //用户默认昵称
         sysUser.setUsername("游客" + sysUser.getId());
         sysUserDao.update(sysUser);
@@ -184,6 +189,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
     public void saveStudent(SysUser sysUser) {
         sysUserDao.saveStudent(sysUser.getId());
         sysUserDao.createUserAccount(sysUser.getId());
+
+        //记录注册时间
+        adminFeignService.recordTime(sysUser.getId(), SysUserType.STUDENT.getCode(), UserFirstTimeTypeEnum.REGISTER_STUDENT);
     }
 
     @Override
@@ -191,6 +199,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
     public void saveTeacher(SysUser sysUser) {
         sysUserDao.saveTeacher(sysUser.getId());
         sysUserDao.createUserAccount(sysUser.getId());
+
+        //记录注册时间
+        adminFeignService.recordTime(sysUser.getId(), SysUserType.TEACHER.getCode(), UserFirstTimeTypeEnum.REGISTER_TEACHER);
     }
 
     @Override
@@ -250,7 +261,7 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
     public void logoffById(Long id) {
         //判断用户是否有未结束的课程
         Integer num = sysUserDao.getUnCompCourseNum(id);
-        if(num>0){
+        if (num > 0) {
             throw new BizException("用户有未完成的课程");
         }
 

+ 3 - 1
cooleshow-common/src/main/java/com/yonge/cooleshow/common/enums/ConditionEnum.java

@@ -16,7 +16,9 @@ public enum ConditionEnum implements BaseEnum<String, ConditionEnum> {
     PRACTICE("首次完成陪练课设置"),
     LIVE("首次创建直播课"),
     VIDEO("首次创建视频课"),
-    BIND_STUDENT("学员绑定")
+    BIND_STUDENT("学员绑定"),
+    REGISTER_STUDENT("学员注册"),
+    REGISTER_TEACHER("老师注册"),
     ;
 
     @EnumValue

+ 6 - 0
cooleshow-common/src/main/java/com/yonge/cooleshow/common/enums/UserFirstTimeTypeEnum.java

@@ -13,6 +13,12 @@ public enum UserFirstTimeTypeEnum implements BaseEnum<String, UserFirstTimeTypeE
 
     ENTRY("达人认证"),
     LIVEING("开通直播"),
+    PRACTICE("首次完成陪练课设置"),
+    LIVE("首次创建直播课"),
+    VIDEO("首次创建视频课"),
+    BIND_STUDENT("学员绑定"),
+    REGISTER_STUDENT("学员注册"),
+    REGISTER_TEACHER("老师注册"),
     ;
 
     @EnumValue

+ 37 - 0
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/open/AdminClient.java

@@ -0,0 +1,37 @@
+package com.yonge.cooleshow.admin.controller.open;
+
+import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.biz.dal.service.UserFirstTimeService;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.ContractDto;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.cooleshow.common.enums.UserFirstTimeTypeEnum;
+import io.swagger.annotations.ApiOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/open/adminClient")
+public class AdminClient extends BaseController {
+    private final static Logger log = LoggerFactory.getLogger(UserOrderClient.class);
+
+    @Autowired
+    private UserFirstTimeService userFirstTimeService;
+
+    @GetMapping("/recordTime")
+    public HttpResponseResult<Boolean> recordTime(
+            @RequestParam("userId") Long userId,
+            @RequestParam("userType") String userType,
+            @RequestParam("firstTimeType") UserFirstTimeTypeEnum firstTimeType
+    ) {
+        ClientEnum clientEnum = ClientEnum.valueOf(userType);
+        userFirstTimeService.recordTime(userId, clientEnum, firstTimeType);
+        return succeed(true);
+    }
+
+}

+ 1 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ActivityPlanStandard.java

@@ -22,7 +22,7 @@ public class ActivityPlanStandard implements Serializable {
     @ApiModelProperty("主键 ")
     @TableId(value = "id_")
     private Long id;
-    @ApiModelProperty("达标条件:ENTRY 达人认证 LIVEING 开通直播 PRACTICE 首次完成陪练课设置 LIVE 首次创建直播课 VIDEO 首次创建视频课 BIND_STUDENT 学员绑定 ")
+    @ApiModelProperty("达标条件:ENTRY 达人认证 LIVEING 开通直播 PRACTICE 首次完成陪练课设置 LIVE 首次创建直播课 VIDEO 首次创建视频课 BIND_STUDENT 学员绑定 REGISTER_STUDENT 学员注册 REGISTER_TEACHER 老师注册")
 	@TableField(value = "condition_")
     private String condition;
     @ApiModelProperty("计算方式:AND 全部满足 OR 满足其一 ")

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

@@ -153,9 +153,9 @@ public class ActivityPlanServiceImpl extends ServiceImpl<ActivityPlanDao, Activi
         if (!validParam(activityPlan)) {
             throw new BizException("参数异常");
         }
+        activityPlan.setDraftFlag(1);
 
         if (null == activityPlan.getId()) {
-            activityPlan.setDraftFlag(1);
             activityPlan.setCreateBy(activityPlan.getUserId());
             activityPlan.setUpdateBy(activityPlan.getUserId());
             save(activityPlan);