Parcourir la source

小程序接口

he2802 il y a 4 ans
Parent
commit
a56825a1fd
61 fichiers modifiés avec 2012 ajouts et 16 suppressions
  1. 44 0
      .drone.yml
  2. 0 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/polyv/PolyvVideoController.java
  3. 48 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityAdvertisingController.java
  4. 64 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityConfigurationController.java
  5. 62 0
      zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityTaskController.java
  6. 1 1
      zhongzheng-api/src/main/java/com/zhongzheng/controller/wx/WxLoginController.java
  7. 65 0
      zhongzheng-common/src/main/java/com/zhongzheng/common/utils/AES.java
  8. 24 0
      zhongzheng-common/src/main/java/com/zhongzheng/common/utils/TelPhoneUtils.java
  9. 1 0
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/config/SecurityConfig.java
  10. 40 1
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/WxLoginService.java
  11. 6 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationAddBo.java
  12. 7 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationEditBo.java
  13. 15 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationQueryBo.java
  14. 41 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationUseAddBo.java
  15. 40 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationUseEditBo.java
  16. 47 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationUseQueryBo.java
  17. 34 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityTaskUserAddBo.java
  18. 40 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityTaskUserEditBo.java
  19. 47 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityTaskUserQueryBo.java
  20. 25 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/UserTaskAddBo.java
  21. 4 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityConfiguration.java
  22. 42 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityConfigurationUse.java
  23. 48 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityTaskUser.java
  24. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityAdvertisingMapper.java
  25. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityConfigurationMapper.java
  26. 16 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityConfigurationUseMapper.java
  27. 15 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityTaskUserMapper.java
  28. 11 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityAdvertisingService.java
  29. 9 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityConfigurationService.java
  30. 61 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityConfigurationUseService.java
  31. 54 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityTaskUserService.java
  32. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityAdvertisingServiceImpl.java
  33. 28 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityConfigurationServiceImpl.java
  34. 149 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityConfigurationUseServiceImpl.java
  35. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityGradeServiceImpl.java
  36. 109 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityTaskUserServiceImpl.java
  37. 41 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/vo/ActivityConfigurationUseVo.java
  38. 8 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/vo/ActivityConfigurationVo.java
  39. 36 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/vo/ActivityTaskUserVo.java
  40. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSection.java
  41. 81 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseConfigurationVo.java
  42. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseSectionVo.java
  43. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementGuideServiceImpl.java
  44. 47 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/CouponAddBo.java
  45. 58 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/CouponEditBo.java
  46. 60 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/CouponQueryBo.java
  47. 57 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/Coupon.java
  48. 14 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/CouponMapper.java
  49. 52 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/ICouponService.java
  50. 104 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/CouponServiceImpl.java
  51. 54 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/CouponVo.java
  52. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserAddBo.java
  53. 1 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/bo/WxLoginBody.java
  54. 17 0
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityAdvertisingMapper.xml
  55. 97 2
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityConfigurationMapper.xml
  56. 19 0
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityConfigurationUseMapper.xml
  57. 0 1
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityGradePrivilegeMapper.xml
  58. 17 0
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityTaskUserMapper.xml
  59. 3 1
      zhongzheng-system/src/main/resources/mapper/modules/course/CourseSectionMapper.xml
  60. 0 1
      zhongzheng-system/src/main/resources/mapper/modules/exam/ExamArrangementMapper.xml
  61. 19 0
      zhongzheng-system/src/main/resources/mapper/modules/order/CouponMapper.xml

+ 44 - 0
.drone.yml

@@ -0,0 +1,44 @@
+kind: pipeline # 定义对象类型,还有secret和signature两种类型
+type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型
+name: zz_backend # 定义流水线名称
+
+steps: # 定义流水线执行步骤,这些步骤将顺序执行
+  - name: package # 流水线名称
+    image: maven:3-jdk-8 # 定义创建容器的Docker镜像
+    volumes: # 将容器内目录挂载到宿主机,仓库需要开启Trusted设置
+      - name: maven-cache
+        path: /root/.m2 # 将maven下载依赖的目录挂载出来,防止重复下载
+      - name: maven-build
+        path: /app/build # 将应用打包好的Jar和执行脚本挂载出来
+    commands: # 定义在Docker容器中执行的shell命令
+      - mvn clean package # 应用打包命令
+      - cp /drone/src/zhongzheng-api/target/zhongzheng-api.jar /app/build/zhongzheng-api.jar
+      - cp /drone/src/zhongzheng-admin/target/zhongzheng-admin.jar /app/build/zhongzheng-admin.jar
+      - cp Dockerfile /app/build/Dockerfile
+      - cp Dockerfile-admin /app/build/Dockerfile-admin
+      - cp run.sh /app/build/run.sh
+      - cp run-admin.sh /app/build/run-admin.sh
+
+  - name: build-start
+    image: appleboy/drone-ssh:latest # SSH工具镜像
+    settings:
+      host: 120.79.166.78 # 远程连接地址
+      username: root # 远程连接账号
+      password:
+        from_secret: ssh_password # 从Secret中读取SSH密码
+      port: 22 # 远程连接端口
+      command_timeout: 5m # 远程执行命令超时时间
+      script:
+        - cd /mydata/maven/build # 进入宿主机构建目录
+        - chmod +x run.sh # 更改为可执行脚本
+        - chmod +x run-admin.sh # 更改为可执行脚本
+        - ./run.sh # 运行脚本打包应用镜像并运行
+        - ./run-admin.sh # 运行脚本打包应用镜像并运行
+
+volumes: # 定义流水线挂载目录,用于共享数据
+  - name: maven-build
+    host:
+      path: /mydata/maven/build # 从宿主机中挂载的目录
+  - name: maven-cache
+    host:
+      path: /mydata/maven/cache

+ 0 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/polyv/PolyvVideoController.java

