he2802 hai 1 ano
pai
achega
ea22971f9c
Modificáronse 27 ficheiros con 196 adicións e 94 borrados
  1. 3 0
      run-prod.sh
  2. 4 0
      zhongzheng-admin-saas/src/main/resources/application-prod.yml
  3. 12 7
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java
  4. 4 0
      zhongzheng-admin/src/main/resources/application-prod.yml
  5. 4 0
      zhongzheng-api/src/main/resources/application-prod.yml
  6. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionServiceImpl.java
  7. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/ICertificateTpService.java
  8. 41 1
      zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/CertificateTpServiceImpl.java
  9. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java
  10. 9 4
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java
  11. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java
  12. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java
  13. 14 9
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java
  14. 3 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderListVo.java
  15. 18 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/top/goods/service/impl/TopOldOrderServiceImpl.java
  16. 2 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserCertificateAddBo.java
  17. 1 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserCertificate.java
  18. 9 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserStudyRecordServiceImpl.java
  19. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java
  20. 7 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserSubscribeStudentExportVo.java
  21. 8 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserVo.java
  22. 1 0
      zhongzheng-system/src/main/resources/mapper/modules/activity/ActivityRecommendMapper.xml
  23. 8 66
      zhongzheng-system/src/main/resources/mapper/modules/exam/ExamPaperMapper.xml
  24. 1 1
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml
  25. 2 2
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml
  26. 18 0
      zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml
  27. 4 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

+ 3 - 0
run-prod.sh

@@ -34,3 +34,6 @@ docker run \
 -v /data/nginx/conf.d:/data/nginx/conf.d \
 -d ${group_admin_name}/${app_admin_name}:${app_admin_version}
 echo '----start container admin----'
+
+
+

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

@@ -171,6 +171,8 @@ oldOrder:
 oldSys:
     host: https://www.xyyxt.net
     goods: http://www.xyyxt.net/system/BussinessApi/NewYxtLogin
+    question: http://192.168.1.121:8057/WordData/GetMeasureList
+    questionDetail: http://192.168.1.121:8057/WordData/GetTopicList
 
 invoice:
     host: https://ptapi.gdzzkj.net/sys/common/openMplatform/log
@@ -187,6 +189,8 @@ exam:
     subscribeSaveExam: http://39.108.7.155:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://39.108.7.155:9099/cd/subscribe/update/exam
     subscribeAddExamNum: http://39.108.7.155:9099/cd/subscribe/add/num
+    question: http://120.79.166.78:19013/common/question/getMeasureList
+    questionDetail: http://120.79.166.78:19013/common/question/getTopicList
 
 shared:
     statistics: http://www.xyyxt.net/WitSystem/BussinessApi/HighSeasData

