Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/dev' into dev

yangdamao 2 rokov pred
rodič
commit
ced00d7b8e
24 zmenil súbory, kde vykonal 245 pridanie a 13 odobranie
  1. 1 1
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SysProfileController.java
  2. 2 2
      zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/top/TopSysUserController.java
  3. 2 0
      zhongzheng-admin-saas/src/main/resources/application-dev.yml
  4. 2 0
      zhongzheng-admin-saas/src/main/resources/application-pre.yml
  5. 2 0
      zhongzheng-admin-saas/src/main/resources/application-prod.yml
  6. 1 1
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/system/SysProfileController.java
  7. 2 2
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/system/SysUserController.java
  8. 2 0
      zhongzheng-admin/src/main/resources/application-dev.yml
  9. 2 0
      zhongzheng-admin/src/main/resources/application-pre.yml
  10. 2 0
      zhongzheng-admin/src/main/resources/application-prod.yml
  11. 2 0
      zhongzheng-api/src/main/resources/application-dev.yml
  12. 2 0
      zhongzheng-api/src/main/resources/application-pre.yml
  13. 3 0
      zhongzheng-api/src/main/resources/application-prod.yml
  14. 3 3
      zhongzheng-common/src/main/java/com/zhongzheng/common/utils/ToolsUtils.java
  15. 1 1
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/DistributionSellerServiceImpl.java
  16. 3 3
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java
  17. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/system/service/impl/SysDictDataServiceImpl.java
  18. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserStudyRecordMapper.java
  19. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyLogService.java
  20. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java
  21. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyLogServiceImpl.java
  22. 40 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java
  23. 100 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/CdUserStudyLogVo.java
  24. 63 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

+ 1 - 1
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/system/SysProfileController.java

@@ -101,7 +101,7 @@ public class SysProfileController extends BaseController
         {
             return AjaxResult.error("修改密码失败,旧密码错误");
         }