@@ -48,7 +48,6 @@ public class PolyvVideoController extends BaseController {
      * 获取保利威视频信息详细信息
      */
     @ApiOperation("获取保利威视频信息详细信息")
-    @PreAuthorize("@ss.hasPermi('modules.polyv:video:query')")
     @GetMapping("/{vid}")
     public AjaxResult<PolyvVideoQuerVo> getInfo(@PathVariable("vid") String vid) throws Exception {
         return AjaxResult.success(iPolyvVideoService.queryById(vid));

+ 48 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityAdvertisingController.java

@@ -0,0 +1,48 @@
+package com.zhongzheng.controller.activity;
+
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.activity.bo.ActivityAdvertisingAddBo;
+import com.zhongzheng.modules.activity.bo.ActivityAdvertisingEditBo;
+import com.zhongzheng.modules.activity.bo.ActivityAdvertisingQueryBo;
+import com.zhongzheng.modules.activity.service.IActivityAdvertisingService;
+import com.zhongzheng.modules.activity.vo.ActivityAdvertisingVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 广告发布储存Controller
+ * 
+ * @author change
+ * @date 2021-05-17
+ */
+@Api(tags = {"广告发布管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/v1/advertising")
+public class ActivityAdvertisingController extends BaseController {
+
+    private final IActivityAdvertisingService iActivityAdvertisingService;
+
+    /**
+     * 查询广告发布储存列表
+     */
+    @ApiOperation("查询广告发布储存列表")
+    @GetMapping("/list")
+    public TableDataInfo<ActivityAdvertisingVo> list(ActivityAdvertisingQueryBo bo) {
+        startPage();
+        List<ActivityAdvertisingVo> list = iActivityAdvertisingService.queryIssueList(bo);
+        return getDataTable(list);
+    }
+}

+ 64 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityConfigurationController.java

@@ -0,0 +1,64 @@
+package com.zhongzheng.controller.activity;
+
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationAddBo;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationEditBo;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseAddBo;
+import com.zhongzheng.modules.activity.service.IActivityConfigurationService;
+import com.zhongzheng.modules.activity.service.IActivityConfigurationUseService;
+import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.course.vo.CourseConfigurationVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * 活动配置Controller
+ * 
+ * @author change
+ * @date 2021-05-17
+ */
+@Api(value = "活动配置控制器", tags = {"活动配置管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/v1/configuration")
+public class ActivityConfigurationController extends BaseController {
+
+    private final IActivityConfigurationService iActivityConfigurationService;
+
+    private final IActivityConfigurationUseService activityConfigurationUseServiceImpl;
+
+    /**
+     * 查询活动配置列表
+     */
+    @ApiOperation("查询活动配置列表")
+    @GetMapping("/list")
+    public TableDataInfo<CourseConfigurationVo> list(ActivityConfigurationQueryBo bo) {
+        startPage();
+        List<CourseConfigurationVo> list = iActivityConfigurationService.queryIssueList(bo);
+        return getDataTable(list);
+    }
+
+
+    /**
+     * 领取活动
+     */
+    @ApiOperation("領取活動發送請求")
+    @PostMapping("/receive")
+    public AjaxResult<Void> receive(ActivityConfigurationUseAddBo bo) {
+        return toAjax(activityConfigurationUseServiceImpl.receive(bo) ? 1 : 0);
+    }
+
+
+}

+ 62 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/activity/ActivityTaskController.java

@@ -0,0 +1,62 @@
+package com.zhongzheng.controller.activity;
+
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.modules.activity.bo.ActivityTaskAddBo;
+import com.zhongzheng.modules.activity.bo.ActivityTaskEditBo;
+import com.zhongzheng.modules.activity.bo.ActivityTaskQueryBo;
+import com.zhongzheng.modules.activity.bo.ActivityTaskUserAddBo;
+import com.zhongzheng.modules.activity.service.IActivityTaskService;
+import com.zhongzheng.modules.activity.service.IActivityTaskUserService;
+import com.zhongzheng.modules.activity.vo.ActivityTaskVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 任务存储Controller
+ * 
+ * @author change
+ * @date 2021-05-19
+ */
+@Api(value = "任务存储控制器", tags = {"任务存储管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/v1/task")
+public class ActivityTaskController extends BaseController {
+
+    private final IActivityTaskService iActivityTaskService;
+
+    private final IActivityTaskUserService activityTaskUserService;
+
+
+    /**
+     * 查询任务積分列表
+     */
+    @ApiOperation("查询任务積分列表")
+    @GetMapping("/list")
+    public TableDataInfo<ActivityTaskVo> list(ActivityTaskQueryBo bo) {
+        startPage();
+        List<ActivityTaskVo> list = iActivityTaskService.queryList(bo);
+        return getDataTable(list);
+    }
+
+    /**
+     * 增加用戶積分
+     */
+    @ApiOperation("增加用戶積分")
+    @Log(title = "增加用戶積分", businessType = BusinessType.INSERT)
+    @PostMapping("/userTask")
+    public AjaxResult<Void> userTask(@RequestBody ActivityTaskUserAddBo bo) {
+        return toAjax(activityTaskUserService.userTask(bo) ? 1 : 0);
+    }
+
+}

+ 1 - 1
zhongzheng-api/src/main/java/com/zhongzheng/controller/wx/WxLoginController.java

@@ -48,7 +48,7 @@ public class WxLoginController
     {
         AjaxResult ajax = AjaxResult.success();
         String union = "cba";
-        String token = wxLoginService.login(union);
+        String token = wxLoginService.login(loginBody);
         ajax.put(Constants.TOKEN, token);
         return ajax;
     }

+ 65 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/AES.java

@@ -0,0 +1,65 @@
+package com.zhongzheng.common.utils;
+
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.spec.IvParameterSpec;
+import javax.crypto.spec.SecretKeySpec;
+import java.security.*;
+
+
+public class AES {
+    public static boolean initialized = false;
+
+    /**
+     * AES解密
+     * @param content 密文
+     * @return
+     * @throws InvalidAlgorithmParameterException
+     * @throws NoSuchProviderException
+     */
+    public static byte[] decrypt(byte[] content, byte[] keyByte, byte[] ivByte) throws InvalidAlgorithmParameterException {
+        initialize();
+        try {
+//            Cipher cipher = Cipher.getInstance("DES/ECB/NoPadding");
+            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS7Padding");
+            Key sKeySpec = new SecretKeySpec(keyByte, "AES");
+
+            cipher.init(Cipher.DECRYPT_MODE, sKeySpec, generateIV(ivByte));// 初始化
+            byte[] result = cipher.doFinal(content);
+            return result;
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (NoSuchPaddingException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (IllegalBlockSizeException e) {
+            e.printStackTrace();
+        } catch (BadPaddingException e) {
+            e.printStackTrace();
+        } catch (NoSuchProviderException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        } catch (Exception e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    public static void initialize(){
+        if (initialized) return;
+        Security.addProvider(new BouncyCastleProvider());
+        initialized = true;
+    }
+    //生成iv
+    public static AlgorithmParameters generateIV(byte[] iv) throws Exception{
+        AlgorithmParameters params = AlgorithmParameters.getInstance("AES");
+        params.init(new IvParameterSpec(iv));
+        return params;
+    }
+
+}

+ 24 - 0
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/TelPhoneUtils.java

@@ -0,0 +1,24 @@
+package com.zhongzheng.common.utils;
+
+import com.zhongzheng.common.utils.spring.SpringUtils;
+import org.springframework.context.MessageSource;
+import org.springframework.context.i18n.LocaleContextHolder;
+
+/**
+ * 手机号码工具栏
+ *
+ * @author hjl
+ */
+public class TelPhoneUtils
+{
+    /**
+     * 隐藏手机号码
+     * @param tel
+     * @return
+     */
+    public static String hideTelPhone(String tel)
+    {
+        String phoneNumber = tel.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");
+        return phoneNumber;
+    }
+}

+ 1 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/config/SecurityConfig.java

@@ -111,6 +111,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                         "/**/*.js"
                 ).permitAll()
                 .antMatchers("/v1/test/**").anonymous()
+                .antMatchers("/v1/**").anonymous()
                 .antMatchers("/profile/**").anonymous()
                 .antMatchers("/common/download**").anonymous()
                 .antMatchers("/common/download/resource**").anonymous()

+ 40 - 1
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/WxLoginService.java

@@ -1,12 +1,18 @@
 package com.zhongzheng.framework.web.service;
 
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.zhongzheng.common.core.bo.WxLoginResultBo;
 import com.zhongzheng.common.exception.CustomException;
 
+import com.zhongzheng.common.utils.AES;
+import com.zhongzheng.modules.user.bo.UserAddBo;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.entity.ClientLoginUser;
 import com.zhongzheng.modules.user.service.IUserService;
+import com.zhongzheng.modules.wx.bo.WxLoginBody;
+import org.apache.commons.codec.binary.Base64;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
@@ -39,7 +45,8 @@ public class WxLoginService
     @Autowired
     private IUserService iUserService;
 
-    public String login(String unionId) {
+    public String login(WxLoginBody loginBody) {
+        String unionId = getWxUnionId(loginBody.getCode());
         User user = iUserService.queryByUnionId(unionId);
         if(user==null){
             throw new CustomException("unionId不存在");
@@ -49,9 +56,41 @@ public class WxLoginService
         return wxTokenService.createToken(loginUser);
     }
 
+    /**
+     * 小程序注册
+     * @param openId
+     * @param unionId
+     * @param tel
+     * @return
+     */
+    public String register_small(String openId,String unionId,String tel) {
+        UserAddBo bo = new UserAddBo();
+        bo.setOpenId(openId);
+        bo.setUnionId(unionId);
+        bo.setTelphone(tel);
+
+        return null;
+    }
+
     public String getWxUnionId(String code) {
         String url = String.format(wxAuthUrl, appid, appsrcret, code);
         WxLoginResultBo wxLoginResult = restTemplate.getForObject(url, WxLoginResultBo.class);
         return null;
     }
+
+    public void obtainWxPhone(String iv, String encryptedData,String session_key){
+        String userInfo = null;
+        JSONObject userInfoJSON = null;
+        try {
+            byte[] resultByte = AES.decrypt(Base64.decodeBase64(encryptedData),
+                    Base64.decodeBase64(session_key),
+                    Base64.decodeBase64(iv));
+
+            userInfo = new String(resultByte, "UTF-8");
+            System.out.println("userInfo:" + userInfo);
+            userInfoJSON = JSON.parseObject(userInfo);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
 }

+ 6 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationAddBo.java

@@ -10,6 +10,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -45,7 +46,7 @@ public class ActivityConfigurationAddBo {
     private Long endTime;
     /** 定价(适用于优惠券) */
     @ApiModelProperty("定价(金额,折扣,优惠金额)")
-    private Long price;
+    private BigDecimal price;
     /** 发放数量 */
     @ApiModelProperty("发放数量")
     private Integer quantity;
@@ -65,6 +66,10 @@ public class ActivityConfigurationAddBo {
     @ApiModelProperty("0删除 1结束 2 撤回 3开始 4未开始")
     private Integer status;
 
+    /** 修改时间 */
+    @ApiModelProperty("有效期几个月")
+    private Integer couponEnd;
+
     /** 绑定课程 */
     @Excel(name = "绑定课程")
     @ApiModelProperty("绑定课程")

+ 7 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationEditBo.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+
+import java.math.BigDecimal;
 import java.util.Date;
 
 
@@ -45,7 +47,7 @@ public class ActivityConfigurationEditBo {
 
     /** 定价(适用于优惠券) */
     @ApiModelProperty("定价(金额,折扣,优惠金额)")
-    private Long price;
+    private BigDecimal price;
 
     /** 发放数量 */
     @ApiModelProperty("发放数量")
@@ -69,8 +71,11 @@ public class ActivityConfigurationEditBo {
     private Integer status;
 
     /** 绑定课程 */
-    @Excel(name = "绑定课程")
     @ApiModelProperty("绑定课程")
     private String[] coursesId;
 
+    /** 修改时间 */
+    @ApiModelProperty("有效期几个月")
+    private Integer couponEnd;
+
 }

+ 15 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationQueryBo.java

@@ -1,10 +1,12 @@
 package com.zhongzheng.modules.activity.bo;
 
+import com.zhongzheng.common.annotation.Excel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.Map;
 import java.util.HashMap;
@@ -36,6 +38,14 @@ public class ActivityConfigurationQueryBo extends BaseEntity {
 	private String isAsc;
 
 
+	/** 活动名称 */
+	@ApiModelProperty("Typeids获得活动类型数据,活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣")
+	private String[] typeIds;
+
+	/** 活动名称 */
+	@ApiModelProperty("用户UserId")
+	private int userId;
+
 	/** 活动名称 */
 	@ApiModelProperty("id")
 	private Integer id;
@@ -56,7 +66,7 @@ public class ActivityConfigurationQueryBo extends BaseEntity {
 	private Long endTime;
 	/** 定价(金额,折扣,优惠金额) */
 	@ApiModelProperty("定价(金额,折扣,优惠金额)")
-	private Long price;
+	private BigDecimal price;
 	/** 发放数量 */
 	@ApiModelProperty("发放数量")
 	private Integer quantity;
@@ -71,4 +81,8 @@ public class ActivityConfigurationQueryBo extends BaseEntity {
 	@ApiModelProperty("0删除 1结束 2 撤回 3开始 4未开始")
 	private Integer status;
 
+	/** 修改时间 */
+	@ApiModelProperty("有效期几个月")
+	private Integer couponEnd;
+
 }

+ 41 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationUseAddBo.java

@@ -0,0 +1,41 @@
+package com.zhongzheng.modules.activity.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 【请填写功能名称】添加对象 activity_configuration_use
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@ApiModel("【请填写功能名称】添加对象")
+public class ActivityConfigurationUseAddBo {
+
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long userId;
+
+    /** 已领取,活动配置id */
+    @ApiModelProperty("已领取,活动配置id")
+    private Long configurationId;
+
+    /** 已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣 */
+    @ApiModelProperty("已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣")
+    private Integer activityType;
+    /** 是否已使用该次活动   0未使用  1已使用   线上直播 3 */
+    @ApiModelProperty("是否已使用该次活动   0未使用  1已使用   线上直播 3")
+    private Integer use;
+
+    /** 领取时间 */
+    @ApiModelProperty("领取时间")
+    private Long createTime;
+
+}

+ 40 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationUseEditBo.java

@@ -0,0 +1,40 @@
+package com.zhongzheng.modules.activity.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 【请填写功能名称】编辑对象 activity_configuration_use
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@ApiModel("【请填写功能名称】编辑对象")
+public class ActivityConfigurationUseEditBo {
+
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long userId;
+
+    /** 已领取,活动配置id */
+    @ApiModelProperty("已领取,活动配置id")
+    private Long configurationId;
+
+    /** 已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣 */
+    @ApiModelProperty("已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣")
+    private Integer activityType;
+
+    /** 是否已使用该次活动   0未使用  1已使用   线上直播 3 */
+    @ApiModelProperty("是否已使用该次活动   0未使用  1已使用   线上直播 3")
+    private Integer use;
+
+    /** 领取时间 */
+    @ApiModelProperty("领取时间")
+    private Long createTime;
+}

+ 47 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityConfigurationUseQueryBo.java

@@ -0,0 +1,47 @@
+package com.zhongzheng.modules.activity.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 【请填写功能名称】分页查询对象 activity_configuration_use
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("【请填写功能名称】分页查询对象")
+public class ActivityConfigurationUseQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣 */
+	@ApiModelProperty("已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣")
+	private Integer activityType;
+	/** 是否已使用该次活动   0未使用  1已使用   线上直播 3 */
+	@ApiModelProperty("是否已使用该次活动   0未使用  1已使用   线上直播 3")
+	private Integer use;
+
+
+}

+ 34 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityTaskUserAddBo.java

@@ -0,0 +1,34 @@
+package com.zhongzheng.modules.activity.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 用户领取记录添加对象 activity_task_user
+ *
+ * @author ruoyi
+ * @date 2021-06-16
+ */
+@Data
+@ApiModel("用户领取记录添加对象")
+public class ActivityTaskUserAddBo {
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long createTime;
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long updateTime;
+    /** 领取分数 */
+    @ApiModelProperty("领取分数")
+    private String score;
+    /** 任务名称  0每日签到 1完善信息 2邀请好友 3每日分享
+4视频学习 5模拟考试 */
+    @ApiModelProperty("任务名称  0每日签到 1完善信息 2邀请好友 3每日分享 4视频学习 5模拟考试")
+    private Integer taskType;
+}

+ 40 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityTaskUserEditBo.java

@@ -0,0 +1,40 @@
+package com.zhongzheng.modules.activity.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+/**
+ * 用户领取记录编辑对象 activity_task_user
+ *
+ * @author ruoyi
+ * @date 2021-06-16
+ */
+@Data
+@ApiModel("用户领取记录编辑对象")
+public class ActivityTaskUserEditBo {
+
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long userId;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long taskId;
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long updateTime;
+
+    /** 领取分数 */
+    @ApiModelProperty("领取分数")
+    private String score;
+
+    /** 任务名称  0每日签到 1完善信息 2邀请好友 3每日分享4视频学习 5模拟考试 */
+    @ApiModelProperty("任务名称  0每日签到 1完善信息 2邀请好友 3每日分享 4视频学习 5模拟考试")
+    private Integer taskType;
+}

+ 47 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/ActivityTaskUserQueryBo.java

@@ -0,0 +1,47 @@
+package com.zhongzheng.modules.activity.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 用户领取记录分页查询对象 activity_task_user
+ *
+ * @author ruoyi
+ * @date 2021-06-16
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("用户领取记录分页查询对象")
+public class ActivityTaskUserQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 领取分数 */
+	@ApiModelProperty("领取分数")
+	private String score;
+	/** 任务名称  0每日签到 1完善信息 2邀请好友 3每日分享
+4视频学习 5模拟考试 */
+	@ApiModelProperty("任务名称  0每日签到 1完善信息 2邀请好友 3每日分享 4视频学习 5模拟考试")
+	private Integer taskType;
+
+}

+ 25 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/bo/UserTaskAddBo.java

@@ -0,0 +1,25 @@
+package com.zhongzheng.modules.activity.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author change
+ * @date 2021年06月16日 9:12
+ */
+@Data
+@ApiModel("【積分】添加对象")
+public class UserTaskAddBo {
+
+    /** 任务名称 */
+    @ApiModelProperty("任务名称  0每日签到 1完善信息 2邀请好友 3每日分享\n" +
+            "4视频学习 5模拟考试")
+    private Integer taskType;
+
+    @ApiModelProperty("用戶userId")
+    private Long userId;
+
+    @ApiModelProperty("模擬考試分數,當任務類型為5才傳")
+    private String score;
+}

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityConfiguration.java

@@ -46,7 +46,7 @@ private static final long serialVersionUID=1L;
 
     /** 定价(金额,折扣,优惠金额) */
     @ApiModelProperty("定价(金额,折扣,优惠金额)")
-    private Long price;
+    private BigDecimal price;
 
     /** 发放数量 */
     private Integer quantity;
@@ -68,4 +68,7 @@ private static final long serialVersionUID=1L;
     /** 0删除 1结束 2 撤回 3开始 4未开始 */
     private Integer status;
 
+    /** 修改时间 */
+    private Integer couponEnd;
+
 }

+ 42 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityConfigurationUse.java

@@ -0,0 +1,42 @@
+package com.zhongzheng.modules.activity.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 【请填写功能名称】对象 activity_configuration_use
+ * 
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("activity_configuration_use")
+public class ActivityConfigurationUse implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** $column.columnComment */
+    private Long userId;
+
+    /** 已领取,活动配置id */
+    private Long configurationId;
+
+    /** 已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣 */
+    private Integer activityType;
+
+    /** 是否已使用该次活动   0未使用  1已使用   线上直播 3 */
+    private Integer use;
+
+    /** 领取时间 */
+    private Long createTime;
+
+}

+ 48 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/domain/ActivityTaskUser.java

@@ -0,0 +1,48 @@
+package com.zhongzheng.modules.activity.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 用户领取记录对象 activity_task_user
+ * 
+ * @author ruoyi
+ * @date 2021-06-16
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("activity_task_user")
+public class ActivityTaskUser implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** $column.columnComment */
+    private Long userId;
+
+    /** $column.columnComment */
+    private Long taskId;
+
+    /** $column.columnComment */
+    @TableField(fill = FieldFill.INSERT)
+    private Long createTime;
+
+    /** $column.columnComment */
+    @TableField(fill = FieldFill.INSERT_UPDATE)
+    private Long updateTime;
+
+    /** 领取分数 */
+    private String score;
+
+    /** 任务名称  0每日签到 1完善信息 2邀请好友 3每日分享
+4视频学习 5模拟考试 */
+    private Integer taskType;
+
+}

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityAdvertisingMapper.java

@@ -1,7 +1,11 @@
 package com.zhongzheng.modules.activity.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.zhongzheng.modules.activity.bo.ActivityAdvertisingQueryBo;
 import com.zhongzheng.modules.activity.domain.ActivityAdvertising;
+import com.zhongzheng.modules.activity.vo.ActivityAdvertisingVo;
+
+import java.util.List;
 
 /**
  * 广告发布储存Mapper接口
@@ -11,4 +15,12 @@ import com.zhongzheng.modules.activity.domain.ActivityAdvertising;
  */
 public interface ActivityAdvertisingMapper extends BaseMapper<ActivityAdvertising> {
 
+
+    /**
+     * 查找已发布的广告
+     *
+     * @param bo 课程绑定
+     *@return 广告信息
+     */
+    List<ActivityAdvertisingVo> queryIssueList(ActivityAdvertisingQueryBo bo);
 }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityConfigurationMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo;
 import com.zhongzheng.modules.activity.domain.ActivityConfiguration;
 import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.course.vo.CourseConfigurationVo;
 
 import java.util.Collection;
 
@@ -30,4 +31,6 @@ public interface ActivityConfigurationMapper extends BaseMapper<ActivityConfigur
      * @return 详细配置
      */
     ActivityConfigurationVo selectConfigures(Long id);
+
+    Collection<CourseConfigurationVo> selectConfiguraIssueList(ActivityConfigurationQueryBo bo);
 }

+ 16 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityConfigurationUseMapper.java

@@ -0,0 +1,16 @@
+package com.zhongzheng.modules.activity.mapper;
+
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseAddBo;
+import com.zhongzheng.modules.activity.domain.ActivityConfigurationUse;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+public interface ActivityConfigurationUseMapper extends BaseMapper<ActivityConfigurationUse> {
+
+    Integer queryByUse(ActivityConfigurationUseAddBo bo);
+}

+ 15 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/mapper/ActivityTaskUserMapper.java

@@ -0,0 +1,15 @@
+package com.zhongzheng.modules.activity.mapper;
+
+import com.zhongzheng.modules.activity.domain.ActivityTaskUser;
+import com.zhongzheng.modules.activity.domain.ActivityTaskUser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 用户领取记录Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-06-16
+ */
+public interface ActivityTaskUserMapper extends BaseMapper<ActivityTaskUser> {
+
+}

+ 11 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityAdvertisingService.java

@@ -20,12 +20,15 @@ import java.util.List;
 public interface IActivityAdvertisingService extends IService<ActivityAdvertising> {
 	/**
 	 * 查询单个
-	 * @return
+	 * @param id 广告发布储存新增业务对象
+	 * @return ActivityAdvertisingVo
 	 */
 	ActivityAdvertisingVo queryById(Long id);
 
 	/**
 	 * 查询列表
+	 * @param bo 广告发布储存新增业务对象
+	 * @return ActivityAdvertisingVo
 	 */
 	List<ActivityAdvertisingVo> queryList(ActivityAdvertisingQueryBo bo);
 
@@ -50,4 +53,11 @@ public interface IActivityAdvertisingService extends IService<ActivityAdvertisin
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+	/**
+	 * 查询列表
+	 * @param bo 广告发布储存新增业务对象
+	 * @return ActivityAdvertisingVo
+	 */
+    List<ActivityAdvertisingVo> queryIssueList(ActivityAdvertisingQueryBo bo);
 }

+ 9 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityConfigurationService.java

@@ -6,6 +6,7 @@ import com.zhongzheng.modules.activity.bo.ActivityConfigurationEditBo;
 import com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo;
 import com.zhongzheng.modules.activity.domain.ActivityConfiguration;
 import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.course.vo.CourseConfigurationVo;
 
 
 import java.util.Collection;
@@ -50,4 +51,12 @@ public interface IActivityConfigurationService extends IService<ActivityConfigur
 	 * @return
 	 */
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+
+	/**
+	 * 查询活动课程
+	 * @param bo
+	 * @return List<CourseConfigurationVo>
+	 */
+    List<CourseConfigurationVo> queryIssueList(ActivityConfigurationQueryBo bo);
 }

+ 61 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityConfigurationUseService.java

@@ -0,0 +1,61 @@
+package com.zhongzheng.modules.activity.service;
+
+import com.zhongzheng.modules.activity.domain.ActivityConfigurationUse;
+import com.zhongzheng.modules.activity.vo.ActivityConfigurationUseVo;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseQueryBo;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseAddBo;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+public interface IActivityConfigurationUseService extends IService<ActivityConfigurationUse> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	ActivityConfigurationUseVo queryById(Long userId);
+
+	/**
+	 * 查询列表
+	 */
+	List<ActivityConfigurationUseVo> queryList(ActivityConfigurationUseQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入【请填写功能名称】
+	 * @param bo 【请填写功能名称】新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(ActivityConfigurationUseAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改【请填写功能名称】
+	 * @param bo 【请填写功能名称】编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(ActivityConfigurationUseEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+
+
+	/**
+	 * 查询是否已领取
+	 * @param bo 主键集合
+	 * @return boolean
+	 */
+	boolean receive(ActivityConfigurationUseAddBo bo);
+}

+ 54 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/IActivityTaskUserService.java

@@ -0,0 +1,54 @@
+package com.zhongzheng.modules.activity.service;
+
+import com.zhongzheng.modules.activity.domain.ActivityTaskUser;
+import com.zhongzheng.modules.activity.vo.ActivityTaskUserVo;
+import com.zhongzheng.modules.activity.bo.ActivityTaskUserQueryBo;
+import com.zhongzheng.modules.activity.bo.ActivityTaskUserAddBo;
+import com.zhongzheng.modules.activity.bo.ActivityTaskUserEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 用户领取记录Service接口
+ *
+ * @author ruoyi
+ * @date 2021-06-16
+ */
+public interface IActivityTaskUserService extends IService<ActivityTaskUser> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	ActivityTaskUserVo queryById(Long userId);
+
+	/**
+	 * 查询列表
+	 */
+	List<ActivityTaskUserVo> queryList(ActivityTaskUserQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入用户领取记录
+	 * @param bo 用户领取记录新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(ActivityTaskUserAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改用户领取记录
+	 * @param bo 用户领取记录编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(ActivityTaskUserEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+    boolean userTask(ActivityTaskUserAddBo bo);
+}

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityAdvertisingServiceImpl.java

@@ -52,6 +52,7 @@ public class ActivityAdvertisingServiceImpl extends ServiceImpl<ActivityAdvertis
         lqw.apply(bo.getStartCreateTime() != null,"create_time BETWEEN {0} and {1}",bo.getStartCreateTime(),bo.getEndCreateTime());
         lqw.apply(bo.getEndTime() != null,"end_time BETWEEN {0} and {1}",bo.getStartTime(),bo.getEndTime());
         lqw.apply(bo.getStarIssueTime() != null,"start_time BETWEEN {0} and {1}",bo.getStarIssueTime(),bo.getEndIssueTime());
+        lqw.orderByDesc(ActivityAdvertising::getUpdateTime);
         return entity2Vo(this.list(lqw));
     }
 
@@ -113,4 +114,11 @@ public class ActivityAdvertisingServiceImpl extends ServiceImpl<ActivityAdvertis
         return this.updateBatchById(activityAdvertisingList);
     }
 
+    @Override
+    public List<ActivityAdvertisingVo> queryIssueList(ActivityAdvertisingQueryBo bo) {
+        bo.setStartTime(DateUtils.getNowTime());
+        List<ActivityAdvertisingVo> activityAdvertisingVos = baseMapper.queryIssueList(bo);
+        return activityAdvertisingVos;
+    }
+
 }

+ 28 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityConfigurationServiceImpl.java

@@ -13,6 +13,7 @@ import com.zhongzheng.modules.activity.mapper.ActivityConfigurationCourseMapper;
 import com.zhongzheng.modules.activity.mapper.ActivityConfigurationMapper;
 import com.zhongzheng.modules.activity.service.IActivityConfigurationService;
 import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.course.vo.CourseConfigurationVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -128,4 +129,31 @@ public class ActivityConfigurationServiceImpl extends ServiceImpl<ActivityConfig
         ids.stream().forEach(id -> activityConfigurations.add(new ActivityConfiguration().setId(id).setStatus(0).setUpdateTime(DateUtils.getNowTime())));
         return this.updateBatchById(activityConfigurations);
     }
+
+    @Override
+    public List<CourseConfigurationVo> queryIssueList(ActivityConfigurationQueryBo bo) {
+        bo.setStartTime(DateUtils.getNowTime());
+        List<CourseConfigurationVo> courseConfigurationVos = entityCourseVo(baseMapper.selectConfiguraIssueList(bo));
+        return courseConfigurationVos;
+    }
+
+    /**
+     * 实体类转化成视图对象
+     *
+     * @param collection 实体类集合
+     * @return
+     */
+    private List<CourseConfigurationVo> entityCourseVo(Collection<CourseConfigurationVo> collection) {
+        List<CourseConfigurationVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CourseConfigurationVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<CourseConfigurationVo> page = (Page<CourseConfigurationVo>)collection;
+            Page<CourseConfigurationVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
 }

+ 149 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityConfigurationUseServiceImpl.java

@@ -0,0 +1,149 @@
+package com.zhongzheng.modules.activity.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.convert.Convert;
+import com.zhongzheng.common.utils.DateUtils;
+import com.zhongzheng.modules.activity.service.IActivityConfigurationService;
+import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import com.zhongzheng.modules.order.bo.CouponAddBo;
+import com.zhongzheng.modules.order.service.ICouponService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseAddBo;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseQueryBo;
+import com.zhongzheng.modules.activity.bo.ActivityConfigurationUseEditBo;
+import com.zhongzheng.modules.activity.domain.ActivityConfigurationUse;
+import com.zhongzheng.modules.activity.mapper.ActivityConfigurationUseMapper;
+import com.zhongzheng.modules.activity.vo.ActivityConfigurationUseVo;
+import com.zhongzheng.modules.activity.service.IActivityConfigurationUseService;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Service
+public class ActivityConfigurationUseServiceImpl extends ServiceImpl<ActivityConfigurationUseMapper, ActivityConfigurationUse> implements IActivityConfigurationUseService {
+
+    @Autowired
+    private IActivityConfigurationService activityConfigurationService;
+
+    @Autowired
+    private ICouponService couponService;
+
+    @Override
+    public ActivityConfigurationUseVo queryById(Long userId){
+        ActivityConfigurationUse db = this.baseMapper.selectById(userId);
+        return BeanUtil.toBean(db, ActivityConfigurationUseVo.class);
+    }
+
+    @Override
+    public List<ActivityConfigurationUseVo> queryList(ActivityConfigurationUseQueryBo bo) {
+        LambdaQueryWrapper<ActivityConfigurationUse> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getActivityType() != null, ActivityConfigurationUse::getActivityType, bo.getActivityType());
+        lqw.eq(bo.getUse() != null, ActivityConfigurationUse::getUse, bo.getUse());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<ActivityConfigurationUseVo> entity2Vo(Collection<ActivityConfigurationUse> collection) {
+        List<ActivityConfigurationUseVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, ActivityConfigurationUseVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<ActivityConfigurationUse> page = (Page<ActivityConfigurationUse>)collection;
+            Page<ActivityConfigurationUseVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(ActivityConfigurationUseAddBo bo) {
+        ActivityConfigurationUse add = BeanUtil.toBean(bo, ActivityConfigurationUse.class);
+        validEntityBeforeSave(add);
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(ActivityConfigurationUseEditBo bo) {
+        ActivityConfigurationUse update = BeanUtil.toBean(bo, ActivityConfigurationUse.class);
+        validEntityBeforeSave(update);
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(ActivityConfigurationUse entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean receive(ActivityConfigurationUseAddBo bo) {
+        //判断用户是否领取过活动
+        if (baseMapper.queryByUse(bo) > 0){
+            throw new IllegalArgumentException("已领取活动,请勿重复领取");
+        }
+        //未领取过领取活动
+        bo.setCreateTime(DateUtils.getNowTime());
+        switch (bo.getActivityType()){
+            case 3:
+            case 4:
+            case 2:
+            case 5:
+                bo.setUse(1);
+                break;
+            //向卡券表中生成优惠券或折扣券
+            default:
+                bo.setUse(0);
+                ActivityConfigurationVo activityConfigurationVo = activityConfigurationService.queryById(bo.getConfigurationId());
+                CouponAddBo couponAddBo = new CouponAddBo();
+                couponAddBo.setPrice(activityConfigurationVo.getPrice());
+                couponAddBo.setEndTime(afterSixMonthDate(new Date(),activityConfigurationVo.getCouponEnd()));
+                couponAddBo.setUserId(bo.getUserId());
+                couponAddBo.setUserStatus(0);
+                couponAddBo.setConfigurationId(bo.getConfigurationId());
+                couponAddBo.setCouponType(Convert.toInt(activityConfigurationVo.getActivityType()));
+                couponService.insertByAddBo(couponAddBo);
+        }
+        return this.insertByAddBo(bo);
+    }
+
+    public Long afterSixMonthDate(Date currentDate,Integer amount){
+        Calendar c = Calendar.getInstance();
+        c.setTime(currentDate);
+        c.add(Calendar.MONTH, amount);
+        Date m3 = c.getTime();
+        return m3.getTime();
+    }
+
+}

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityGradeServiceImpl.java

@@ -69,6 +69,7 @@ public class ActivityGradeServiceImpl extends ServiceImpl<ActivityGradeMapper, A
         lqw.eq(bo.getNeedIntegralStart() != null, ActivityGrade::getNeedIntegralStart, bo.getNeedIntegralStart());
         lqw.eq(bo.getNeedIntegralEnd() != null, ActivityGrade::getNeedIntegralEnd, bo.getNeedIntegralEnd());
         lqw.eq(StrUtil.isNotBlank(bo.getRemarks()), ActivityGrade::getRemarks, bo.getRemarks());
+        lqw.orderByDesc(ActivityGrade::getUpdateTime);
         List<ActivityGrade> list = this.list(lqw);
         List<ActivityGradeVo> activityGradeVos = selectGradeCourse(list);
         return entity2Vo(activityGradeVos);

+ 109 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/service/impl/ActivityTaskUserServiceImpl.java

@@ -0,0 +1,109 @@
+package com.zhongzheng.modules.activity.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.activity.bo.ActivityTaskUserAddBo;
+import com.zhongzheng.modules.activity.bo.ActivityTaskUserQueryBo;
+import com.zhongzheng.modules.activity.bo.ActivityTaskUserEditBo;
+import com.zhongzheng.modules.activity.domain.ActivityTaskUser;
+import com.zhongzheng.modules.activity.mapper.ActivityTaskUserMapper;
+import com.zhongzheng.modules.activity.vo.ActivityTaskUserVo;
+import com.zhongzheng.modules.activity.service.IActivityTaskUserService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 用户领取记录Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-06-16
+ */
+@Service
+public class ActivityTaskUserServiceImpl extends ServiceImpl<ActivityTaskUserMapper, ActivityTaskUser> implements IActivityTaskUserService {
+
+    @Override
+    public ActivityTaskUserVo queryById(Long userId){
+        ActivityTaskUser db = this.baseMapper.selectById(userId);
+        return BeanUtil.toBean(db, ActivityTaskUserVo.class);
+    }
+
+    @Override
+    public List<ActivityTaskUserVo> queryList(ActivityTaskUserQueryBo bo) {
+        LambdaQueryWrapper<ActivityTaskUser> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StrUtil.isNotBlank(bo.getScore()), ActivityTaskUser::getScore, bo.getScore());
+        lqw.eq(bo.getTaskType() != null, ActivityTaskUser::getTaskType, bo.getTaskType());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<ActivityTaskUserVo> entity2Vo(Collection<ActivityTaskUser> collection) {
+        List<ActivityTaskUserVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, ActivityTaskUserVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<ActivityTaskUser> page = (Page<ActivityTaskUser>)collection;
+            Page<ActivityTaskUserVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(ActivityTaskUserAddBo bo) {
+        ActivityTaskUser add = BeanUtil.toBean(bo, ActivityTaskUser.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(ActivityTaskUserEditBo bo) {
+        ActivityTaskUser update = BeanUtil.toBean(bo, ActivityTaskUser.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(ActivityTaskUser entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+
+    @Override
+    public boolean userTask(ActivityTaskUserAddBo bo) {
+        ActivityTaskUser add = BeanUtil.toBean(bo, ActivityTaskUser.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+}

+ 41 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/vo/ActivityConfigurationUseVo.java

@@ -0,0 +1,41 @@
+package com.zhongzheng.modules.activity.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 【请填写功能名称】视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@ApiModel("【请填写功能名称】视图对象")
+public class ActivityConfigurationUseVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long userId;
+
+	/** 已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣 */
+	@Excel(name = "已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣")
+	@ApiModelProperty("已领取活动类型 0 优惠券 1折扣券 2线上直播 3定价 4优惠 5折扣")
+	private Integer activityType;
+	/** 是否已使用该次活动   0未使用  1已使用   线上直播 3 */
+	@Excel(name = "是否已使用该次活动   0未使用  1已使用   线上直播 3")
+	@ApiModelProperty("是否已使用该次活动   0未使用  1已使用   线上直播 3")
+	private Integer use;
+
+	/** 领取时间 */
+	@Excel(name = "领取时间")
+	@ApiModelProperty("领取时间")
+	private Long createTime;
+
+}

+ 8 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/vo/ActivityConfigurationVo.java

@@ -9,6 +9,8 @@ import com.zhongzheng.modules.course.vo.CourseVo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -50,7 +52,7 @@ public class ActivityConfigurationVo {
 	private Long endTime;
 	/** 定价(金额,折扣,优惠金额) */
 	@ApiModelProperty("定价(金额,折扣,优惠金额)")
-	private Long price;
+	private BigDecimal price;
 	/** 发放数量 */
 	@Excel(name = "发放数量")
 	@ApiModelProperty("发放数量")
@@ -78,6 +80,11 @@ public class ActivityConfigurationVo {
 	@ApiModelProperty("修改时间")
 	private Long updateTime;
 
+	/** 修改时间 */
+	@Excel(name = "有效期几个月")
+	@ApiModelProperty("有效期几个月")
+	private Integer couponEnd;
+
 	/** 绑定课程 */
 	@Excel(name = "绑定课程")
 	@ApiModelProperty("绑定课程")

+ 36 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/activity/vo/ActivityTaskUserVo.java

@@ -0,0 +1,36 @@
+package com.zhongzheng.modules.activity.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 用户领取记录视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-06-16
+ */
+@Data
+@ApiModel("用户领取记录视图对象")
+public class ActivityTaskUserVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long userId;
+
+	/** 领取分数 */
+	@Excel(name = "领取分数")
+	@ApiModelProperty("领取分数")
+	private String score;
+	/** 任务名称  0每日签到 1完善信息 2邀请好友 3每日分享4视频学习 5模拟考试 */
+	@Excel(name = "任务名称  0每日签到 1完善信息 2邀请好友 3每日分享 4视频学习 5模拟考试")
+	@ApiModelProperty("任务名称  0每日签到 1完善信息 2邀请好友 3每日分享 4视频学习 5模拟考试")
+	private Integer taskType;
+
+}

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/domain/CourseSection.java

@@ -66,4 +66,5 @@ private static final long serialVersionUID=1L;
     private String mp4;
     @TableField(exist = false)
     private String firstImage;
+
 }

+ 81 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseConfigurationVo.java

@@ -0,0 +1,81 @@
+package com.zhongzheng.modules.course.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.zhongzheng.modules.activity.vo.ActivityConfigurationVo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+
+/**
+ * 课程视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-05-19
+ */
+@Data
+@ApiModel("课程视图对象")
+public class CourseConfigurationVo {
+	private static final long serialVersionUID = 1L;
+
+	/** 课程ID */
+	@ApiModelProperty("课程ID")
+	private Long courseId;
+
+	/** 分类ID */
+	@Excel(name = "分类ID")
+	@ApiModelProperty("分类ID")
+	private Long categoryId;
+	/** 价格 */
+	@Excel(name = "价格")
+	@ApiModelProperty("价格")
+	private BigDecimal price;
+	/** 时长(秒) */
+	@Excel(name = "时长(秒)")
+	@ApiModelProperty("时长(秒)")
+	private Long duration;
+	/** 开始时间 */
+	@Excel(name = "开始时间")
+	@ApiModelProperty("开始时间")
+	private Long startTime;
+	/** 结束时间 */
+	@Excel(name = "结束时间")
+	@ApiModelProperty("结束时间")
+	private Long endTime;
+	/** 封面地址 */
+	@Excel(name = "封面地址")
+	@ApiModelProperty("封面地址")
+	private String coverUrl;
+	/** 简介 */
+	@Excel(name = "简介")
+	@ApiModelProperty("简介")
+	private String introduction;
+	/** 状态 1正常 0关闭 */
+	@Excel(name = "状态 1正常 0关闭")
+	@ApiModelProperty("状态 1正常 0关闭")
+	private Integer status;
+	/** 教师ID拼接,用,拼接 */
+	@Excel(name = "教师ID拼接,用,拼接")
+	@ApiModelProperty("教师ID拼接,用,拼接")
+	private String teacherIds;
+	/** 课程名称 */
+	@Excel(name = "课程名称")
+	@ApiModelProperty("课程名称")
+	private String courseName;
+	@ApiModelProperty("章数量")
+	private Integer chapterNum;
+	@ApiModelProperty("节数量")
+	private Integer sectionNum;
+	@ApiModelProperty("分类名")
+	private String categoryName;
+
+	@ApiModelProperty("是否已经领取  yes领取 no 未领取")
+	private String useStatus;
+
+	@ApiModelProperty("绑定活动名称")
+	private ActivityConfigurationVo activityConfigurationVo;
+
+
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/CourseSectionVo.java

@@ -55,5 +55,7 @@ public class CourseSectionVo {
 	private String mp4;
 	@ApiModelProperty("预览图")
 	private String firstImage;
+	@ApiModelProperty("保利威VID")
+	private String vid;
 
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/exam/service/impl/ExamArrangementGuideServiceImpl.java

@@ -46,6 +46,7 @@ public class ExamArrangementGuideServiceImpl extends ServiceImpl<ExamArrangement
         lqw.eq(StrUtil.isNotBlank(bo.getTypeText()), ExamArrangementGuide::getTypeText, bo.getTypeText());
         lqw.eq(bo.getStatus() != null, ExamArrangementGuide::getStatus, bo.getStatus());
         lqw.notIn(bo.getStatus() == null, ExamArrangementGuide::getStatus, 0);
+        lqw.orderByDesc(ExamArrangementGuide::getUpdateTime);
         return entity2Vo(this.list(lqw));
     }
 

+ 47 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/CouponAddBo.java

@@ -0,0 +1,47 @@
+package com.zhongzheng.modules.order.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+
+import java.math.BigDecimal;
+
+/**
+ * 【请填写功能名称】添加对象 coupon
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@ApiModel("【请填写功能名称】添加对象")
+public class CouponAddBo {
+
+    /** 折扣或优惠金额 */
+    @ApiModelProperty("折扣或优惠金额")
+    private BigDecimal price;
+    /** 有效期 */
+    @ApiModelProperty("有效期")
+    private Long endTime;
+    /** 券拥有者 */
+    @ApiModelProperty("券拥有者")
+    private Long userId;
+    /** 0 未使用 1已使用 */
+    @ApiModelProperty("0 未使用 1已使用")
+    private Integer userStatus;
+    /** 所属活动 */
+    @ApiModelProperty("所属活动")
+    private Long configurationId;
+    /** 券类型 0 优惠券 1折扣券 */
+    @ApiModelProperty("券类型 0 优惠券 1折扣券")
+    private Integer couponType;
+
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+}

+ 58 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/CouponEditBo.java

@@ -0,0 +1,58 @@
+package com.zhongzheng.modules.order.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import java.util.Date;
+
+import java.math.BigDecimal;
+
+/**
+ * 【请填写功能名称】编辑对象 coupon
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@ApiModel("【请填写功能名称】编辑对象")
+public class CouponEditBo {
+
+
+    /** $column.columnComment */
+    @ApiModelProperty("$column.columnComment")
+    private Long couponId;
+
+    /** 折扣或优惠金额 */
+    @ApiModelProperty("折扣或优惠金额")
+    private BigDecimal price;
+
+    /** 有效期 */
+    @ApiModelProperty("有效期")
+    private Long endTime;
+
+    /** 券拥有者 */
+    @ApiModelProperty("券拥有者")
+    private Long userId;
+
+    /** 0 未使用 1已使用 */
+    @ApiModelProperty("0 未使用 1已使用")
+    private Integer userStatus;
+
+
+
+    /** 所属活动 */
+    @ApiModelProperty("所属活动")
+    private Long configurationId;
+
+    /** 券类型 0 优惠券 1折扣券 */
+    @ApiModelProperty("券类型 0 优惠券 1折扣券")
+    private Integer couponType;
+
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 更新时间 */
+    @ApiModelProperty("更新时间")
+    private Long updateTime;
+}

+ 60 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/bo/CouponQueryBo.java

@@ -0,0 +1,60 @@
+package com.zhongzheng.modules.order.bo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.Map;
+import java.util.HashMap;
+
+import java.math.BigDecimal;
+import com.zhongzheng.common.core.domain.BaseEntity;
+
+/**
+ * 【请填写功能名称】分页查询对象 coupon
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("【请填写功能名称】分页查询对象")
+public class CouponQueryBo extends BaseEntity {
+
+	/** 分页大小 */
+	@ApiModelProperty("分页大小")
+	private Integer pageSize;
+	/** 当前页数 */
+	@ApiModelProperty("当前页数")
+	private Integer pageNum;
+	/** 排序列 */
+	@ApiModelProperty("排序列")
+	private String orderByColumn;
+	/** 排序的方向desc或者asc */
+	@ApiModelProperty(value = "排序的方向", example = "asc,desc")
+	private String isAsc;
+
+
+	/** 折扣或优惠金额 */
+	@ApiModelProperty("折扣或优惠金额")
+	private BigDecimal price;
+	/** 有效期 */
+	@ApiModelProperty("有效期")
+	private Long endTime;
+	/** 券拥有者 */
+	@ApiModelProperty("券拥有者")
+	private Long userId;
+	/** 0 未使用 1已使用 */
+	@ApiModelProperty("0 未使用 1已使用")
+	private Integer userStatus;
+
+	/** 所属活动 */
+	@ApiModelProperty("所属活动")
+	private Long configurationId;
+	/** 券类型 0 优惠券 1折扣券 */
+	@ApiModelProperty("券类型 0 优惠券 1折扣券")
+	private Integer couponType;
+
+}

+ 57 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/domain/Coupon.java

@@ -0,0 +1,57 @@
+package com.zhongzheng.modules.order.domain;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import java.util.Date;
+import java.math.BigDecimal;
+import com.zhongzheng.common.annotation.Excel;
+
+/**
+ * 【请填写功能名称】对象 coupon
+ * 
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("coupon")
+public class Coupon implements Serializable {
+
+private static final long serialVersionUID=1L;
+
+
+    /** $column.columnComment */
+    @TableId(value = "coupon_id")
+    private Long couponId;
+
+    /** 折扣或优惠金额 */
+    private BigDecimal price;
+
+    /** 有效期 */
+    private Long endTime;
+
+    /** 券拥有者 */
+    private Long userId;
+
+    /** 0 未使用 1已使用 */
+    private Integer userStatus;
+
+
+
+    /** 所属活动 */
+    private Long configurationId;
+
+    /** 券类型 0 优惠券 1折扣券 */
+    private Integer couponType;
+
+    /** 创建时间 */
+    private Long createTime;
+    /** 更新时间 */
+    private Long updateTime;
+
+}

+ 14 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/CouponMapper.java

@@ -0,0 +1,14 @@
+package com.zhongzheng.modules.order.mapper;
+
+import com.zhongzheng.modules.order.domain.Coupon;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 【请填写功能名称】Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+public interface CouponMapper extends BaseMapper<Coupon> {
+
+}

+ 52 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/ICouponService.java

@@ -0,0 +1,52 @@
+package com.zhongzheng.modules.order.service;
+
+import com.zhongzheng.modules.order.domain.Coupon;
+import com.zhongzheng.modules.order.vo.CouponVo;
+import com.zhongzheng.modules.order.bo.CouponQueryBo;
+import com.zhongzheng.modules.order.bo.CouponAddBo;
+import com.zhongzheng.modules.order.bo.CouponEditBo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 【请填写功能名称】Service接口
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+public interface ICouponService extends IService<Coupon> {
+	/**
+	 * 查询单个
+	 * @return
+	 */
+	CouponVo queryById(Long couponId);
+
+	/**
+	 * 查询列表
+	 */
+	List<CouponVo> queryList(CouponQueryBo bo);
+
+	/**
+	 * 根据新增业务对象插入【请填写功能名称】
+	 * @param bo 【请填写功能名称】新增业务对象
+	 * @return
+	 */
+	Boolean insertByAddBo(CouponAddBo bo);
+
+	/**
+	 * 根据编辑业务对象修改【请填写功能名称】
+	 * @param bo 【请填写功能名称】编辑业务对象
+	 * @return
+	 */
+	Boolean updateByEditBo(CouponEditBo bo);
+
+	/**
+	 * 校验并删除数据
+	 * @param ids 主键集合
+	 * @param isValid 是否校验,true-删除前校验,false-不校验
+	 * @return
+	 */
+	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+}

+ 104 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/CouponServiceImpl.java

@@ -0,0 +1,104 @@
+package com.zhongzheng.modules.order.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.StrUtil;
+import com.zhongzheng.common.utils.DateUtils;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.Page;
+import com.zhongzheng.modules.order.bo.CouponAddBo;
+import com.zhongzheng.modules.order.bo.CouponQueryBo;
+import com.zhongzheng.modules.order.bo.CouponEditBo;
+import com.zhongzheng.modules.order.domain.Coupon;
+import com.zhongzheng.modules.order.mapper.CouponMapper;
+import com.zhongzheng.modules.order.vo.CouponVo;
+import com.zhongzheng.modules.order.service.ICouponService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 【请填写功能名称】Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Service
+public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements ICouponService {
+
+    @Override
+    public CouponVo queryById(Long couponId){
+        Coupon db = this.baseMapper.selectById(couponId);
+        return BeanUtil.toBean(db, CouponVo.class);
+    }
+
+    @Override
+    public List<CouponVo> queryList(CouponQueryBo bo) {
+        LambdaQueryWrapper<Coupon> lqw = Wrappers.lambdaQuery();
+        lqw.eq(bo.getPrice() != null, Coupon::getPrice, bo.getPrice());
+        lqw.eq(bo.getEndTime() != null, Coupon::getEndTime, bo.getEndTime());
+        lqw.eq(bo.getUserId() != null, Coupon::getUserId, bo.getUserId());
+        lqw.eq(bo.getUserStatus() != null, Coupon::getUserStatus, bo.getUserStatus());
+        lqw.eq(bo.getConfigurationId() != null, Coupon::getConfigurationId, bo.getConfigurationId());
+        lqw.eq(bo.getCouponType() != null, Coupon::getCouponType, bo.getCouponType());
+        return entity2Vo(this.list(lqw));
+    }
+
+    /**
+    * 实体类转化成视图对象
+    *
+    * @param collection 实体类集合
+    * @return
+    */
+    private List<CouponVo> entity2Vo(Collection<Coupon> collection) {
+        List<CouponVo> voList = collection.stream()
+                .map(any -> BeanUtil.toBean(any, CouponVo.class))
+                .collect(Collectors.toList());
+        if (collection instanceof Page) {
+            Page<Coupon> page = (Page<Coupon>)collection;
+            Page<CouponVo> pageVo = new Page<>();
+            BeanUtil.copyProperties(page,pageVo);
+            pageVo.addAll(voList);
+            voList = pageVo;
+        }
+        return voList;
+    }
+
+    @Override
+    public Boolean insertByAddBo(CouponAddBo bo) {
+        Coupon add = BeanUtil.toBean(bo, Coupon.class);
+        validEntityBeforeSave(add);
+        add.setCreateTime(DateUtils.getNowTime());
+        add.setUpdateTime(DateUtils.getNowTime());
+        return this.save(add);
+    }
+
+    @Override
+    public Boolean updateByEditBo(CouponEditBo bo) {
+        Coupon update = BeanUtil.toBean(bo, Coupon.class);
+        validEntityBeforeSave(update);
+        update.setUpdateTime(DateUtils.getNowTime());
+        return this.updateById(update);
+    }
+
+    /**
+     * 保存前的数据校验
+     *
+     * @param entity 实体类数据
+     */
+    private void validEntityBeforeSave(Coupon entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    @Override
+    public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return this.removeByIds(ids);
+    }
+}

+ 54 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/CouponVo.java

@@ -0,0 +1,54 @@
+package com.zhongzheng.modules.order.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.math.BigDecimal;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+
+
+/**
+ * 【请填写功能名称】视图对象 mall_package
+ *
+ * @author ruoyi
+ * @date 2021-06-15
+ */
+@Data
+@ApiModel("【请填写功能名称】视图对象")
+public class CouponVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long couponId;
+
+	/** 折扣或优惠金额 */
+	@Excel(name = "折扣或优惠金额")
+	@ApiModelProperty("折扣或优惠金额")
+	private BigDecimal price;
+	/** 有效期 */
+	@Excel(name = "有效期")
+	@ApiModelProperty("有效期")
+	private Long endTime;
+	/** 券拥有者 */
+	@Excel(name = "券拥有者")
+	@ApiModelProperty("券拥有者")
+	private Long userId;
+	/** 0 未使用 1已使用 */
+	@Excel(name = "0 未使用 1已使用")
+	@ApiModelProperty("0 未使用 1已使用")
+	private Integer userStatus;
+	/** 所属活动 */
+	@Excel(name = "所属活动")
+	@ApiModelProperty("所属活动")
+	private Long configurationId;
+	/** 券类型 0 优惠券 1折扣券 */
+	@Excel(name = "券类型 0 优惠券 1折扣券")
+	@ApiModelProperty("券类型 0 优惠券 1折扣券")
+	private Integer couponType;
+
+
+}

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserAddBo.java

@@ -87,4 +87,6 @@ public class UserAddBo {
     /** 状态 1正常 0关闭 */
     @ApiModelProperty("状态 1正常 0关闭")
     private Integer status;
+    @ApiModelProperty("$column.columnComment")
+    private String unionId;
 }

+ 1 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/wx/bo/WxLoginBody.java

@@ -32,6 +32,6 @@ public class WxLoginBody {
     @ApiModelProperty("encryptedData")
     private String encryptedData;
 
-    private String tel;
+
 
 }

+ 17 - 0
zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityAdvertisingMapper.xml

@@ -17,6 +17,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status" column="status"/>
         <result property="advName" column="adv_name"/>
     </resultMap>
+    <resultMap type="com.zhongzheng.modules.activity.vo.ActivityAdvertisingVo" id="ActivityAdvertisingResultVo">
+        <result property="id" column="id"/>
+        <result property="adverUrl" column="adver_url"/>
+        <result property="jumpUrl" column="jump_url"/>
+        <result property="startTime" column="start_time"/>
+        <result property="endTime" column="end_time"/>
+        <result property="remarks" column="remarks"/>
+        <result property="reStatus" column="re_status"/>
+        <result property="status" column="status"/>
+        <result property="advName" column="adv_name"/>
+    </resultMap>
 
 
+    <select id="queryIssueList" parameterType="com.zhongzheng.modules.activity.bo.ActivityAdvertisingQueryBo" resultMap="ActivityAdvertisingResultVo">
+        select * from activity_advertising WHERE 1=1 AND status =3
+        <if test="startTime != null and startTime != ''">
+            AND #{startTime} BETWEEN start_time AND end_time
+        </if>
+    </select>
 </mapper>

+ 97 - 2
zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityConfigurationMapper.xml

@@ -13,8 +13,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="endTime" column="end_time"/>
         <result property="price" column="price"/>
         <result property="quantity" column="quantity"/>
-        <result property="validityTime" column="validity_time"/>
-        <result property="discount" column="discount"/>
         <result property="liveContent" column="live_content"/>
         <result property="liveAdress" column="live_adress"/>
         <result property="createTime" column="create_time"/>
@@ -55,6 +53,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="courseName" column="course_name"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.course.vo.CourseConfigurationVo" id="CourseResultConfiguration">
+        <result property="courseId" column="course_id"/>
+        <result property="categoryId" column="category_id"/>
+        <result property="price" column="price"/>
+        <result property="duration" column="duration"/>
+        <result property="startTime" column="start_time"/>
+        <result property="endTime" column="end_time"/>
+        <result property="coverUrl" column="cover_url"/>
+        <result property="introduction" column="introduction"/>
+        <result property="status" column="status"/>
+        <result property="teacherIds" column="teacher_ids"/>
+        <result property="courseName" column="course_name"/>
+        <result property="useStatus" column="useStatus"/>
+        <association property="activityConfigurationVo" javaType="com.zhongzheng.modules.activity.vo.ActivityConfigurationVo" >
+            <result property="id" column="sid"/>
+            <result property="activityName" column="sactivity_name"/>
+            <result property="activityType" column="sactivity_type"/>
+            <result property="description" column="sdescription"/>
+            <result property="startTime" column="sstart_time"/>
+            <result property="endTime" column="send_time"/>
+            <result property="price" column="sprice"/>
+            <result property="quantity" column="squantity"/>
+            <result property="liveContent" column="slive_content"/>
+            <result property="liveAdress" column="slive_adress"/>
+            <result property="createTime" column="screate_time"/>
+            <result property="updateTime" column="supdate_time"/>
+            <result property="status" column="sstatus"/>
+            <result property="couponEnd" column="scoupon_end"/>
+        </association>
+    </resultMap>
+
     <select id="selectConfiguraList" parameterType="com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo" resultMap="ActivityConfigurationResultVO">
         SELECT
         c.*,
@@ -108,6 +137,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 and c.status != 0
             </otherwise>
         </choose>
+        order by c.update_time desc
     </select>
 
     <select id="selectConfigures" parameterType="java.lang.Long" resultMap="ActivityConfigurationResultVO">
@@ -121,4 +151,69 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         WHERE 1=1
         and c.id = #{id,jdbcType=INTEGER}
     </select>
+
+    <select id="selectConfiguraIssueList" parameterType="com.zhongzheng.modules.activity.bo.ActivityConfigurationQueryBo" resultMap="CourseResultConfiguration">
+        SELECT
+        s.*,
+        c.id as sid,
+        c.activity_name as sactivity_name,
+        c.activity_type as sactivity_type,
+        c.description as sdescription,
+        c.start_time as sstart_time,
+        c.end_time as send_time,
+        c.price as sprice,
+        c.quantity as squantity,
+        c.live_content as slive_content,
+        c.live_adress as slive_adress,
+        c.create_time as screate_time,
+        c.update_time as supdate_time,
+        c.status as sstatus,
+        c.coupon_end as scoupon_end,
+        <if test="userId != null and userId != ''" >
+        ( CASE WHEN ( SELECT COUNT( user_id ) FROM activity_configuration_use WHERE 1 = 1 AND user_id = #{userId} ) = 1 THEN 'yes' ELSE 'no' END ) AS useStatus
+        </if>
+        FROM
+        activity_configuration c
+        LEFT JOIN activity_configuration_course f ON c.id = f.configuration_id
+        LEFT JOIN course s ON f.course_id = s.course_id
+        WHERE 1=1
+            and c.status = 3
+        <if test="id != null" >
+            and c.id = #{id,jdbcType=INTEGER}
+        </if>
+        <if test="activityName != null" >
+            and c.activity_name = #{activityName,jdbcType=VARCHAR}
+        </if>
+        <if test="typeIds != null">
+            and c.activity_type in
+            <foreach collection="typeIds" open="(" separator="," close=")" item="TypeId">
+                #{TypeId}
+            </foreach>
+        </if>
+        <if test="description != null" >
+            and c.description = #{description,jdbcType=VARCHAR}
+        </if>
+        <if test="price != null" >
+            and c.price = #{price,jdbcType=DECIMAL}
+        </if>
+        <if test="quantity != null" >
+            and c.quantity = #{quantity,jdbcType=INTEGER}
+        </if>
+        <if test="liveContent != null" >
+            and c.live_content = #{liveContent,jdbcType=VARCHAR}
+        </if>
+        <if test="liveAdress != null" >
+            and c.live_adress = #{liveAdress,jdbcType=VARCHAR}
+        </if>
+        <if test="createTime != null" >
+            and c.create_time = #{createTime,jdbcType=INTEGER}
+        </if>
+        <if test="updateTime != null" >
+            and c.update_time = #{updateTime,jdbcType=INTEGER}
+        </if>
+        <if test="startTime != null and startTime != ''">
+            AND #{startTime} BETWEEN c.start_time AND c.end_time
+        </if>
+        order by c.update_time desc
+    </select>
 </mapper>

+ 19 - 0
zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityConfigurationUseMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.activity.mapper.ActivityConfigurationUseMapper">
+
+    <resultMap type="com.zhongzheng.modules.activity.domain.ActivityConfigurationUse" id="ActivityConfigurationUseResult">
+        <result property="userId" column="user_id"/>
+        <result property="configurationId" column="configuration_id"/>
+        <result property="activityType" column="activity_type"/>
+        <result property="use" column="use"/>
+        <result property="createTime" column="create_time"/>
+    </resultMap>
+
+    <select id="queryByUse" parameterType="com.zhongzheng.modules.activity.bo.ActivityConfigurationUseAddBo" resultType="int">
+        select COUNT(user_id) FROM activity_configuration_use where 1=1
+
+    </select>
+</mapper>

+ 0 - 1
zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityGradePrivilegeMapper.xml

@@ -19,7 +19,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="gradeId" column="grade_id"/>
         <result property="priType" column="pri_type"/>
         <result property="couponPrice" column="coupon_price"/>
-        <result property="discount" column="discount"/>
         <result property="endTimeSum" column="end_time_sum"/>
         <result property="quantity" column="quantity"/>
         <result property="status" column="status"/>

+ 17 - 0
zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityTaskUserMapper.xml

@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.activity.mapper.ActivityTaskUserMapper">
+
+    <resultMap type="com.zhongzheng.modules.activity.domain.ActivityTaskUser" id="ActivityTaskUserResult">
+        <result property="userId" column="user_id"/>
+        <result property="taskId" column="task_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="score" column="score"/>
+        <result property="taskType" column="task_type"/>
+    </resultMap>
+
+
+</mapper>

+ 3 - 1
zhongzheng-system/src/main/resources/mapper/modules/course/CourseSectionMapper.xml

@@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="duration" column="duration"/>
         <result property="mp4" column="mp4"/>
         <result property="firstImage" column="first_image"/>
+        <result property="vid" column="vid"/>
     </resultMap>
 
     <select id="selectCourseSectionList" parameterType="com.zhongzheng.modules.course.bo.CourseSectionQueryBo"  resultMap="CourseSectionResult">
@@ -28,7 +29,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         cs.`status`,
         pv.duration,
         pv.first_image,
-        pv.mp4
+        pv.mp4,
+        pv.vid
         FROM
         course_section cs
         LEFT JOIN polyv_video pv ON cs.polyv_id = pv.polyv_id

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

@@ -47,7 +47,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="updateTime" column="update_time"/>
         <result property="createTime" column="create_time"/>
         <result property="examTime" column="exam_time"/>
-        <result property="regGuide" column="reg_guide"/>
         <result property="examPeriod" column="exam_period"/>
         <result property="status" column="status"/>
         <result property="examForm" column="exam_form"/>

+ 19 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/CouponMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhongzheng.modules.order.mapper.CouponMapper">
+
+    <resultMap type="com.zhongzheng.modules.order.domain.Coupon" id="CouponResult">
+        <result property="couponId" column="coupon_id"/>
+        <result property="price" column="price"/>
+        <result property="endTime" column="end_time"/>
+        <result property="userId" column="user_id"/>
+        <result property="userStatus" column="user_status"/>
+        <result property="rangeStatus" column="range_status"/>
+        <result property="configurationId" column="configuration_id"/>
+        <result property="couponType" column="coupon_type"/>
+    </resultMap>
+
+
+</mapper>