yangdamao 10 months ago
parent
commit
2774e8affd

+ 40 - 0
run-prod.sh

@@ -1,3 +1,43 @@
+#!/usr/bin/env bash
+# 定义应用组名
+group_admin_name='zhongzheng'
+# 定义应用名称
+app_admin_name='zhongzheng-saas-admin'
+# 定义应用版本
+app_admin_version='1.0-SNAPSHOT'
+# 定义应用环境
+profile_active='prod'
+echo '----copy jar admin----'
+docker stop ${app_admin_name}
+echo '----stop container admin----'
+docker rm ${app_admin_name}
+echo '----rm container admin----'
+docker rmi ${group_admin_name}/${app_admin_name}:${app_admin_version}
+echo '----rm image admin----'
+# 打包编译docker镜像
+docker build -f /mydata/maven/build/Dockerfile-admi -t ${group_admin_name}/${app_admin_name}:${app_admin_version} .
+echo '----build image admin----'
+docker run \
+-p 5030:5030 \
+--name ${app_admin_name} \
+--restart=always \
+--log-opt max-size=50m \
+--log-opt max-file=3 \
+-e 'spring.profiles.active'=${profile_active} \
+-e TZ="Asia/Shanghai" \
+-v /etc/localtime:/etc/localtime \
+-v /usr/share/fonts:/usr/share/fonts \
+-v /data/logs/prod_admin:/logs \
+-v /mydata/app/${app_admin_name}/logs:/var/logs \
+-v /data/nginx/conf.d:/data/nginx/conf.d \
+-d ${group_admin_name}/${app_admin_name}:${app_admin_version}
+echo '----start container admin----'
+
+echo "开始等待20秒..."
+# 1-10秒内随机
+sleep 5
+echo "等待后继续"
+
 #!/usr/bin/env bash
 # 定义应用组名
 group_admin_name='zhongzheng'

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

@@ -892,7 +892,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 continue;
             }
             String REGEX = "^[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])\\d{3}([0-9Xx])$";
-            if(Validator.isEmpty(itemImport.getIdCard()) || !itemImport.getIdCard().matches(REGEX)){
+            String REGEX2 = "^(H|K|A)?\\d{6}(\\([A-Z0-9]\\)|\\d{2})(\\d|[A-Z])?$|^M\\d{6}(\\([A-Z]\\)|\\d)?$";
+            if(Validator.isEmpty(itemImport.getIdCard()) || (!itemImport.getIdCard().matches(REGEX) && !itemImport.getIdCard().matches(REGEX2))){
                 itemImport.setCause("身份证不能为空或者格式不对");
                 errorList.add(itemImport);
                 continue;

+ 13 - 10
zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java

@@ -1130,9 +1130,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             if (CollectionUtils.isNotEmpty(list)) {
                 //暂时关闭学员订单
                 list.forEach(item -> {
-                    SysOldOrg oldOrg = iSysOldOrgService.getOne(new LambdaQueryWrapper<SysOldOrg>().eq(SysOldOrg::getOrgId, item.getTenantId()).last("limit 1"));
-                    Long tenantId = ObjectUtils.isNotNull(oldOrg) && ObjectUtils.isNotNull(oldOrg.getTenantId())?oldOrg.getTenantId():867735392558919680L;
-                    User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,tenantId));
+                    User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,getTenantId(item.getTenantId())));
                     if (ObjectUtil.isNull(user)) {
                         return;
                     }
@@ -1687,7 +1685,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                 case 1://审核通过
                     List<String> userNames = new ArrayList<>();
                     topOldOrderGoods.forEach(item -> {
-                        User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,"867735392558919680"));
+                        User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,getTenantId(item.getTenantId())));
                         userNames.add(user.getRealname());
                         if (ObjectUtil.isNull(user)) {
                             return;
@@ -1715,7 +1713,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     break;
                 case 2: //审核未通过
                     topOldOrderGoods.forEach(item -> {
-                        User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,"867735392558919680"));
+                        User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,getTenantId(item.getTenantId())));
                         if (ObjectUtil.isNull(user)) {
                             return;
                         }
@@ -1793,7 +1791,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             List<String> userNames = new ArrayList<>();
             topOldOrderGoods.forEach(item -> {
                 if (oldOrder.getOrderBase() == 1) {
-                    User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()));
+                    User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,getTenantId(item.getTenantId())));
                     userNames.add(user.getRealname());
                 } else {
                     userNames.add(item.getUserName());
@@ -1804,6 +1802,12 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
 
         return true;
     }
