yangdamao 2 years ago
parent
commit
e48f9c4ddf
16 changed files with 613 additions and 27 deletions
  1. 21 8
      zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/DangAnController.java
  2. 3 6
      zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java
  3. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeUserMapper.java
  4. 56 2
      zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java
  5. 59 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserApplyRecordBo.java
  6. 55 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserPromiseRecordBo.java
  7. 23 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserUsbRecordBo.java
  8. 1 5
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserStudyRecordMapper.java
  9. 7 6
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserSubscribeMapper.java
  10. 4 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserSubscribeService.java
  11. 49 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/impl/UserSubscribeServiceImpl.java
  12. 63 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserApplyRecordVo.java
  13. 54 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserPromiseRecordVo.java
  14. 12 0
      zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserUsbRecordVo.java
  15. 65 0
      zhongzheng-system/src/main/resources/mapper/modules/grade/ClassGradeUserMapper.xml
  16. 137 0
      zhongzheng-system/src/main/resources/mapper/modules/user/UserSubscribeMapper.xml

+ 21 - 8
zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/DangAnController.java

@@ -10,17 +10,12 @@ import com.zhongzheng.modules.grade.vo.UserPeriodExportV2Vo;
 import com.zhongzheng.modules.order.bo.OrderQueryBo;
 import com.zhongzheng.modules.order.service.IOrderService;
 import com.zhongzheng.modules.order.vo.OrderListVo;
-import com.zhongzheng.modules.user.bo.UserCertificateQueryBo;
-import com.zhongzheng.modules.user.bo.UserQueryBo;
-import com.zhongzheng.modules.user.bo.UserUsbRecordBo;
-import com.zhongzheng.modules.user.bo.UserVisitLogQueryBo;
+import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.service.IUserCertificateService;
 import com.zhongzheng.modules.user.service.IUserStudyRecordService;
+import com.zhongzheng.modules.user.service.IUserSubscribeService;
 import com.zhongzheng.modules.user.service.IUserVisitLogService;
-import com.zhongzheng.modules.user.vo.ExamStudyRecordVo;
-import com.zhongzheng.modules.user.vo.UserCertificateVo;
-import com.zhongzheng.modules.user.vo.UserUsbRecordVo;
-import com.zhongzheng.modules.user.vo.UserVisitLogVo;
+import com.zhongzheng.modules.user.vo.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
@@ -53,6 +48,8 @@ public class DangAnController extends BaseController {
 
     private final IUserCertificateService iUserCertificateService;
 
+    private final IUserSubscribeService iUserSubscribeService;
+
     @ApiOperation("查询档案网课列表")
     @PreAuthorize("@ss.hasPermi('grade:user:list')")
     @GetMapping("/listVideoUserPeriod")
@@ -91,6 +88,22 @@ public class DangAnController extends BaseController {
         return getDataTable(list);
     }
 
+    @ApiOperation("学员考试记录")
+    @GetMapping("/listUserApply")
+    public TableDataInfo<UserApplyRecordVo> listUserApply(UserApplyRecordBo bo) {
+        startPage();
+        List<UserApplyRecordVo> list = iUserSubscribeService.listUserApply(bo);
+        return getDataTable(list);
+    }
+
+    @ApiOperation("学员承诺书记录")
+    @GetMapping("/listPromise")
+    public TableDataInfo<UserPromiseRecordVo> listPromise(UserPromiseRecordBo bo) {
+        startPage();
+        List<UserPromiseRecordVo> list = iUserSubscribeService.listPromise(bo);
+        return getDataTable(list);
+    }
+
     @ApiOperation("查询档案报名列表")
     @PreAuthorize("@ss.hasPermi('grade:user:list')")
     @GetMapping("/listBKUserPeriod")

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

@@ -1748,12 +1748,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 .eq(User::getIdCard,EncryptHandler.encrypt(bo.getAccount())));
         User user = getOne(queryWrapper);
         String tenantId = ServletUtils.getRequest().getHeader("TenantId");