-        if(!ToolsUtils.verifPwd(newPassword)){
+        if(!ToolsUtils.verifEasyPwd(newPassword)){
             throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
         if (SecurityUtils.matchesPassword(newPassword, password))

+ 2 - 2
zhongzheng-admin-saas/src/main/java/com/zhongzheng/controller/top/TopSysUserController.java

@@ -154,7 +154,7 @@ public class TopSysUserController extends BaseController
             return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setCreateBy(SecurityUtils.getUsername());
-        if(!ToolsUtils.verifPwd(user.getPassword())){
+        if(!ToolsUtils.verifEasyPwd(user.getPassword())){
             throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -210,7 +210,7 @@ public class TopSysUserController extends BaseController
                 }
 
             }
-            if(!ToolsUtils.verifPwd(user.getPassword())){
+            if(!ToolsUtils.verifEasyPwd(user.getPassword())){
                 throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
             }
             user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));

+ 2 - 0
zhongzheng-admin-saas/src/main/resources/application-dev.yml

@@ -176,6 +176,8 @@ invoice:
 
 liveHost: http://192.168.1.222:6009
 
+fileHost: http://39.108.7.155:9099
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

+ 2 - 0
zhongzheng-admin-saas/src/main/resources/application-pre.yml

@@ -176,6 +176,8 @@ invoice:
 
 liveHost: http://192.168.1.222:6009
 
+fileHost: http://39.108.7.155:9099
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

+ 2 - 0
zhongzheng-admin-saas/src/main/resources/application-prod.yml

@@ -176,6 +176,8 @@ invoice:
 
 liveHost: https://sso.xyyxt.net
 
+fileHost: http://39.108.7.155:9099
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

+ 1 - 1
zhongzheng-admin/src/main/java/com/zhongzheng/controller/system/SysProfileController.java

@@ -96,7 +96,7 @@ public class SysProfileController extends BaseController
         {
             return AjaxResult.error("修改密码失败,旧密码错误");
         }
-        if(!ToolsUtils.verifPwd(newPassword)){
+        if(!ToolsUtils.verifEasyPwd(newPassword)){
             throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
         if (SecurityUtils.matchesPassword(newPassword, password))

+ 2 - 2
zhongzheng-admin/src/main/java/com/zhongzheng/controller/system/SysUserController.java

@@ -161,7 +161,7 @@ public class SysUserController extends BaseController
             return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setCreateBy(SecurityUtils.getUsername());
-        if(!ToolsUtils.verifPwd(user.getPassword())){
+        if(!ToolsUtils.verifEasyPwd(user.getPassword())){
             throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
         user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
@@ -218,7 +218,7 @@ public class SysUserController extends BaseController
                 }
 
             }
-            if(!ToolsUtils.verifPwd(user.getPassword())){
+            if(!ToolsUtils.verifEasyPwd(user.getPassword())){
                 throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
             }
             user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));

+ 2 - 0
zhongzheng-admin/src/main/resources/application-dev.yml

@@ -177,6 +177,8 @@ invoice:
 
 liveHost: http://192.168.1.222:6009
 
+fileHost: http://192.168.1.24:9099
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

+ 2 - 0
zhongzheng-admin/src/main/resources/application-pre.yml

@@ -176,6 +176,8 @@ invoice:
 
 liveHost: http://192.168.1.222:6009
 
+fileHost: http://192.168.1.24:9099
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

+ 2 - 0
zhongzheng-admin/src/main/resources/application-prod.yml

@@ -176,6 +176,8 @@ invoice:
 
 liveHost: https://sso.xyyxt.net
 
+fileHost: http://39.108.7.155:9099
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

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

@@ -179,6 +179,8 @@ invoice:
 
 liveHost: http://192.168.1.222:6009
 
+fileHost: http://192.168.1.24:9099
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

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

@@ -176,6 +176,8 @@ invoice:
 
 liveHost: http://192.168.1.222:6009
 
+fileHost: http://192.168.1.24:9099
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

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

@@ -188,6 +188,9 @@ invoice:
 
 liveHost: https://sso.xyyxt.net
 
+fileHost: http://39.108.7.155:9099
+
+
 exam:
     applySave: http://192.168.1.7:9099/cd/exam/save
     applyUpdate: http://192.168.1.7:9099/cd/exam/update

+ 3 - 3
zhongzheng-common/src/main/java/com/zhongzheng/common/utils/ToolsUtils.java

@@ -404,8 +404,8 @@ public class ToolsUtils {
         if(Validator.isEmpty(passWord)){
             return false;
         }
-        if(passWord.length()<6||passWord.length()>18){
-            return false;
+        if(passWord.length()<8||passWord.length()>16){
+            throw new CustomException("密码长度限制8到16位");
         }
         return true;
     }
@@ -423,7 +423,7 @@ public class ToolsUtils {
         if (m.matches()){
             return true;
         } else {
-            return false;
+            throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
     }
 

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

@@ -92,7 +92,7 @@ public class DistributionSellerServiceImpl extends ServiceImpl<DistributionSelle
         if(Validator.isEmpty(bo.getRealname())){
             throw new CustomException("姓名不能为空");
         }
-        if(!ToolsUtils.verifPwd(bo.getPwd())){
+        if(!ToolsUtils.verifEasyPwd(bo.getPwd())){
             throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
         String key = Constants.REGISTER_SMS + bo.getTel();

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

@@ -728,7 +728,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         if(bo.getPwd()==null){
             throw new CustomException("密码不能为空");
         }
-        if(!ToolsUtils.verifPwd(bo.getPwd())){
+        if(!ToolsUtils.verifEasyPwd(bo.getPwd())){
             throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
         String key = Constants.REGISTER_SMS + bo.getTel();
@@ -919,7 +919,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         {
             throw new BaseException("新密码格式错误");
         }
-        if(!ToolsUtils.verifPwd(bo.getNewPwd())){
+        if(!ToolsUtils.verifEasyPwd(bo.getNewPwd())){
             throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
         user.setPassword(SecurityUtils.encryptPassword(bo.getNewPwd()));
@@ -1151,7 +1151,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         if(bo.getPwd()==null){
             throw new CustomException("密码不能为空");
         }
-        if(!ToolsUtils.verifPwd(bo.getPwd())){
+        if(!ToolsUtils.verifEasyPwd(bo.getPwd())){
             throw new CustomException("密码应由8-16位数字、大小写字母、符号组成");
         }
         String key = Constants.FORGET_SMS + bo.getTel();

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

@@ -148,6 +148,7 @@ public class SysDictDataServiceImpl extends ServiceImpl<SysDictDataMapper, SysDi
         SysDictData info = getOne(new LambdaQueryWrapper<SysDictData>()
                 .eq(SysDictData::getDictValue,entity.getDictValue())
                 .eq(SysDictData::getDictType,entity.getDictType())
+                .ne(Validator.isNotEmpty(entity.getDictCode()),SysDictData::getDictCode,entity.getDictCode())
                 .last("limit 1"));
         if (Validator.isNotNull(info)) {
             return true;

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserStudyRecordMapper.java

@@ -117,4 +117,8 @@ public interface UserStudyRecordMapper extends BaseMapper<UserStudyRecord> {
     UserPeriod selectSevenUserPeriod(UserStudyRecord bo);
 
     GoodsSectionNumVo getGoodsSectionNum(SubjectStudyRecordQueryBo queryBo);
+
+    List<CdUserStudyLogVo> syncUserDateStudyLog(UserStudyRecordQueryBo bo);
+
+    List<CdUserStudyLogVo> syncUserDateStudyExamLog(UserStudyRecordQueryBo bo);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyLogService.java

@@ -53,4 +53,6 @@ public interface IUserStudyLogService extends IService<UserStudyLog> {
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
     UserStudyLog getOneNoTenant(Long userId);
+
+
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserStudyRecordService.java

@@ -148,4 +148,6 @@ public interface IUserStudyRecordService extends IService<UserStudyRecord> {
 
 	GoodsSectionNumVo getGoodsSectionNum(SubjectStudyRecordQueryBo subjectStudyRecordQueryBo);
 
+	Boolean syncUserDateStudyLog();
+
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyLogServiceImpl.java

@@ -125,4 +125,5 @@ public class UserStudyLogServiceImpl extends ServiceImpl<UserStudyLogMapper, Use
     public UserStudyLog getOneNoTenant(Long userId) {
         return baseMapper.getOneNoTenant(userId);
     }
+
 }

+ 40 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java

@@ -1371,6 +1371,46 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
         return baseMapper.getGoodsSectionNum(queryBo);
     }
 
+    @Override
+    public Boolean syncUserDateStudyLog() {
+        Long zeroTime = DateUtils.getTodayZeroTime();
+        zeroTime = zeroTime - 24 * 3600;
+        Long endTime = zeroTime -1;
+        UserStudyRecordQueryBo queryBo1 = new UserStudyRecordQueryBo();
+        queryBo1.setStartTime(zeroTime);
+        queryBo1.setEndTime(endTime);
+        List<CdUserStudyLogVo> list = baseMapper.syncUserDateStudyLog(queryBo1);
+        List<CdUserStudyLogVo> examList = baseMapper.syncUserDateStudyLog(queryBo1);
+        for(CdUserStudyLogVo vo : list){
+            for(CdUserStudyLogVo voExam : examList){
+                if(vo.getOrderGoodsId()==voExam.getOrderGoodsId()){
+                    vo.setDoQuestionNum(voExam.getDoQuestionNum());
+                    vo.setRightQuestionNum(voExam.getRightQuestionNum());
+                    vo.setTotalQuestionNum(voExam.getTotalQuestionNum());
+                    vo.setPerformance(voExam.getPerformance());
+                    vo.setStudyTime(vo.getStudyTime().longValue()+voExam.getStudyTime().longValue());
+                    if(vo.getOnlineTime().longValue()>voExam.getOnlineTime().longValue()){
+                        vo.setOnlineTime(voExam.getOnlineTime());
+                    }
+                }else{
+                    list.add(voExam);
+                }
+            }
+        }
+        for(CdUserStudyLogVo vo : list){
+            User user = iUserService.getOne(new LambdaQueryWrapper<User>().eq(User::getUserId, vo.getUserId()).last("limit 1"));
+            vo.setIdCard(user.getIdCard());
+            vo.setTelphone(user.getTelphone());
+            vo.setAvatar(user.getAvatar());
+            vo.setRealname(user.getRealname());
+            vo.setDateTime(zeroTime);
+            vo.setFromPlat(1);
+            Goods goods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>().eq(Goods::getGoodsId, vo.getGoodsId()).last("limit 1"));
+            vo.setGoodsName(goods.getGoodsName());
+        }
+        return null;
+    }
+
 
     /**
      * 获取最后一次看完的节

+ 100 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/CdUserStudyLogVo.java

@@ -0,0 +1,100 @@
+package com.zhongzheng.modules.user.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+
+/**
+ * 用户学习记录添加对象 cd_user_study_log
+ *
+ * @author ruoyi
+ * @date 2023-09-12
+ */
+@Data
+@ApiModel("用户学习记录添加对象")
+public class CdUserStudyLogVo {
+
+    /** 真实姓名 */
+    @ApiModelProperty("真实姓名")
+    private String realname;
+    /** 身份证号 */
+    @ApiModelProperty("身份证号")
+    private String idCard;
+    /** 录单订单编号 */
+    @ApiModelProperty("录单订单编号")
+    private String inputOrderSn;
+    /** 新B端培训计划ID */
+    @ApiModelProperty("新B端培训计划ID")
+    private Long planId;
+    /** 手机号码 */
+    @ApiModelProperty("手机号码")
+    private String telphone;
+    /** 用户ID */
+    @ApiModelProperty("用户ID")
+    private Long userId;
+    /** 商品ID */
+    @ApiModelProperty("商品ID")
+    private Long goodsId;
+    /** 总学时 */
+    @ApiModelProperty("总学时")
+    private Long totalClassHour;
+    /** 已学学时 */
+    @ApiModelProperty("已学学时")
+    private Long studyClassHour;
+    /** 统计日期时间 */
+    @ApiModelProperty("统计日期时间")
+    private Long dateTime;
+    /** 0 失效 1启用 */
+    @ApiModelProperty("0 失效 1启用")
+    private Integer status;
+    /** 创建时间 */
+    @ApiModelProperty("创建时间")
+    private Long createTime;
+    /** 修改时间 */
+    @ApiModelProperty("修改时间")
+    private Long updateTime;
+    /** 头像 */
+    @ApiModelProperty("头像")
+    private String avatar;
+    /** 商品名称 */
+    @ApiModelProperty("商品名称")
+    private String goodsName;
+    /** 来源平台 1新系统 2旧系统 */
+    @ApiModelProperty("来源平台 1新系统 2旧系统")
+    private Integer fromPlat;
+    /** 试卷总题数(含主观题) */
+    @ApiModelProperty("试卷总题数(含主观题)")
+    private Long totalQuestionNum;
+    /** 做对总题数 */
+    @ApiModelProperty("做对总题数")
+    private Long rightQuestionNum;
+    /** 做的题目数(含主观题) */
+    @ApiModelProperty("做的题目数(含主观题)")
+    private Long doQuestionNum;
+    /** 做错题目数 */
+    @ApiModelProperty("做错题目数")
+    private Long errorQuestionNum;
+    /** 总分 */
+    @ApiModelProperty("总分")
+    private BigDecimal totalScore;
+    /** 得分 */
+    @ApiModelProperty("得分")
+    private Long performance;
+    @ApiModelProperty("上线时间")
+    private Long onlineTime;
+    @ApiModelProperty("今天学习时长秒数")
+    private Long studyTime;
+    @ApiModelProperty("七大员年份")
+    private String sevenYear;
+    @ApiModelProperty("是否报名考试 0没有 1有")
+    private Integer applyExamStatus;
+    @ApiModelProperty("考试通过状态 0没有 1有")
+    private Integer passExamStatus;
+    @ApiModelProperty("考试补考状态 0没有 1有")
+    private Integer resitExamStatus;
+    @ApiModelProperty("订单商品ID")
+    private Long orderGoodsId;
+}

+ 63 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserStudyRecordMapper.xml

@@ -1892,4 +1892,67 @@
         WHERE
             gc.goods_id = #{goodsId} AND cm.`status` = 1
     </select>
+
+
+    <select id="syncUserDateStudyLog" parameterType="com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo"
+            resultType="com.zhongzheng.modules.user.vo.CdUserStudyLogVo">
+        SELECT
+            u.*,
+            og.seven_year,
+            o.input_order_sn,
+            o.plan_id
+        FROM
+        (
+        SELECT
+        order_goods_id,
+        any_value ( user_id ) user_id,
+        any_value ( usr.goods_id ) goods_id,
+        MIN( usr.create_time ) online_time,
+        (
+        MAX( USR.update_time )- MIN( usr.create_time )) study_time,
+        any_value ( tenant_id ) tenant_id
+        FROM
+        user_study_record usr
+        WHERE
+        usr.create_time <![CDATA[ >= ]]> #{startTime}
+        AND usr.update_time <![CDATA[ <= ]]> #{endTime}
+        GROUP BY
+        order_goods_id
+        ) u
+        LEFT JOIN order_goods og ON u.order_goods_id = og.order_goods_id
+        LEFT JOIN `order` o ON og.order_sn = o.order_sn
+    </select>
+
+    <select id="syncUserDateStudyExamLog" parameterType="com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo"
+            resultType="com.zhongzheng.modules.user.vo.CdUserStudyLogVo">
+        SELECT
+        u.*,
+        og.seven_year,
+        o.input_order_sn,
+        o.plan_id
+        FROM
+        (
+        SELECT
+        order_goods_id,
+        any_value ( user_id ) user_id,
+        any_value ( ubr.goods_id ) goods_id,
+        MIN( ubr.create_time ) online_time,
+        (
+        MAX( ubr.update_time )- MIN( ubr.create_time )) study_time,
+        any_value ( tenant_id ) tenant_id,
+        MAX( total_question_num ) total_question_num,
+        MAX( right_question_num ) right_question_num,
+        MAX( do_question_num ) do_question_num,
+        MAX( performance ) performance
+        FROM
+        user_bank_record ubr
+        WHERE
+        ubr.create_time <![CDATA[ >= ]]> #{startTime}
+        AND ubr.update_time <![CDATA[ <= ]]> #{endTime}
+        GROUP BY
+        order_goods_id
+        ) u
+        LEFT JOIN order_goods og ON u.order_goods_id = og.order_goods_id
+        LEFT JOIN `order` o ON og.order_sn = o.order_sn
+    </select>
 </mapper>