+ 12 - 7
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -92,7 +92,10 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
@@ -167,16 +170,12 @@ public class CommonController extends BaseController {
     @Autowired
     private ICertificateTpService iCertificateTpService;
 
-    @Autowired
-    private IZsBankService iZsBankService;
-
     @Autowired
     private ClassGradeUserMapper classGradeUserMapper;
 
     @Autowired
     private IMajorService iMajorService;
-
-
+    private IZsBankService iZsBankService;
     /**
      * 通用下载请求
      *
@@ -865,6 +864,12 @@ public class CommonController extends BaseController {
     @PostMapping("/common/question/getTopicList")
     public AjaxResult<String> getTopicList(@RequestBody String topParam) {
         String aa = iQuestionService.getTopicList(topParam);
-        return AjaxResult.success("操作成功",aa);
+        return AjaxResult.success("操作成功", aa);
+    }
+
+    @PostMapping("/common/free/makeBatchCertificatePhoto")
+    public AjaxResult makeBatchCertificatePhoto(@RequestBody ClassGradeUserQueryBo bo) {
+        iCertificateTpService.makeBatchCertificatePhoto(bo);
+        return AjaxResult.success();
     }
 }

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

@@ -171,6 +171,8 @@ oldOrder:
 oldSys:
     host: http://www.xyyxt.net
     goods: http://www.xyyxt.net/system/BussinessApi/NewYxtLogin
+    question: http://192.168.1.121:8057/WordData/GetMeasureList
+    questionDetail: http://192.168.1.121:8057/WordData/GetTopicList
 
 invoice:
     host: https://ptapi.gdzzkj.net/sys/common/openMplatform/log
@@ -187,6 +189,8 @@ exam:
     subscribeSaveExam: http://39.108.7.155:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://39.108.7.155:9099/cd/subscribe/update/exam
     subscribeAddExamNum: http://39.108.7.155:9099/cd/subscribe/add/num
+    question: http://120.79.166.78:19013/common/question/getMeasureList
+    questionDetail: http://120.79.166.78:19013/common/question/getTopicList
 
 shared:
     statistics: http://www.xyyxt.net/WitSystem/BussinessApi/HighSeasData

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

@@ -183,6 +183,8 @@ oldOrder:
 oldSys:
     host: http://test.jqbao.net
     goods: http://www.xyyxt.net/system/BussinessApi/NewYxtLogin
+    question: http://192.168.1.121:8057/WordData/GetMeasureList
+    questionDetail: http://192.168.1.121:8057/WordData/GetTopicList
 
 invoice:
     host: https://ptapi.gdzzkj.net/sys/common/openMplatform/log
@@ -200,6 +202,8 @@ exam:
     subscribeSaveExam: http://39.108.7.155:9099/cd/subscribe/save/exam
     subscribeUpdateExam: http://39.108.7.155:9099/cd/subscribe/update/exam
     subscribeAddExamNum: http://39.108.7.155:9099/cd/subscribe/add/num
+    question: http://120.79.166.78:19013/common/question/getMeasureList
+    questionDetail: http://120.79.166.78:19013/common/question/getTopicList
 
 shared:
     statistics: http://www.xyyxt.net/WitSystem/BussinessApi/HighSeasData

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/impl/QuestionServiceImpl.java

@@ -3297,8 +3297,10 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
                         if (ObjectUtils.isNotNull(item2.getIsTopic()) && item2.getIsTopic()){
                             //获取题目内容
                             String topParam = String.format("MeasureModelId=%s",item2.getMeasureModelId());
+                            log.error(topParam);
                             String respone2 = HttpUtils.sendPostJsonHeader(EXAM_QUESTION_DETAIL, topParam,map);
                             JSONObject jsonObject = JSONObject.parseObject(respone2);
+                            log.error(respone2);
                             List<ExternalQuestionDetailVo> questionDetailVos = JSONArray.parseArray(jsonObject.get("data").toString(), ExternalQuestionDetailVo.class);
 
                             if (CollectionUtils.isNotEmpty(questionDetailVos)){

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/ICertificateTpService.java

@@ -45,6 +45,8 @@ public interface ICertificateTpService extends IService<CertificateTp> {
 
 	String makeCertificatePhoto(ClassGradeUserQueryBo bo);
 
+	String makeBatchCertificatePhoto(ClassGradeUserQueryBo bo);
+
 	List<CertificateTpVo> selectListByBo(CertificateTpQueryBo bo);
 
 	/**

+ 41 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/CertificateTpServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -43,14 +44,21 @@ import com.zhongzheng.modules.goods.vo.GoodsVo;
 import com.zhongzheng.modules.grade.bo.ClassGradeUserQueryBo;
 import com.zhongzheng.modules.grade.domain.ClassGradeUser;
 import com.zhongzheng.modules.grade.service.IClassGradeUserService;
+import com.zhongzheng.modules.grade.service.impl.ClassGradeServiceImpl;
+import com.zhongzheng.modules.order.domain.OrderGoods;
+import com.zhongzheng.modules.order.service.IOrderGoodsService;
+import com.zhongzheng.modules.system.domain.SysOldOrg;
 import com.zhongzheng.modules.user.bo.UserCertificateAddBo;
 import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
+import com.zhongzheng.modules.user.domain.UserCertificate;
 import com.zhongzheng.modules.user.service.IUserCertificateService;
 import com.zhongzheng.modules.user.service.IUserService;
 import com.zhongzheng.modules.user.service.IUserStudyRecordService;
 import com.zhongzheng.modules.user.vo.UserStudyRecordVo;
 import com.zhongzheng.modules.user.vo.UserVo;
 import org.apache.commons.lang3.ArrayUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -76,6 +84,8 @@ import java.util.stream.Collectors;
 @Service
 public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, CertificateTp> implements ICertificateTpService {
 
+    private static Logger log = LoggerFactory.getLogger(CertificateTpServiceImpl.class);
+
     @Autowired
     private IGoodsService iGoodsService;
     @Autowired
@@ -103,6 +113,10 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
 
     @Autowired
     private ICourseModuleService iCourseModuleService;
+
+    @Autowired
+    private IOrderGoodsService iOrderGoodsService;
+
     @Autowired
     private IMajorService iMajorService;
     @Value("${certificate.host}")
@@ -179,6 +193,14 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
         if(Validator.isEmpty(bo.getUserId())||Validator.isEmpty(bo.getGradeId())||Validator.isEmpty(bo.getGoodsId())){
             throw new CustomException("数据错误");
         }
+        UserCertificate userCertificate = iUserCertificateService.getOne(new LambdaQueryWrapper<UserCertificate>()
+                .eq(UserCertificate::getUserId, bo.getUserId())
+                .eq(UserCertificate::getGradeId,bo.getGradeId()).last("limit 1"));
+        if(Validator.isNotEmpty(userCertificate)){
+            System.out.println("已存在证书");
+            log.info("已存在证书" + bo.getUserId()+"-"+bo.getGradeId(), "");
+            return null;
+        }
         bo.setPageSize(null);
         bo.setPageNum(null);
         GoodsVo goodsVo = iGoodsService.selectDetail(bo.getGoodsId());
@@ -260,9 +282,26 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
                     }
                 }
             }
-
         }
+        return null;
+    }
 
+    @Override
+    public String makeBatchCertificatePhoto(ClassGradeUserQueryBo bo) {
+        List<ClassGradeUser> list = iClassGradeUserService.list(new LambdaQueryWrapper<ClassGradeUser>()
+                .eq(ClassGradeUser::getPeriodStatus, 1).ge(ClassGradeUser::getCreateTime,bo.getClassStartTime()));
+        for(ClassGradeUser gradeUser : list){
+            ClassGradeUserQueryBo queryBo = new ClassGradeUserQueryBo();
+            queryBo.setGradeId(gradeUser.getGradeId());
+            queryBo.setUserId(gradeUser.getUserId());
+            queryBo.setOrderGoodsId(gradeUser.getOrderGoodsId());
+            OrderGoods orderGoods = iOrderGoodsService.getOne(new LambdaQueryWrapper<OrderGoods>()
+                    .eq(OrderGoods::getOrderGoodsId, gradeUser.getOrderGoodsId()));
+            queryBo.setGoodsId(orderGoods.getGoodsId());
+            System.out.println("生成证书");
+            System.out.println(JSON.toJSONString(queryBo));
+            makeCertificatePhoto(queryBo);
+        }
         return null;
     }
 
@@ -614,6 +653,7 @@ public class CertificateTpServiceImpl extends ServiceImpl<CertificateTpMapper, C
         addBo.setMoreCertificateStatus(goodsVo.getMoreCertificateStatus());
         addBo.setModuleId(moduleId);
         addBo.setPublicClassHours(goodsVo.getPublicClassHours().setScale( 0, BigDecimal.ROUND_HALF_UP ));
+        addBo.setOrderGoodsId(bo.getOrderGoodsId());
         return addBo;
     }
     private String getCertificateCode(){

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/domain/Goods.java

@@ -132,10 +132,13 @@ private static final long serialVersionUID=1L;
     /** 科目ID,拼接 */
     private String subjectIds;
     /** 证书类型ID */
+    @TableField(updateStrategy=FieldStrategy.IGNORED)
     private Long certificateTypeId;
     /** 证书ID */
+    @TableField(updateStrategy=FieldStrategy.IGNORED)
     private Long certificateId;
     /** 证书模板ID */
+    @TableField(updateStrategy=FieldStrategy.IGNORED)
     private Long certificateTpId;
     /** 商品划线价格 */
     private BigDecimal linePrice;

+ 9 - 4
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -960,6 +960,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         for (ClassGrade classGrade : classGradeList) {
             classGradeUser = iClassGradeUserService.getOne(new LambdaQueryWrapper<ClassGradeUser>()
                     .eq(ClassGradeUser::getGradeId, classGrade.getGradeId())
+                    .eq(ClassGradeUser::getChangeGrade, 0)
                     .eq(ClassGradeUser::getStatus, 1)
                     .eq(ClassGradeUser::getUserId, user.getUserId()).last("limit 1"));
             if (Validator.isNotEmpty(classGradeUser)) {
@@ -1066,6 +1067,7 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             LambdaQueryWrapper<ClassGradeUser> lqw = Wrappers.lambdaQuery();
             lqw.eq(ClassGradeUser::getGradeId, classGrade.getGradeId());
             lqw.eq(ClassGradeUser::getUserId,  user.getUserId());
+            lqw.eq(ClassGradeUser::getChangeGrade, 0);
             lqw.eq(ClassGradeUser::getStatus,  1);
             List<ClassGradeUser> gradeUserList = iClassGradeUserService.list(lqw);
             for (ClassGradeUser gu : gradeUserList) {
@@ -1993,9 +1995,10 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
             classPeriodStudentVo.setAllStatus(changePeriodStatus(classPeriodStudentVo.getPeriodStatus()));
 
             //    classPeriodStudentVo.setWaitRebuildNum(classPeriodUserVos.getCheat()+classPeriodUserVos.getExamCheat());
-            if (!CollectionUtils.isEmpty(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId()))) {
+            List<Long> timeList = baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId());
+            if (!CollectionUtils.isEmpty(timeList)) {
                 //查找开始学习时间
-                classPeriodStudentVo.setStartTime(baseMapper.selectStart(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGoodsId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId()).get(0));
+                classPeriodStudentVo.setStartTime(timeList.get(0));
             }
             //取学时所有拍照最新的一张
             String recentPhoto = userStudyRecordPhotoMapper.selectGradeRecentOnePhoto(classPeriodStudentVo.getUserId(), classPeriodStudentVo.getGradeId(),classPeriodStudentVo.getOrderGoodsId());
@@ -3070,10 +3073,10 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
                             classPeriodChapterVo.setAuditUserName(userPeriodStatusVo.getAuditUserName());
                             classPeriodChapterVo.setPeriodStatusId(userPeriodStatusVo.getId());
                             classPeriodChapterVo.setPerformance(Convert.toBigDecimal(userPeriodStatusVo.getPerformance()));
-                            if (startTotalTime == 0L || startTotalTime.longValue() > classPeriodChapterVo.getStudyStartTime().longValue()) {
+                            if ((startTotalTime == 0L&&Validator.isNotEmpty(classPeriodChapterVo.getStudyStartTime())) || (Validator.isNotEmpty(classPeriodChapterVo.getStudyStartTime())&&startTotalTime.longValue() > classPeriodChapterVo.getStudyStartTime().longValue())) {
                                 startTotalTime = classPeriodChapterVo.getStudyStartTime();
                             }
-                            if (endTotalTime == 0L || (Validator.isNotEmpty(classPeriodChapterVo.getStudyEndTime()) && endTotalTime.longValue() < classPeriodChapterVo.getStudyEndTime().longValue())) {
+                            if ((endTotalTime == 0L&&Validator.isNotEmpty(classPeriodChapterVo.getStudyEndTime())) || (Validator.isNotEmpty(classPeriodChapterVo.getStudyEndTime()) && endTotalTime.longValue() < classPeriodChapterVo.getStudyEndTime().longValue())) {
                                 endTotalTime = classPeriodChapterVo.getStudyEndTime();
                             }
                         }
@@ -3602,6 +3605,8 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
     }
 
 
+
+
     /**
      * 实体类转化成视图对象
      *

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/mapper/OrderMapper.java

@@ -66,4 +66,6 @@ public interface OrderMapper extends BaseMapper<Order> {
     Integer getStudeCountByCodeNoTenant(String sevenCode);
 
     List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn);
+
+    List<String> getBusinessNameBySn(String orderSn);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/IOrderService.java

@@ -126,4 +126,6 @@ public interface IOrderService extends IService<Order> {
 	QuestionOpenImportVo questionGoodsOpenImport(List<QuestionOpenImportBo> importBoList,Long userId,String userName);
 
     List<TopOldOrderInvoiceVo> getOrderInvoiceList(String orderSn);
+
+    List<String> getBusinessNameBySn(String orderSn);
 }

+ 14 - 9
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/service/impl/OrderServiceImpl.java

@@ -1136,7 +1136,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         String out_trade_no = DateUtils.getDateOrderSn();
         BigDecimal totalPrice = new BigDecimal(0);
         BigDecimal payPrice = new BigDecimal(0);
-        String body = "中正祥粤云-";
+        String body = "中正云-";
         List<OrderGoods> freeList = new ArrayList<>();
         //生成订单
         for (OrderGoodsAddBo g : goodsList) {
@@ -1152,7 +1152,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     throw new CustomException(goods.getGoodsName() + ",请勿重复购买相同年份的商品");
                 }
             }
-            body = "中正祥粤云-" + goods.getGoodsName();
+            body = "中正云-" + goods.getGoodsName();
             OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
             orderGoods.setOrderSn(out_trade_no);
             orderGoods.setGoodsYear(goods.getYear().toString());
@@ -1556,7 +1556,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         String out_trade_no = DateUtils.getDateOrderSn();
         BigDecimal totalPrice = new BigDecimal(0);
         BigDecimal payPrice = new BigDecimal(0);
-        String body = "中正祥粤云-";
+        String body = "中正云-";
         List<OrderGoods> freeList = new ArrayList<>();
         //生成订单
         for (OrderGoodsAddBo g : goodsList) {
@@ -1572,7 +1572,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     throw new CustomException(goods.getGoodsName() + ",请勿重复购买相同年份的商品");
                 }
             }
-            body = "中正祥粤云-" + goods.getGoodsName();
+            body = "中正云-" + goods.getGoodsName();
             OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
             orderGoods.setOrderSn(out_trade_no);
             if (g.getGoodsInputData() != null) {
@@ -1763,7 +1763,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         String out_trade_no = DateUtils.getDateOrderSn();
         BigDecimal totalPrice = new BigDecimal(0);
         BigDecimal payPrice = new BigDecimal(0);
-        String body = "中正祥粤云-";
+        String body = "中正云-";
         List<OrderGoods> freeList = new ArrayList<>();
         //生成订单
         for (OrderGoodsAddBo g : goodsList) {
@@ -1779,7 +1779,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                     throw new CustomException(goods.getGoodsName() + ",请勿重复购买相同年份的商品");
                 }
             }
-            body = "中正祥粤云-" + goods.getGoodsName();
+            body = "中正云-" + goods.getGoodsName();
             OrderGoods orderGoods = BeanUtil.toBean(g, OrderGoods.class);
             orderGoods.setOrderSn(out_trade_no);
             if (g.getGoodsInputData() != null) {
@@ -1937,7 +1937,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 if (goods.getGoodsStatus() != 1) {
                     throw new CustomException(goods.getGoodsName() + "商品已下架,请重新选择商品下单");
                 }
-                body = "中正祥粤云-" + goods.getGoodsName();
+                body = "中正云-" + goods.getGoodsName();
                 break;
             }
         } else {
@@ -1973,7 +1973,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 if (goods.getGoodsStatus() != 1) {
                     throw new CustomException(goods.getGoodsName() + "商品已下架,请重新选择商品下单");
                 }
-                body = "中正祥粤云-" + goods.getGoodsName();
+                body = "中正云-" + goods.getGoodsName();
                 break;
             }
         } else {
@@ -2107,7 +2107,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
                 if (goods.getGoodsStatus() != 1) {
                     throw new CustomException(goods.getGoodsName() + "商品已下架,请重新选择商品下单");
                 }
-                body = "中正祥粤云-" + goods.getGoodsName();
+                body = "中正云-" + goods.getGoodsName();
                 break;
             }
         } else {
@@ -3036,6 +3036,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
         return baseMapper.getOrderInvoiceList(orderSn);
     }
 
+    @Override
+    public List<String> getBusinessNameBySn(String orderSn) {
+        return baseMapper.getBusinessNameBySn(orderSn);
+    }
+
     private void questionOpen(User user, QuestionMerchant merchant,UserSubscribe userSubscribe,Long loginId,String loginName) {
         //商家商品
         Goods merGoods = iGoodsService.getOne(new LambdaQueryWrapper<Goods>()

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/order/vo/OrderListVo.java

@@ -173,6 +173,9 @@ public class OrderListVo {
     @ApiModelProperty("手机号码")
     private String telphone;
 
+    @ApiModelProperty("公司名称")
+    private String companyName;
+
     @Excel(name = "商品订单状态")
     @ApiModelProperty("商品订单状态 -1关闭 0待支付 1已支付 2已退款")
     private Integer orderGoodsStatus;

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

@@ -403,8 +403,24 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
             //订单业务类型
             orderVoList.forEach(item -> {
                 item.setUserCheckStatus(1);
-                List<String> businessNames = baseMapper.queryBusinessBySn(item.getOrderSn());
-                item.setBusinessNames(businessNames);
+                Set<String> businessNames = new HashSet<>();
+                if (item.getOrderFrom() == 1 ){
+                    //新系统
+                    List<String> bNames = orderService.getBusinessNameBySn(item.getOrderSn());
+                    businessNames.addAll(bNames);
+                }else {
+                    List<TopOldOrderGoods> list = topOrderGoodsService.list(new LambdaQueryWrapper<TopOldOrderGoods>()
+                            .eq(TopOldOrderGoods::getOrderSn, item.getOrderSn())
+                            .eq(TopOldOrderGoods::getStatus, 1));
+                    if (CollectionUtils.isNotEmpty(list)){
+                        for (TopOldOrderGoods orderGoods : list) {
+                            String substring = orderGoods.getBusinessFullName().substring(5, 8);
+                            String format = String.format("%s-%s", substring, orderGoods.getBusinessName());
+                            businessNames.add(format);
+                        }
+                    }
+                }
+                item.setBusinessNames(businessNames.stream().collect(Collectors.toList()));
                 //订单转账凭证
                 List<TopOldOrderAttachment> attachmentList = topOrderAttachmentService
                         .list(new LambdaQueryWrapper<TopOldOrderAttachment>()

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

@@ -89,4 +89,6 @@ public class UserCertificateAddBo {
     @ApiModelProperty("公共学时")
     private BigDecimal publicClassHours;
 
+    private Long orderGoodsId;
+
 }

+ 1 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/domain/UserCertificate.java

@@ -75,4 +75,5 @@ private static final long serialVersionUID=1L;
 
     private BigDecimal publicClassHours;
 
+    private Long orderGoodsId;
 }

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

@@ -407,8 +407,15 @@ public class UserStudyRecordServiceImpl extends ServiceImpl<UserStudyRecordMappe
                                 if(photoList.size()>0){
                                     UserStudyRecordPhoto photo = photoList.get(0);
                                     if((DateUtils.getNowTime().longValue()-photo.getCreateTime().longValue())<(videoTime.longValue()-5)){
-                                        log.info("视频学习时长不达标"+JSON.toJSONString(bo));
-                                        throw new CustomException("视频学习时长不达标,"+(videoTime.longValue()-5-(DateUtils.getNowTime().longValue()-photo.getCreateTime().longValue())),558);
+                                        if(fullName.contains("继续教育")&&fullName.contains("施工现场专业人员")){
+                                            if((DateUtils.getNowTime().longValue()-userPeriodStatusVo.getRecordStartTime().longValue())<(videoTime.longValue()-5)){
+                                                log.info("视频学习时长不达标"+JSON.toJSONString(bo));
+                                                throw new CustomException("视频学习时长不达标,"+(videoTime.longValue()-5-(DateUtils.getNowTime().longValue()-photo.getCreateTime().longValue())),558);
+                                            }
+                                        }else{
+                                            log.info("视频学习时长不达标"+JSON.toJSONString(bo));
+                                            throw new CustomException("视频学习时长不达标,"+(videoTime.longValue()-5-(DateUtils.getNowTime().longValue()-photo.getCreateTime().longValue())),558);
+                                        }
                                     }
                                 }
                                 if(photoList.size()<num){

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java

@@ -2152,6 +2152,18 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
                         item.setSex("女");
                     }
                 }
+                if (ObjectUtils.isNotNull(vo.getApplySiteExamTime())){
+                    String format = String.format("%s %s-%s", DateUtils.timestampToDateFormat(vo.getApplySiteExamTime(), "yyyy-MM-dd"), vo.getApplySiteStartTime(), vo.getApplySiteEndTime());
+                    item.setApplyTime(format);
+                }
+                if (ObjectUtils.isNotNull(vo.getSubscribeId())){
+                    UserSubscribe subscribe = getById(vo.getSubscribeId());
+                    Goods goods = iGoodsService.getById(subscribe.getGoodsId());
+                    if (ObjectUtils.isNotNull(goods.getMajorId())){
+                        Major major = iMajorService.getById(goods.getMajorId());
+                        item.setMajorName(major.getCategoryName());
+                    }
+                }
                 list1.add(item);
 
                 if(Validator.isNotEmpty(vo.getIdCardImg1())){

+ 7 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserSubscribeStudentExportVo.java

@@ -43,6 +43,13 @@ public class UserSubscribeStudentExportVo {
 	@ApiModelProperty("工作单位")
 	private String companyName;
 
+	@Excel(name = "约考时间")
+	@ApiModelProperty("约考时间")
+	private String applyTime;
+
+	@Excel(name = "所报专业")
+	@ApiModelProperty("所报专业")
+	private String majorName;
 
 	@Excel(name = "岗位")
 	@ApiModelProperty("岗位")

+ 8 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserVo.java

@@ -307,6 +307,14 @@ public class UserVo {
 	private String school;
 	@ApiModelProperty("毕业时间")
 	private String graduationTime;
+	@ApiModelProperty("考试时间")
+	private Long applySiteExamTime;
+	@ApiModelProperty("考试时间")
+	private String applySiteStartTime;
+	@ApiModelProperty("考试时间")
+	private String applySiteEndTime;
+	@ApiModelProperty("预约ID")
+	private Long subscribeId;
 
 	public void setNull(){
 		this.setOpenId(null);

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

@@ -93,6 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <if test="businessId != null and businessId != ''">
             AND ar.business_id = #{businessId}
         </if>
+        order by ar.sort
     </select>
 
     <select id="getDetail" parameterType="com.zhongzheng.modules.activity.bo.ActivityRecommendQueryBo" resultMap="ActivityRecommendVoResult">

+ 8 - 66
zhongzheng-system/src/main/resources/mapper/modules/exam/ExamPaperMapper.xml

@@ -24,10 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             DISTINCT ep.paper_id,
             ep.paper_name
         FROM
-            exam e
-                LEFT JOIN exam_paper ep ON e.exam_paper_id = ep.paper_id
-        WHERE
-                e.exam_id IN (
+            (
                 SELECT
                     exam_id
                 FROM
@@ -40,16 +37,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                                     concat(
                                             IFNULL(( SELECT GROUP_CONCAT( major_id ) eids FROM goods_attached WHERE goods_id = #{goodsId} AND type = 2 ), '' ),
                                             ',',
-                                            IFNULL(
-                                                    (
-                                                        SELECT
-                                                            GROUP_CONCAT( chapter_exam_id ) eids2
-                                                        FROM
-                                                            question_module_chapter
-                                                        WHERE
-                                                                module_exam_id IN ( SELECT major_id FROM goods_attached WHERE goods_id = #{goodsId} AND type = 1 )),
-                                                    ''
-                                                )))) UNION
+                                            IFNULL(( SELECT GROUP_CONCAT( chapter_exam_id ) eids2 FROM question_module_chapter WHERE module_exam_id IN ( SELECT major_id FROM goods_attached WHERE goods_id = #{goodsId} AND type = 1 )), '' ))))
+                UNION
                 SELECT
                     major_id AS exam_id
                 FROM
@@ -57,8 +46,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                 WHERE
                     goods_id = #{goodsId}
                   AND type = 3
-            )
-          AND e.exam_paper_id IS NOT NULL AND ep.`status` != -1
+            ) a
+                LEFT JOIN exam e ON a.exam_id = e.exam_id
+                LEFT JOIN exam_paper ep ON e.exam_paper_id = ep.paper_id
+        WHERE
+            e.exam_paper_id IS NOT NULL AND ep.`status` != -1
     </select>
 
     <select id="getGoodsExamPaperByGoodsIds" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.exam.vo.ExamPaperVo">
@@ -111,56 +103,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         </if>
     </select>
 
-    <select id="getGoodsExamPaperByGoodsIds" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.exam.vo.ExamPaperVo">
-        SELECT
-            ep.paper_id,
-            ga.goods_id,
-            ep.paper_name
-        FROM goods_attached ga
-                 LEFT JOIN question_module_chapter qmc ON ga.major_id = qmc.module_exam_id
-                 LEFT JOIN question_chapter_exam qce ON qmc.chapter_exam_id = qce.chapter_exam_id
-                 LEFT JOIN exam e ON qce.exam_id = e.exam_id
-                 LEFT JOIN exam_paper ep ON e.exam_paper_id = ep.paper_id
-        WHERE ga.type = 1
-        <if test="goodsIds != null and goodsIds.size()!=0 ">
-            AND ga.goods_id in
-            <foreach collection="goodsIds" item="item" index="index" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
-        </if>
-        UNION ALL
-        SELECT
-            ep.paper_id,
-            ga.goods_id,
-            ep.paper_name
-        FROM goods_attached ga
-                 LEFT JOIN question_chapter_exam qce ON ga.major_id = qce.chapter_exam_id
-                 LEFT JOIN exam e ON qce.exam_id = e.exam_id
-                 LEFT JOIN exam_paper ep ON e.exam_paper_id = ep.paper_id
-        WHERE ga.type = 2
-        <if test="goodsIds != null and goodsIds.size()!=0 ">
-            AND ga.goods_id in
-            <foreach collection="goodsIds" item="item" index="index" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
-        </if>
-        UNION ALL
-        SELECT
-            ep.paper_id,
-            ga.goods_id,
-            ep.paper_name
-        FROM goods_attached ga
-                 LEFT JOIN exam e ON ga.major_id = e.exam_id
-                 LEFT JOIN exam_paper ep ON e.exam_paper_id = ep.paper_id
-        WHERE ga.type = 3
-        <if test="goodsIds != null and goodsIds.size()!=0 ">
-            AND ga.goods_id in
-            <foreach collection="goodsIds" item="item" index="index" open="(" close=")" separator=",">
-                #{item}
-            </foreach>
-        </if>
-    </select>
-
     <select id="getGoodsExamPaperByGoodsId" parameterType="java.lang.Long" resultType="com.zhongzheng.modules.exam.vo.ExamPaperVo">
         SELECT
         ep.paper_id,

+ 1 - 1
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeMapper.xml

@@ -424,7 +424,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         cgu.period_plush_msg,
         cgu.learn_status,
         (SELECT COUNT(m.id) FROM course_menu_exam m LEFT JOIN goods_course c on m.course_id=c.course_id   where c.goods_id=og.goods_id and m.type  in (1,3) ) as exam_num,
-        (SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr  where ubr.`status`=1 and ubr.type  in (1,3) and  ubr.user_id = u.user_id and ubr.order_goods_id = cgu.order_goods_id and ubr.report_status=1 and ubr.current_status = 1) as record_num,
+        (SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr  where ubr.`status`=1 and ubr.type  in (1,3) and  ubr.user_id = u.user_id and ubr.grade_id = cgu.grade_id and ubr.order_goods_id = cgu.order_goods_id and ubr.report_status=1 and ubr.current_status = 1) as record_num,
         (og.study_count) as study_count,
         og.order_goods_id,
         og.rebuy_order_goods_id,

+ 2 - 2
zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml

@@ -457,8 +457,8 @@
         (SELECT og.service_end_time FROM order_goods og  where og.order_goods_id = cgu.order_goods_id ) as service_end_time,
         (SELECT COUNT(DISTINCT ubr.module_id,ubr.chapter_id,ubr.exam_id) FROM user_bank_record ubr  where ubr.`status`=1 and ubr.`type` in (1,3) and ubr.report_status=1 and ubr.order_goods_id = cgu.order_goods_id and ubr.grade_id = cgu.grade_id and ubr.user_id = cgu.user_id and ubr.current_status = 1) as record_num
         <if test="userPhoto == null">
-            ,(select COUNT(up.id) from user_period up LEFT JOIN user_period_status ups on up.id=ups.period_id where up.goods_id = og.goods_id and up.grade_id = cgu.grade_id and up.order_goods_id = cgu.order_goods_id and up.user_id = u.user_id
-            and ups.period_status=0 and ups.`status`=0 and (SELECT COUNT(upss.id) from user_period_status upss where upss.id = ups.id and upss.period_status = 1 and upss.`status` = 2) > 0 ) as rebuild_num
+            /* ,(select COUNT(up.id) from user_period up LEFT JOIN user_period_status ups on up.id=ups.period_id where up.goods_id = og.goods_id and up.grade_id = cgu.grade_id and up.order_goods_id = cgu.order_goods_id and up.user_id = u.user_id
+            and ups.period_status=0 and ups.`status`=0 and (SELECT COUNT(upss.id) from user_period_status upss where upss.id = ups.id and upss.period_status = 1 and upss.`status` = 2) > 0 ) as rebuild_num */
         </if>
         FROM
         class_grade_user cgu

+ 18 - 0
zhongzheng-system/src/main/resources/mapper/modules/order/OrderMapper.xml

@@ -67,6 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="idCard" column="id_card" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="telphone" column="telphone" typeHandler="com.zhongzheng.common.type.EncryptHandler"/>
         <result property="realname" column="realname"/>
+        <result property="companyName" column="company_name"/>
 
         <result property="goodsReceived" column="goods_received"/>
         <result property="refundStatus" column="refund_status"/>
@@ -87,6 +88,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             order_goods og
                 LEFT JOIN class_grade_user cgu ON og.order_goods_id = cgu.order_goods_id
                 AND cgu.user_id = #{userId} where og.order_goods_id = #{orderGoodsId}
+                AND cgu.`status` = 1 limit 1
     </select>
 
     <select id="selectListByBo" parameterType="com.zhongzheng.modules.order.bo.OrderQueryBo" resultMap="OrderResultVo">
@@ -105,6 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             u.telphone,
             u.realname,
             u.id_card,
+            u.company_name,
             cet.education_name,
             cpt.project_name,
             cb.business_name,
@@ -678,4 +681,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                       ) + ( SELECT COUNT( DISTINCT cgut.user_id ) FROM class_grade_user_temp cgut WHERE cgut.grade_id = cg.grade_id AND cgut.`status` = 1 )
                   ) <![CDATA[ < ]]>  cg.student_upper
     </select>
+
+    <select id="getBusinessNameBySn" resultType="java.lang.String" parameterType="java.lang.String">
+        SELECT
+            CONCAT( cet.education_name, '-', cb.business_name, cpt.project_name ) AS business_name
+        FROM
+            order_goods og
+                LEFT JOIN goods g ON og.goods_id = g.goods_id
+                LEFT JOIN course_education_type cet ON g.education_type_id = cet.id
+                LEFT JOIN course_project_type cpt ON g.project_id = cpt.id
+                LEFT JOIN course_business cb ON g.business_id = cb.id
+        WHERE
+            og.`status` = 1
+          AND og.order_sn = #{orderSn}
+    </select>
+
 </mapper>

+ 4 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

@@ -122,6 +122,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="idCardImg1" column="id_card_img1"/>
         <result property="idCardImg2" column="id_card_img2"/>
         <result property="keyValue" column="key_value"/>
+        <result property="applySiteExamTime" column="apply_site_exam_time"/>
+        <result property="applySiteStartTime" column="apply_site_start_time"/>
+        <result property="applySiteEndTime" column="apply_site_end_time"/>
+        <result property="subscribeId" column="subscribe_id"/>
     </resultMap>
 
     <select id="listSubscribe" parameterType="com.zhongzheng.modules.user.bo.UserSubscribeQueryBo" resultMap="UserSubscribeVo">