-        Integer share = 1;
-        if (StringUtils.isNotBlank(tenantId)){
-            SysTenant sysTenant = iSysTenantService.getById(Long.valueOf(tenantId));
-            if (ObjectUtils.isNotNull(sysTenant)){
-                share = sysTenant.getShareClass();
-            }
+        Integer share = 0;
+        if (StringUtils.isNotBlank(tenantId) && "867735392558919680".equals(tenantId)){
+            share = 1;
         }
 
         if(Validator.isEmpty(user)){

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/mapper/ClassGradeUserMapper.java

@@ -7,7 +7,9 @@ import com.zhongzheng.modules.grade.domain.ClassGradeUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.grade.vo.*;
 import com.zhongzheng.modules.user.bo.UserQueryBo;
+import com.zhongzheng.modules.user.bo.UserUsbRecordBo;
 import com.zhongzheng.modules.user.domain.User;
+import com.zhongzheng.modules.user.vo.UserUsbRecordVo;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.Collection;
@@ -106,4 +108,6 @@ public interface ClassGradeUserMapper extends BaseMapper<ClassGradeUser> {
     List<ClassPeriodStudentVo> listVideoUserPeriod(ClassGradeUserQueryBo bo);
 
     List<ClassPeriodStudentVo> listBKUserPeriod(ClassGradeUserQueryBo bo);
+
+    List<UserUsbRecordVo> getListUserSubscribe(UserUsbRecordBo bo);
 }

+ 56 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.Page;
@@ -79,6 +80,13 @@ import org.springframework.util.CollectionUtils;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.ZoneId;
+import java.time.ZonedDateTime;
+import java.time.format.DateTimeFormatter;
+import java.time.temporal.TemporalAdjusters;
 import java.util.*;
 import java.util.stream.Collectors;
 import java.util.zip.ZipOutputStream;
@@ -3623,8 +3631,54 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
 
     @Override
     public List<UserUsbRecordVo> getListUserSubscribe(UserUsbRecordBo bo) {
-
-        return null;
+        if (ObjectUtils.isNotNull(bo.getApplyDateTime()) && bo.getApplyDateTime().length() == 6){
+            //根据月份筛选
+            String dateStr = String.format(bo.getApplyDateTime()); // 指定年月
+            LocalDate date = LocalDate.parse(dateStr + "01", DateTimeFormatter.BASIC_ISO_DATE);
+            LocalDate dateFirst = date.with(TemporalAdjusters.firstDayOfMonth()); // 指定年月的第一天
+            LocalDate dateEnd = date.with(TemporalAdjusters.lastDayOfMonth()); // 指定年月的最后一天
+            ZonedDateTime zonedDateTime1 = dateFirst.atStartOfDay(ZoneId.systemDefault());
+            Date date1 = Date.from(zonedDateTime1.toInstant());
+            ZonedDateTime zonedDateTime = dateEnd.atStartOfDay(ZoneId.systemDefault());
+            Date date2 = Date.from(zonedDateTime.toInstant());
+            Long startTime = date1.getTime()/1000;
+            Long endTime = (date2.getTime()/1000) + 86400;
+            bo.setMonthStartTime(startTime);
+            bo.setMonthEndTime(endTime);
+        }else if (ObjectUtils.isNotNull(bo.getApplyDateTime()) && bo.getApplyDateTime().length() > 6){
+            //根据某天筛选
+            String dateStr = String.format(bo.getApplyDateTime());
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+            try {
+                Date parse = sdf.parse(dateStr);
+                bo.setMonthStartTime(parse.getTime()/1000);
+                bo.setMonthEndTime(parse.getTime()/1000);
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+        }
+        List<UserUsbRecordVo> usbRecordVos = baseMapper.getListUserSubscribe(bo);
+        if (CollectionUtils.isEmpty(usbRecordVos)){
+            return new ArrayList<>();
+        }
+        usbRecordVos.forEach(item -> {
+            if (ObjectUtils.isNotNull(item.getApplyTime())){
+                item.setApplyTimeStr(String.format("%s (%s-%s)",DateUtils.timestampToDateFormat(item.getApplyTime(),"yyyy-MM-dd")
+                        ,item.getApplyStarTime(),item.getApplyEndTime()));
+            }
+            if (item.getSubscribeStatus() == 1){
+                if (ObjectUtils.isNull(item.getApplyTime())){
+                    item.setSubscribeStatus(3);
+                }else {
+                    Long aLong = DateUtils.dateTimeSec("HH:mm", item.getApplyEndTime());
+                    Long time = item.getApplyTime()+aLong;
+                    if (DateUtils.getNowTime() > time){
+                        item.setSubscribeStatus(3);
+                    }
+                }
+            }
+        });
+        return usbRecordVos;
     }
 
 

+ 59 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserApplyRecordBo.java

@@ -0,0 +1,59 @@
+package com.zhongzheng.modules.user.bo;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 【请填写功能名称】视图对象 mall_package
+ *
+ * @author change
+ * @date 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("【请填写功能名称】视图对象")
+public class UserApplyRecordBo 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 Long applyStartTime;
+
+    @ApiModelProperty("考试结束时间")
+    private Long applyEndTime;
+
+    private Long educationTypeId;
+
+    private Long projectId;
+
+    private Long businessId;
+
+    private Long majorId;
+
+    private Long userId;
+
+    @ApiModelProperty("课程名称")
+    private String goodsName;
+
+    @ApiModelProperty("考试状态:1通过 0不通过")
+    private Integer applyStatus;
+
+    @ApiModelProperty("是否新考:1是 0否")
+    private Integer applyNew;
+
+
+}

+ 55 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserPromiseRecordBo.java

@@ -0,0 +1,55 @@
+package com.zhongzheng.modules.user.bo;
+
+import com.zhongzheng.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 【请填写功能名称】视图对象 mall_package
+ *
+ * @author change
+ * @date 2021-06-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel("【请填写功能名称】视图对象")
+public class UserPromiseRecordBo 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 Long uploadStartTime;
+
+    @ApiModelProperty("上传结束时间")
+    private Long uploadEndTime;
+
+    private Long educationTypeId;
+
+    private Long projectId;
+
+    private Long businessId;
+
+    private Long majorId;
+
+    private Long userId;
+
+    @ApiModelProperty("课程名称")
+    private String goodsName;
+
+    @ApiModelProperty("盖章状态:1已盖章 0待盖章")
+    private Integer stampStatus;
+
+}

+ 23 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/bo/UserUsbRecordBo.java

@@ -44,6 +44,8 @@ public class UserUsbRecordBo extends BaseEntity {
 
     private Long majorId;
 
+    private Long userId;
+
     @ApiModelProperty("课程名称")
     private String goodsName;
 
@@ -59,4 +61,25 @@ public class UserUsbRecordBo extends BaseEntity {
     @ApiModelProperty("考试场次")
     private String applySession;
 
+    @ApiModelProperty("月份")
+    private String ApplyDateTime;
+
+    @ApiModelProperty("月份开始时间")
+    private Long monthStartTime;
+
+    @ApiModelProperty("月份结束时间")
+    private Long monthEndTime;
+
+    /** 考试开始时间段 */
+    @ApiModelProperty("考试开始时间段")
+    private String applySiteStartTime;
+
+    /** 考试结束时间段 */
+    @ApiModelProperty("考试结束时间段")
+    private String applySiteEndTime;
+
+    /** 考试日期 */
+    @ApiModelProperty("考试日期")
+    private Long applySiteExamTime;
+
 }

+ 1 - 5
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserStudyRecordMapper.java

@@ -11,10 +11,7 @@ import com.zhongzheng.modules.grade.domain.UserPeriod;
 import com.zhongzheng.modules.grade.domain.UserPeriodStatus;
 import com.zhongzheng.modules.grade.vo.ClassPeriodVo;
 import com.zhongzheng.modules.grade.vo.UserPeriodStatusVo;
-import com.zhongzheng.modules.user.bo.SubjectStudyRecordQueryBo;
-import com.zhongzheng.modules.user.bo.UserQueryBo;
-import com.zhongzheng.modules.user.bo.UserStudyRecordAddBo;
-import com.zhongzheng.modules.user.bo.UserStudyRecordQueryBo;
+import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.domain.UserBankRecord;
 import com.zhongzheng.modules.user.domain.UserStudyRecord;
 import com.zhongzheng.modules.user.vo.*;
@@ -139,5 +136,4 @@ public interface UserStudyRecordMapper extends BaseMapper<UserStudyRecord> {
 
     @InterceptorIgnore(tenantLine = "true")
     List<UserStudyRecord> getStudyRecordNoTenant(Long orderGoodsId);
-
 }

+ 7 - 6
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserSubscribeMapper.java

@@ -3,14 +3,10 @@ package com.zhongzheng.modules.user.mapper;
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.zhongzheng.modules.base.bo.ConsoleQueryBo;
 import com.zhongzheng.modules.goods.domain.GoodsQuestionRel;
-import com.zhongzheng.modules.user.bo.SubUserExportBo;
-import com.zhongzheng.modules.user.bo.UserSubQueryBo;
-import com.zhongzheng.modules.user.bo.UserSubscribeQueryBo;
+import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.domain.UserSubscribe;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zhongzheng.modules.user.vo.UserSubVo;
-import com.zhongzheng.modules.user.vo.UserSubscribeVo;
-import com.zhongzheng.modules.user.vo.UserVo;
+import com.zhongzheng.modules.user.vo.*;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -83,4 +79,9 @@ public interface UserSubscribeMapper extends BaseMapper<UserSubscribe> {
 
     @InterceptorIgnore(tenantLine = "true")
     void updateByIdNoTenant(UserSubscribe subscribe);
+
+    List<UserApplyRecordVo> listUserApply(UserApplyRecordBo bo);
+
+    List<UserPromiseRecordVo> listPromise(UserPromiseRecordBo bo);
+
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserSubscribeService.java

@@ -125,4 +125,8 @@ public interface IUserSubscribeService extends IService<UserSubscribe> {
 	String subRecordUserExport(SubUserExportBo bo);
 
 	List<SysTaskVo> subUserExportList();
+
+	List<UserApplyRecordVo> listUserApply(UserApplyRecordBo bo);
+
+	List<UserPromiseRecordVo> listPromise(UserPromiseRecordBo bo);
 }

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

@@ -80,6 +80,7 @@ import com.zhongzheng.modules.system.service.ISysConfigService;
 import com.zhongzheng.modules.system.service.ISysTaskService;
 import com.zhongzheng.modules.system.service.ISysTenantService;
 import com.zhongzheng.modules.system.vo.SysTaskVo;
+import com.zhongzheng.modules.tencentcloud.service.IFaceOcrService;
 import com.zhongzheng.modules.user.bo.*;
 import com.zhongzheng.modules.user.domain.User;
 import com.zhongzheng.modules.user.domain.UserExamGoods;
@@ -2954,6 +2955,54 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
         return list.stream().map(item -> BeanUtil.toBean(item,SysTaskVo.class)).collect(Collectors.toList());
     }
 
+    @Override
+    public List<UserApplyRecordVo> listUserApply(UserApplyRecordBo bo) {
+        List<UserApplyRecordVo> applyRecordVos = baseMapper.listUserApply(bo);
+        if (org.springframework.util.CollectionUtils.isEmpty(applyRecordVos)){
+            return new ArrayList<>();
+        }
+        applyRecordVos.forEach(item -> {
+            if (ObjectUtils.isNotNull(item.getApplyTime())){
+                item.setApplyTimeStr(String.format("%s (%s-%s)",DateUtils.timestampToDateFormat(item.getApplyTime(),"yyyy-MM-dd")
+                        ,item.getApplyStarTime(),item.getApplyEndTime()));
+            }
+        });
+        return applyRecordVos;
+    }
+
+    @Override
+    public List<UserPromiseRecordVo> listPromise(UserPromiseRecordBo bo) {
+        List<UserPromiseRecordVo> recordVos = baseMapper.listPromise(bo);
+        if (CollectionUtils.isEmpty(recordVos)){
+            return new ArrayList<>();
+        }
+
+        recordVos.forEach(item -> {
+            item.setStampStatus(0);
+            if (ObjectUtils.isNotNull(item.getKeyValue())){
+                JSONObject jsonObject = JSONObject.parseObject(item.getKeyValue());
+                if (ObjectUtils.isNotNull(jsonObject.get("commitment_electr_signature"))){
+                    String json = JSONObject.toJSONString(jsonObject.get("commitment_electr_signature"));
+                    JSONObject jsonObject1 = JSONObject.parseObject(json);
+                    if (ObjectUtils.isNotNull(jsonObject1) && ObjectUtils.isNotNull(jsonObject1.get("value"))){
+                        item.setPromiseUrl(jsonObject1.get("value").toString());
+                    }
+                }
+
+                if (ObjectUtils.isNotNull(jsonObject.get("commitment_seal"))){
+                    String json = JSONObject.toJSONString(jsonObject.get("commitment_seal"));
+                    JSONObject jsonObject1 = JSONObject.parseObject(json);
+                    if (ObjectUtils.isNotNull(jsonObject1) && ObjectUtils.isNotNull(jsonObject1.get("value"))){
+                        item.setPromiseUrl(jsonObject1.get("value").toString());
+                        item.setStampStatus(1);
+                    }
+                }
+            }
+
+        });
+        return recordVos;
+    }
+
     private String applyTimeTransition(String time){
         List<String> collect = Arrays.stream(time.split(":")).collect(Collectors.toList());
         StringBuffer result = new StringBuffer();

+ 63 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserApplyRecordVo.java

@@ -0,0 +1,63 @@
+package com.zhongzheng.modules.user.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 【请填写功能名称】视图对象 mall_package
+ *
+ * @author change
+ * @date 2021-06-24
+ */
+@Data
+@ApiModel("【请填写功能名称】视图对象")
+public class UserApplyRecordVo {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("预约记录ID")
+    private Long subscribeId;
+
+    @ApiModelProperty("考试时间")
+    private String applyTimeStr;
+
+    private Long applyTime;
+
+    /** 课程名称 */
+    @ApiModelProperty("课程名称")
+    private String goodsName;
+
+    private Long educationTypeId;
+
+    private Long projectId;
+
+    private Long businessId;
+
+    private Long majorId;
+
+    @ApiModelProperty("业务类型")
+    private String businessName;
+
+    @ApiModelProperty("专业名称")
+    private String majorName;
+
+    @ApiModelProperty("是否新考:1是 0否")
+    private Integer applyNew;
+
+    @ApiModelProperty("出考状态:1正常 2缺考 3作弊 4替考")
+    private Integer examStatus;
+
+    @ApiModelProperty("考试状态:1通过 0不通过")
+    private Integer applyStatus;
+
+    @ApiModelProperty("成绩")
+    private BigDecimal performance;
+
+    private String applyStarTime;
+
+    private String applyEndTime;
+
+}

+ 54 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserPromiseRecordVo.java

@@ -0,0 +1,54 @@
+package com.zhongzheng.modules.user.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 【请填写功能名称】视图对象 mall_package
+ *
+ * @author change
+ * @date 2021-06-24
+ */
+@Data
+@ApiModel("【请填写功能名称】视图对象")
+public class UserPromiseRecordVo {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long id;
+
+    @ApiModelProperty("上传时间")
+    private Long uploadTime;
+
+    @ApiModelProperty("课程名称")
+    private String goodsName;
+
+    private Long educationTypeId;
+
+    private Long projectId;
+
+    private Long businessId;
+
+    private Long majorId;
+
+    private String keyValue;
+
+    @ApiModelProperty("业务类型")
+    private String businessName;
+
+    @ApiModelProperty("专业名称")
+    private String majorName;
+
+    @ApiModelProperty("签名状态:1已签名")
+    private Integer signStatus;
+
+    @ApiModelProperty("盖章状态:1已盖章 0待盖章")
+    private Integer stampStatus;
+
+    @ApiModelProperty("承诺书地址")
+    private String promiseUrl;
+
+}

+ 12 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/vo/UserUsbRecordVo.java

@@ -44,9 +44,21 @@ public class UserUsbRecordVo {
     @ApiModelProperty("预约状态:1已预约 2已取消 3已过期")
     private Integer subscribeStatus;
 
+    @ApiModelProperty("专业名称")
+    private String majorName;
+
+    @ApiModelProperty("考试时间")
+    private String applyTimeStr;
+
     @ApiModelProperty("考试时间")
     private Long applyTime;
 
+    @ApiModelProperty("考试开始时间")
+    private String applyStarTime;
+
+    @ApiModelProperty("考试结束时间")
+    private String applyEndTime;
+
     @ApiModelProperty("考试地点")
     private String applyAddress;
 

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

@@ -2027,4 +2027,69 @@
         </if>
         order by cgu.create_time desc
     </select>
+
+    <select id="getListUserSubscribe" resultType="com.zhongzheng.modules.user.vo.UserUsbRecordVo" parameterType="com.zhongzheng.modules.user.bo.UserUsbRecordBo">
+        SELECT
+            us.subscribe_id,
+            us.create_time,
+            g.goods_name,
+            CONCAT(cet.education_name,'-',cb.business_name,cpt.project_name) AS businessName,
+            m.category_name AS majorName,
+            us.subscribe_status,
+            us.apply_site_exam_time AS applyTime,
+            us.apply_site_start_time AS applyStarTime,
+            us.apply_site_end_time AS applyEndTime,
+            us.apply_site_address AS applyAddress,
+            '自带文具、身份证' AS remark
+        FROM user_subscribe us
+                 LEFT JOIN order_goods og ON us.order_goods_id = og.order_goods_id
+                 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
+                 LEFT JOIN major m ON g.major_id = m.id
+        WHERE 1=1 AND us.exam_status = 0
+        <if test="userId != null and userId !='' ">
+            AND us.user_id = #{userId}
+        </if>
+        <if test="subStartTime != null and subStartTime !='' ">
+            AND us.create_time &gt;= #{subStartTime}
+        </if>
+        <if test="subEndTime != null and subStartTime !='' ">
+            AND us.create_time &lt;= #{subEndTime}
+        </if>
+        <if test="educationTypeId != null and educationTypeId !='' ">
+            AND cet.id = #{educationTypeId}
+        </if>
+        <if test="businessId != null and businessId !='' ">
+            AND cb.id = #{businessId}
+        </if>
+        <if test="majorId != null and majorId !='' ">
+            AND m.id = #{majorId}
+        </if>
+        <if test="goodsName != null and goodsName !='' ">
+            AND g.goods_name = #{goodsName}
+        </if>
+        <if test="subscribeStatus != null and subscribeStatus != 3">
+            AND us.subscribe_status = #{subscribeStatus}
+        </if>
+        <if test="subscribeStatus != null and subscribeStatus == 3">
+            AND us.subscribe_status = 1 AND (TIME_TO_SEC(us.apply_site_end_time) + us.apply_site_exam_time) &lt; UNIX_TIMESTAMP()
+        </if>
+        <if test="applySiteExamTime != null and applySiteExamTime != '' ">
+            and us.apply_site_exam_time = #{applySiteExamTime}
+        </if>
+        <if test="monthStartTime != null and monthStartTime != '' ">
+            and us.apply_site_exam_time &gt;= #{monthStartTime}
+        </if>
+        <if test="monthEndTime != null and monthEndTime != '' ">
+            and us.apply_site_exam_time &lt;= #{monthEndTime}
+        </if>
+        <if test="applySiteStartTime != null and applySiteStartTime != '' ">
+            and us.apply_site_start_time = #{applySiteStartTime}
+        </if>
+        <if test="applySiteEndTime != null and applySiteEndTime != '' ">
+            and us.apply_site_end_time = #{applySiteEndTime}
+        </if>
+    </select>
 </mapper>

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

@@ -780,4 +780,141 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             subscribe_id = #{subscribeId}
     </update>
 
+    <select id="listUserApply" parameterType="com.zhongzheng.modules.user.bo.UserApplyRecordBo" resultType="com.zhongzheng.modules.user.vo.UserApplyRecordVo">
+        SELECT
+        us.subscribe_id,
+        us.exam_status,
+        us.result as applyStatus,
+        us.performance,
+        us.create_time,
+        g.goods_name,
+        CONCAT(cet.education_name,'-',cb.business_name,cpt.project_name) AS businessName,
+        m.category_name AS majorName,
+        us.subscribe_status,
+        us.apply_site_exam_time AS applyTime,
+        us.apply_site_start_time AS applyStarTime,
+        us.apply_site_end_time AS applyEndTime,
+        CASE
+        WHEN    (
+        SELECT
+        COUNT( usu.order_goods_id )
+        FROM
+        user_subscribe usu
+        WHERE
+        usu.user_id = us.user_id
+        AND usu.order_goods_id = us.order_goods_id
+        AND usu.subscribe_status = 1
+        ) = 1
+        THEN 1
+        WHEN    (
+        SELECT
+        COUNT( usu.order_goods_id )
+        FROM
+        user_subscribe usu
+        WHERE
+        usu.user_id = us.user_id
+        AND usu.order_goods_id = us.order_goods_id
+        AND usu.subscribe_status = 1
+        ) >1
+        THEN 2
+        ELSE 0 END
+        AS applyNew
+        FROM user_subscribe us
+        LEFT JOIN order_goods og ON us.order_goods_id = og.order_goods_id
+        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
+        LEFT JOIN major m ON g.major_id = m.id
+        WHERE 1=1 AND us.exam_status != 0
+        <if test="userId != null and userId !='' ">
+            AND us.user_id = #{userId}
+        </if>
+        <if test="applyStartTime != null and applyStartTime !=''">
+            AND us.apply_site_exam_time &gt;= #{applyStartTime}
+        </if>
+        <if test="applyEndTime != null and applyEndTime !=''">
+            AND us.apply_site_exam_time &lt;= #{applyEndTime}
+        </if>
+        <if test="educationTypeId != null and educationTypeId !='' ">
+            AND cet.id = #{educationTypeId}
+        </if>
+        <if test="businessId != null and businessId !='' ">
+            AND cb.id = #{businessId}
+        </if>
+        <if test="majorId != null and majorId !='' ">
+            AND m.id = #{majorId}
+        </if>
+        <if test="goodsName != null and goodsName !='' ">
+            AND g.goods_name = #{goodsName}
+        </if>
+        <if test="applyStatus != null ">
+            AND us.result = #{applyStatus}
+        </if>
+        <if test="applyNew != null and applyNew == 1">
+            AND (
+            SELECT
+            COUNT( usu.order_goods_id )
+            FROM
+            user_subscribe usu
+            WHERE
+            usu.user_id = us.user_id
+            AND usu.order_goods_id = us.order_goods_id
+            AND usu.subscribe_status = 1
+            ) = 1
+        </if>
+        <if test="applyNew != null and applyNew == 0">
+            AND (
+            SELECT
+            COUNT( usu.order_goods_id )
+            FROM
+            user_subscribe usu
+            WHERE
+            usu.user_id = us.user_id
+            AND usu.order_goods_id = us.order_goods_id
+            AND usu.subscribe_status = 1
+            ) &gt; 1
+        </if>
+    </select>
+
+    <select id="listPromise" parameterType="com.zhongzheng.modules.user.bo.UserPromiseRecordBo" resultType="com.zhongzheng.modules.user.vo.UserPromiseRecordVo">
+        SELECT
+            up.id,
+            up.create_time as uploadTime,
+            up.key_value,
+            g.goods_name,
+            CONCAT(cet.education_name,'-',cb.business_name,cpt.project_name) AS businessName,
+            m.category_name AS majorName,
+            1 AS signStatus
+        FROM
+            user_profile up
+                LEFT JOIN goods g ON up.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
+                LEFT JOIN major m ON g.major_id = m.id
+        WHERE up.`status` != -1 AND up.current_status = 1
+        <if test="userId != null and userId !='' ">
+            AND up.user_id = #{userId}
+        </if>
+        <if test="uploadStartTime != null and uploadStartTime !=''">
+            AND up.create_time &gt;= #{uploadStartTime}
+        </if>
+        <if test="uploadEndTime != null and uploadEndTime !=''">
+            AND up.create_time &lt;= #{uploadEndTime}
+        </if>
+        <if test="educationTypeId != null and educationTypeId !='' ">
+            AND cet.id = #{educationTypeId}
+        </if>
+        <if test="businessId != null and businessId !='' ">
+            AND cb.id = #{businessId}
+        </if>
+        <if test="majorId != null and majorId !='' ">
+            AND m.id = #{majorId}
+        </if>
+        <if test="goodsName != null and goodsName !='' ">
+            AND g.goods_name = #{goodsName}
+        </if>
+    </select>
+
 </mapper>