+
+    private Long getTenantId(Long orgId){
+        SysOldOrg oldOrg = iSysOldOrgService.getOne(new LambdaQueryWrapper<SysOldOrg>().eq(SysOldOrg::getOrgId, orgId).last("limit 1"));
+        return ObjectUtils.isNotNull(oldOrg) && ObjectUtils.isNotNull(oldOrg.getTenantId())?oldOrg.getTenantId():867735392558919680L;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean orderRefundPay(OrderRefundPayBo bo) {
@@ -1969,7 +1973,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
         orderRefundList.forEach(refund -> {
             TopOldOrderGoods item = topOrderGoodsService.getById(refund.getOrderGoodsId());
             User user = userService.getOne(new LambdaQueryWrapper<User>()
-                    .eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,"867735392558919680"));
+                    .eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,getTenantId(item.getTenantId())));
             if (ObjectUtils.isNotNull(user)) {
                 //处理新系统订单商品
                 List<Order> list = orderService
@@ -5297,10 +5301,9 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
 
         //处理新系统订单
         if (ObjectUtils.isNotNull(order.getInputOrderSn()) && order.getOrderBase() == 1) {
-            Long newTenantId = 867735392558919680L;
             orderGoods.forEach(item -> {
                 User user = userService.getOne(new LambdaQueryWrapper<User>()
-                        .eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,newTenantId));
+                        .eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,getTenantId(item.getTenantId())));
                 if (ObjectUtils.isNotNull(user)) {
                     //处理新系统订单商品
                     List<Order> list = orderService
@@ -5722,7 +5725,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
                     List<TopOldOrderGoods> orderGoods = topOrderGoodsService.listByIds(orderGoodsIds);
                     orderGoods.forEach(item -> {
                         User user = userService.getOne(new LambdaQueryWrapper<User>()
-                                .eq(User::getIdCard, item.getUserCard()));
+                                .eq(User::getIdCard, item.getUserCard()).eq(User::getTenantId,getTenantId(item.getTenantId())));
                         if (ObjectUtils.isNotNull(user)) {
                             //处理新系统订单商品
                             List<Order> list = orderService

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

@@ -89,6 +89,8 @@ public class UserStudyRecordAddBo {
     /** 访问IP */
     @ApiModelProperty("访问IP")
     private String ip;
+
+    private String errorCode;
     /** 相似度 */
     @ApiModelProperty("相似度")
     private Integer similarity;

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserStudyRecord.java

@@ -77,6 +77,8 @@ private static final long serialVersionUID=1L;
     private String identification;
     /**  视频校验时间 */
     private Long videoCheckTime;
+    /**  视频校验创建时间 */
+    private Long videoCreateTime;
     /**  节类型 1录播 2直播 3回放 */
     private Integer sectionType;
     /** 访问IP */

+ 11 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java

@@ -580,12 +580,14 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
                         &&Validator.isEmpty(bo.getPhoto())&&(lastVo.getVideoCurrentTime().longValue()>add.getVideoCurrentTime().longValue())){
                     if(Validator.isNotEmpty(add.getStatus())&&add.getStatus()==1){
                         add.setVideoCheckTime(add.getVideoCurrentTime());
+                        add.setVideoCreateTime(DateUtils.getNowTime());
                         this.save(add);
                     }else{
                         return 0;
                     }
                 }else{
                     add.setVideoCheckTime(add.getVideoCurrentTime());
+                    add.setVideoCreateTime(DateUtils.getNowTime());
                     this.save(add);
                 }
             }else{
@@ -641,18 +643,24 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
                 .eq(UserStudyRecord::getCurrentStatus,1)
                 .orderByAsc(UserStudyRecord::getCreateTime)
                 .last("limit 1"));
-        if (ObjectUtils.isNull(studyRecord) || ObjectUtils.isNull(studyRecord.getVideoCheckTime()) || ObjectUtils.isNull(bo.getVideoCurrentTime())){
+        if (ObjectUtils.isNull(studyRecord) || ObjectUtils.isNull(studyRecord.getVideoCheckTime()) || ObjectUtils.isNull(studyRecord.getVideoCreateTime())|| ObjectUtils.isNull(bo.getVideoCurrentTime())){
             //没有记录或者没有时间
             return;
         }
         Long videoCurrentTime = bo.getVideoCurrentTime();
         Long videoCheckTime = studyRecord.getVideoCheckTime();
+        Long videoCreateTime = studyRecord.getVideoCreateTime();
+        Long nowTime = DateUtils.getNowTime();
         Long time = videoCurrentTime - videoCheckTime;
-        if ((time - 15) >= 5){
+        Long time2 = nowTime - videoCreateTime;
+
+        if ((time - time2) >= 10){
             //有快进或者拖拽
+            log.error(String.format("系统检测557:当前时间差%s,视频时间差%s",time2,time));
             throw new CustomException("系统检测有快进或者拖拽情况",557);
         }
         studyRecord.setVideoCheckTime(bo.getVideoCurrentTime());
+        studyRecord.setVideoCreateTime(nowTime);
         updateById(studyRecord);
     }
 
@@ -1757,6 +1765,7 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
 
     @Override
     public boolean resetCourseSection(UserStudyRecordAddBo bo) {
+        log.error(String.format("课程节重置:code【%s】",bo.getErrorCode()));
         List<UserStudyRecord> studyRecords = list(new LambdaQueryWrapper<UserStudyRecord>()
                 .eq(UserStudyRecord::getUserId,bo.getUserId())
                 .eq(UserStudyRecord::getOrderGoodsId, bo.getOrderGoodsId())