Selaa lähdekoodia

用户拥有题库商品

change 3 vuotta sitten
vanhempi
commit
fe9dc1a9a6

+ 12 - 2
zhongzheng-admin/src/main/java/com/zhongzheng/controller/user/UserSubscribeController.java

@@ -118,9 +118,19 @@ public class UserSubscribeController extends BaseController {
     public AjaxResult<UserSubscribeImport> importData(MultipartFile file) throws Exception {
         ExcelUtil<UserSubscribeImport> util = new ExcelUtil<UserSubscribeImport>(UserSubscribeImport.class);
         List<UserSubscribeImport> userSubscribeImportList = util.importExcel(file.getInputStream());
-
         List<UserSubscribeImport> userSubscribeImport = iUserSubscribeService.importData(userSubscribeImportList);
-        return util.exportExcel(userSubscribeImportList, "导入失败原因");
+        return util.exportExcel(userSubscribeImport, "导入失败原因");
+    }
+
+    @Log(title = "导入修改预约考试模板", businessType = BusinessType.IMPORT)
+    @ApiOperation("导入修改预约考试模板")
+    @PreAuthorize("@ss.hasPermi('system:apply:import')")
+    @PostMapping("/importUpdateData")
+    public AjaxResult<UserSubscribeImport> importUpdateData(MultipartFile file) throws Exception {
+        ExcelUtil<UserSubscribeImport> util = new ExcelUtil<UserSubscribeImport>(UserSubscribeImport.class);
+        List<UserSubscribeImport> userSubscribeImportList = util.importExcel(file.getInputStream());
+        List<UserSubscribeImport> userSubscribeImport = iUserSubscribeService.importUpdateData(userSubscribeImportList);
+        return util.exportExcel(userSubscribeImport, "导入失败原因");
     }
 
 }

+ 70 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/bank/QuestionController.java

@@ -0,0 +1,70 @@
+package com.zhongzheng.controller.bank;
+
+import cn.hutool.core.lang.Validator;
+import com.zhongzheng.common.annotation.Log;
+import com.zhongzheng.common.core.controller.BaseController;
+import com.zhongzheng.common.core.domain.AjaxResult;
+import com.zhongzheng.common.core.domain.model.LoginUser;
+import com.zhongzheng.common.core.page.TableDataInfo;
+import com.zhongzheng.common.enums.BusinessType;
+import com.zhongzheng.common.utils.ServletUtils;
+import com.zhongzheng.common.utils.poi.ExcelUtil;
+import com.zhongzheng.framework.web.service.TokenService;
+import com.zhongzheng.framework.web.service.WxTokenService;
+import com.zhongzheng.modules.bank.bo.QuestionAddBo;
+import com.zhongzheng.modules.bank.bo.QuestionBusinessQueryBo;
+import com.zhongzheng.modules.bank.bo.QuestionEditBo;
+import com.zhongzheng.modules.bank.bo.QuestionQueryBo;
+import com.zhongzheng.modules.bank.domain.QuestionBusiness;
+import com.zhongzheng.modules.bank.service.IQuestionBusinessService;
+import com.zhongzheng.modules.bank.service.IQuestionService;
+import com.zhongzheng.modules.bank.vo.QuestionImport;
+import com.zhongzheng.modules.bank.vo.QuestionVo;
+import com.zhongzheng.modules.course.bo.CourseQueryBo;
+import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.vo.GoodsUserQuestionVo;
+import com.zhongzheng.modules.goods.vo.GoodsUserVo;
+import com.zhongzheng.modules.goods.vo.GoodsVo;
+import com.zhongzheng.modules.user.entity.ClientLoginUser;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * 题库题目Controller
+ *
+ * @author hjl
+ * @date 2021-10-21
+ */
+@Api(value = "题库题目控制器", tags = {"题库题目管理"})
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+@RestController
+@RequestMapping("/bank/question")
+public class QuestionController extends BaseController {
+
+    private final IQuestionService iQuestionService;
+
+    private final IQuestionBusinessService iQuestionBusinessService;
+
+    private final WxTokenService wxTokenService;
+
+
+    /**
+     * 查询商品列表
+     */
+    @ApiOperation("查询用户拥有题库商品")
+    @GetMapping("/listGoodsUserQuestion")
+    public TableDataInfo<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo) {
+        startPage();
+        ClientLoginUser loginUser = wxTokenService.getLoginUser(ServletUtils.getRequest());
+        bo.setUserId(loginUser.getUser().getUserId());
+        List<GoodsUserQuestionVo> list = iQuestionService.listGoodsUserQuestionVo(bo);
+        return getDataTable(list);
+    }
+}

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/mapper/QuestionMapper.java

@@ -6,6 +6,8 @@ import com.zhongzheng.modules.bank.domain.Question;
 import com.zhongzheng.modules.bank.vo.QuestionVo;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.vo.CourseVo;
+import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.vo.GoodsUserQuestionVo;
 
 import java.util.List;
 
@@ -18,4 +20,5 @@ import java.util.List;
 public interface QuestionMapper extends BaseMapper<Question> {
     List<QuestionVo> selectList(QuestionQueryBo bo);
 
+    List<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/bank/service/IQuestionService.java

@@ -9,6 +9,8 @@ import com.zhongzheng.modules.bank.bo.QuestionQueryBo;
 import com.zhongzheng.modules.bank.domain.Question;
 import com.zhongzheng.modules.bank.vo.QuestionImport;
 import com.zhongzheng.modules.bank.vo.QuestionVo;
+import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.vo.GoodsUserQuestionVo;
 
 import java.util.Collection;
 import java.util.List;
@@ -59,4 +61,6 @@ public interface IQuestionService extends IService<Question> {
 	Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
 
 	String importQuestion(List<QuestionImport> questionList, Boolean isUpdateSupport, String operName);
+
+    List<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo);
 }

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

@@ -26,6 +26,8 @@ import com.zhongzheng.modules.course.domain.*;
 import com.zhongzheng.modules.course.service.*;
 import com.zhongzheng.modules.exam.domain.ExamKnowledge;
 import com.zhongzheng.modules.exam.service.IExamKnowledgeService;
+import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
+import com.zhongzheng.modules.goods.vo.GoodsUserQuestionVo;
 import io.micrometer.core.lang.NonNull;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -278,6 +280,11 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
         return errorLog;
     }
 
+    @Override
+    public List<GoodsUserQuestionVo> listGoodsUserQuestionVo(GoodsQueryBo bo) {
+        return baseMapper.listGoodsUserQuestionVo(bo);
+    }
+
     @Transactional(rollbackFor = Exception.class)
     public String insertByAddBoImport(QuestionAddBo bo,String errorLog,Integer no) {
         Question add = BeanUtil.toBean(bo, Question.class);

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/bo/GoodsQueryBo.java

@@ -139,4 +139,7 @@ GoodsQueryBo extends BaseEntity {
 
 	@ApiModelProperty("科目ID")
 	private Integer subjectId;
+
+	@ApiModelProperty("用户ID")
+	private Long userId;
 }

+ 229 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsUserQuestionVo.java

@@ -0,0 +1,229 @@
+package com.zhongzheng.modules.goods.vo;
+
+import com.zhongzheng.common.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+ * 商品视图对象 mall_package
+ *
+ * @author hjl
+ * @date 2021-10-12
+ */
+@Data
+@ApiModel("商品视图对象")
+public class GoodsUserQuestionVo {
+	private static final long serialVersionUID = 1L;
+
+	/** $pkColumn.columnComment */
+	@ApiModelProperty("$pkColumn.columnComment")
+	private Long goodsId;
+
+	/** 年份 */
+	@Excel(name = "年份")
+	@ApiModelProperty("年份")
+	private Long year;
+	/** 供应方(服务) */
+	@Excel(name = "供应方" , readConverterExp = "服=务")
+	@ApiModelProperty("供应方(服务)")
+	private Long supplyId;
+	/** $column.columnComment */
+	@Excel(name = "供应方" , readConverterExp = "商品类型 1视频2题库 3面授 4服务 5组合")
+	@ApiModelProperty("商品类型 1视频2题库 3面授 4服务 5组合")
+	private Long goodsType;
+	/** 教育类型id */
+	@Excel(name = "教育类型id")
+	@ApiModelProperty("教育类型id")
+	private Long educationTypeId;
+	/** 业务层次id */
+	@Excel(name = "业务层次id")
+	@ApiModelProperty("业务层次id")
+	private Long businessId;
+	/** 所属院校 */
+	@Excel(name = "所属院校")
+	@ApiModelProperty("所属院校")
+	private Long schoolId;
+	/** 所属专业 */
+	@Excel(name = "所属专业")
+	@ApiModelProperty("所属专业")
+	private Long majorId;
+	/** 商品名称 */
+	@Excel(name = "商品名称")
+	@ApiModelProperty("商品名称")
+	private String goodsName;
+	/** 标准价格 */
+	@Excel(name = "标准价格")
+	@ApiModelProperty("标准价格")
+	private BigDecimal standPrice;
+	/** 最低价格 */
+	@Excel(name = "最低价格")
+	@ApiModelProperty("最低价格")
+	private BigDecimal lowestPrice;
+	/** 状态 1有效 0无效 */
+	@Excel(name = "状态 1有效 0无效")
+	@ApiModelProperty("状态 1有效 0无效")
+	private Integer status;
+	/** 有效期开始 */
+	@Excel(name = "有效期开始")
+	@ApiModelProperty("有效期开始")
+	private Long validityStartTime;
+	/** 有效期结束 */
+	@Excel(name = "有效期结束")
+	@ApiModelProperty("有效期结束")
+	private Long validityEndTime;
+	/** 学习有效期开始 */
+	@Excel(name = "学习有效期开始")
+	@ApiModelProperty("学习有效期开始")
+	private Long studyStartTime;
+	/** 学习有效期结束 */
+	@Excel(name = "学习有效期结束")
+	@ApiModelProperty("学习有效期结束")
+	private Long studyEndTime;
+	/** 证书ID,多个,拼接 */
+	@Excel(name = "证书ID,多个,拼接")
+	@ApiModelProperty("证书ID,多个,拼接")
+	private String certificateIds;
+	/** 描述 */
+	@Excel(name = "描述")
+	@ApiModelProperty("描述")
+	private String introduce;
+	/** 适合对象 */
+	@Excel(name = "适合对象")
+	@ApiModelProperty("适合对象")
+	private String suitableObject;
+	/** 购买须知 */
+	@Excel(name = "购买须知")
+	@ApiModelProperty("购买须知")
+	private String buyNote;
+	/** PC详情 */
+	@Excel(name = "PC详情")
+	@ApiModelProperty("PC详情")
+	private String pcDetailHtml;
+	/** 手机详情 */
+	@Excel(name = "手机详情")
+	@ApiModelProperty("手机详情")
+	private String mobileDetailHtml;
+	/** 1上架 0未上架 */
+	@Excel(name = "1上架 0未上架")
+	@ApiModelProperty("1上架 0未上架")
+	private Integer goodsStatus;
+	/** 封面地址 */
+	@Excel(name = "封面地址")
+	@ApiModelProperty("封面地址")
+	private String coverUrl;
+	/** 学时 */
+	@Excel(name = "学时")
+	@ApiModelProperty("学时")
+	private Integer classHours;
+	/** 标准价格详情json */
+	@Excel(name = "标准价格详情json")
+	@ApiModelProperty("标准价格详情json")
+	private String standPriceJson;
+	/** 编码 */
+	@Excel(name = "编码")
+	@ApiModelProperty("编码")
+	private String code;
+	@ApiModelProperty("创建时间")
+	private Long createTime;
+	@ApiModelProperty("更新试卷")
+	private Long updateTime;
+	@ApiModelProperty("供应方名称")
+	private String supplyName;
+	/** 项目ID */
+	@Excel(name = "项目ID")
+	@ApiModelProperty("项目ID")
+	private Long projectId;
+
+
+	@ApiModelProperty("教育名称")
+	private String educationName;
+	@ApiModelProperty("项目名称")
+	private String projectName;
+	@ApiModelProperty("业务名称")
+	private String businessName;
+	@ApiModelProperty("学校名称")
+	private String schoolName;
+	@ApiModelProperty("专业名称")
+	private String categoryName;
+
+	/** 试听设置 */
+	@Excel(name = "试听设置")
+	@ApiModelProperty("试听设置")
+	private String goodsAuditionConfig;
+	/** 拍照设置 */
+	@Excel(name = "拍照设置")
+	@ApiModelProperty("拍照设置")
+	private String goodsPhotographConfig;
+
+	/** 试卷拍照设置 */
+	@Excel(name = "试卷拍照设置")
+	@ApiModelProperty("试卷拍照设置")
+	private String goodsPhotoExamConfig;
+	/** 播放设置 */
+	@Excel(name = "播放设置")
+	@ApiModelProperty("播放设置")
+	private String goodsPlayConfig;
+
+	@ApiModelProperty("试听配置列表")
+	private List<GoodsAuditionConfigVo> auditionList;
+
+	@ApiModelProperty("播放设置")
+	private GoodsPlayConfigVo goodsPlayConfigVo;
+
+	@ApiModelProperty("拍照设置")
+	private GoodsPhotographConfigVo goodsPhotographConfigVo;
+
+	@ApiModelProperty("试卷拍照设置")
+	private GoodsPhotoExamConfigVo goodsPhotoExamConfigVo;
+
+	@ApiModelProperty("试卷试做配置列表")
+	private List<GoodsExamConfigVo> examConfigList;
+
+	/** 试卷试做设置 */
+	@ApiModelProperty("试卷试做设置")
+	private String goodsExamConfig;
+
+	@ApiModelProperty("讲义id")
+	private Long handoutsId;
+
+	/** 模板类型置 */
+	@ApiModelProperty("模板类型置")
+	private String templateType;
+
+	/** 学时 */
+	@Excel(name = "学时")
+	@ApiModelProperty("学时")
+	private Long period;
+	/** 补考或前培开始时间 */
+	@Excel(name = "补考或前培开始时间")
+	@ApiModelProperty("补考或前培开始时间")
+	private Long makeStartTime;
+	/** 补考或前培结束时间 */
+	@Excel(name = "补考或前培结束时间")
+	@ApiModelProperty("补考或前培结束时间")
+	private Long makeEndTime;
+	/** 学习次数 */
+	@Excel(name = "学习次数")
+	@ApiModelProperty("学习次数")
+	private Long studyCount;
+
+	/** 前培和补考商品关联 */
+	@Excel(name = "前培和补考商品关联")
+	@ApiModelProperty("前培和补考商品关联")
+	private Long makeGoodsId;
+
+	/** 前培和补考商品关联 */
+	@Excel(name = "前培和补考商品关联")
+	@ApiModelProperty("前培和补考商品关联商品名")
+	private String makeGoodsName;
+
+	/** 前培和补考商品关联 */
+	@Excel(name = "前培和补考商品关联")
+	@ApiModelProperty("前培和补考商品关联编码")
+	private String makeGoodsCode;
+}

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

@@ -59,4 +59,6 @@ public interface IUserSubscribeService extends IService<UserSubscribe> {
 	boolean editCertificate(List<UserSubscribeCertificateEditBo> bo);
 
 	List<UserSubscribeImport> importData(List<UserSubscribeImport> userSubscribeImportList);
+
+	List<UserSubscribeImport> importUpdateData(List<UserSubscribeImport> userSubscribeImportList);
 }

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

@@ -342,4 +342,192 @@ public class UserSubscribeServiceImpl extends ServiceImpl<UserSubscribeMapper, U
         }
         return userSubscribeImports;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public List<UserSubscribeImport> importUpdateData(List<UserSubscribeImport> userSubscribeImportList) {
+        if (CollectionUtils.isEmpty(userSubscribeImportList)){
+            throw new IllegalArgumentException("请勿导入空表格");
+        }
+        List<UserSubscribeImport> userSubscribeImports = new ArrayList<>();
+        for (UserSubscribeImport userSubscribeImport : userSubscribeImportList) {
+            UserSubscribeEditBo userSbusciEditBo = new UserSubscribeEditBo();
+            //查询商品
+            if (StringUtils.isEmpty(userSubscribeImport.getCode())){
+                userSubscribeImport.setCause("未填商品编码");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+            Long goodsId = baseMapper.selectGoodsId(userSubscribeImport.getCode());
+            if (goodsId == null){
+                userSubscribeImport.setCause("商品编码错误");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+            userSbusciEditBo.setGoodsId(goodsId);
+            //查询学员Id
+            if (StringUtils.isEmpty(userSubscribeImport.getUserName()) || userSubscribeImport.getIdCard() == null){
+                userSubscribeImport.setCause("学员信息未填");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+            Long userId = baseMapper.selectUserId(userSubscribeImport.getUserName(),userSubscribeImport.getIdCard());
+            if (userId == null){
+                userSubscribeImport.setCause("用户信息错误");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+            userSbusciEditBo.setUserId(userId);
+
+            if (StringUtils.isEmpty(userSubscribeImport.getSubscribeStatus())){
+                userSubscribeImport.setCause("预约状态为空");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+            if (userSubscribeImport.getSubscribeStatus().equals("正常")){
+                userSbusciEditBo.setSubscribeStatus(1);
+            }
+            if (userSubscribeImport.getSubscribeStatus().equals("取消")){
+                userSbusciEditBo.setSubscribeStatus(0);
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getBeforeStatus())){
+                if (userSubscribeImport.getBeforeStatus().equals("是")) {
+                    if (!StringUtils.isEmpty(userSubscribeImport.getBeforeName())){
+                        userSubscribeImport.setCause("前培标题有误");
+                        userSubscribeImports.add(userSubscribeImport);
+                        continue;
+                    }
+                    Long beforeId = baseMapper.selectBeforeId(userSubscribeImport.getBeforeName());
+                    if (beforeId == null) {
+                        userSubscribeImport.setCause("前培标题有误");
+                        userSubscribeImports.add(userSubscribeImport);
+                        continue;
+                    }
+                    userSbusciEditBo.setBeforeStatus(1);
+                    userSbusciEditBo.setBeforeId(beforeId);
+                    userSbusciEditBo.setBeforeExpend(1);
+                }else if (userSubscribeImport.getBeforeStatus().equals("否")){
+                    userSbusciEditBo.setBeforeStatus(0);
+                }
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getExamStatus())){
+                if (userSubscribeImport.getExamStatus().equals("待登记")){
+                    userSbusciEditBo.setExamStatus(0);
+                }else if(userSubscribeImport.getExamStatus().equals("正常")){
+                    userSbusciEditBo.setExamStatus(1);
+                }else if (userSubscribeImport.getExamStatus().equals("缺考")){
+                    userSbusciEditBo.setExamStatus(2);
+                }else if (userSubscribeImport.getExamStatus().equals("作弊")){
+                    userSbusciEditBo.setExamStatus(3);
+                }else if (userSubscribeImport.getExamStatus().equals("替考")){
+                    userSbusciEditBo.setExamStatus(4);
+                }
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getResult())){
+                if (userSubscribeImport.getResult().equals("不通过")){
+                    userSbusciEditBo.setResult(0);
+                }else if(userSubscribeImport.getResult().equals("通过")){
+                    userSbusciEditBo.setResult(1);
+                }
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getCertificateCode())){
+                userSbusciEditBo.setCertificateCode(userSubscribeImport.getCertificateCode());
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getApplyName())){
+                Long applyId = baseMapper.selectApplyId(userSubscribeImport.getApplyName());
+                if (applyId == null){
+                    userSubscribeImport.setCause("考试标题有误");
+                    userSubscribeImports.add(userSubscribeImport);
+                    continue;
+                }
+                userSbusciEditBo.setApplyId(applyId);
+            }else{
+                userSubscribeImport.setCause("考试标题有误");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getStudentTypeName())){
+                if (userSubscribeImport.getStudentTypeName().equals("非补考学员")){
+                    userSbusciEditBo.setStudentType(1);
+                }else{
+                    userSbusciEditBo.setStudentType(2);
+                }
+            }else {
+                userSubscribeImport.setCause("学员报名类型有误");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteAddress())){
+                userSbusciEditBo.setApplySiteAddress(userSubscribeImport.getApplySiteAddress());
+            }else {
+                userSubscribeImport.setCause("地址未填");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+
+            if (userSubscribeImport.getApplySiteExamTime() != null){
+                userSbusciEditBo.setApplySiteExamTime(Convert.toLong(userSubscribeImport.getApplySiteExamTime().getDay()));
+            }else {
+                userSubscribeImport.setCause("考试时间未填");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteTime())){
+                String[] split = userSubscribeImport.getApplySiteTime().split("-");
+                if (split.length < 2){
+                    userSubscribeImport.setCause("考试时间段错误");
+                    userSubscribeImports.add(userSubscribeImport);
+                    continue;
+                }
+                String startTime=split[0];
+                String endTime=split[1];
+                startTime = startTime.replace(":","-");
+                endTime = endTime.replace(":","-");
+
+                userSbusciEditBo.setApplySiteStartTime(startTime);
+                userSbusciEditBo.setApplySiteEndTime(endTime);
+            }else {
+                userSubscribeImport.setCause("考试时间段未填");
+                userSubscribeImports.add(userSubscribeImport);
+                continue;
+            }
+
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteAddressTrain())){
+                userSbusciEditBo.setApplySiteAddressTrain(userSubscribeImport.getApplySiteAddressTrain());
+            }
+
+            if (userSubscribeImport.getApplySiteExamTrainTime() != null){
+                userSbusciEditBo.setApplySiteExamTrainTime(Convert.toLong(userSubscribeImport.getApplySiteExamTrainTime().getDay()));
+            }
+
+            if (!StringUtils.isEmpty(userSubscribeImport.getApplySiteTrainTime())){
+                String[] split = userSubscribeImport.getApplySiteTrainTime().split("-");
+                if (split.length < 2){
+                    userSubscribeImport.setCause("考试时间段错误");
+                    userSubscribeImports.add(userSubscribeImport);
+                    continue;
+                }
+                String startTime=split[0];
+                String endTime=split[1];
+                startTime = startTime.replace(":","-");
+                endTime = endTime.replace(":","-");
+
+                userSbusciEditBo.setApplySiteStartTrainTime(startTime);
+                userSbusciEditBo.setApplySiteEndTrainTime(endTime);
+            }
+
+            userSbusciEditBo.setUpdateTime(DateUtils.getNowTime());
+            this.updateByEditBo(userSbusciEditBo);
+        }
+        return userSubscribeImports;
+    }
 }

+ 90 - 0
zhongzheng-system/src/main/resources/mapper/modules/bank/QuestionMapper.xml

@@ -106,6 +106,58 @@
         <result property="knowledgeName" column="knowledge_name"/>
     </resultMap>
 
+    <resultMap type="com.zhongzheng.modules.goods.vo.GoodsUserQuestionVo" id="GoodsUserQuestionVo">
+        <result property="goodsId" column="goods_id"/>
+        <result property="year" column="year"/>
+        <result property="supplyId" column="supply_id"/>
+        <result property="goodsType" column="goods_type"/>
+        <result property="educationTypeId" column="education_type_id"/>
+        <result property="businessId" column="business_id"/>
+        <result property="schoolId" column="school_id"/>
+        <result property="majorId" column="major_id"/>
+        <result property="goodsName" column="goods_name"/>
+        <result property="standPrice" column="stand_price"/>
+        <result property="lowestPrice" column="lowest_price"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="status" column="status"/>
+        <result property="validityStartTime" column="validity_start_time"/>
+        <result property="validityEndTime" column="validity_end_time"/>
+        <result property="studyStartTime" column="study_start_time"/>
+        <result property="studyEndTime" column="study_end_time"/>
+        <result property="certificateIds" column="certificate_ids"/>
+        <result property="introduce" column="introduce"/>
+        <result property="suitableObject" column="suitable_object"/>
+        <result property="buyNote" column="buy_note"/>
+        <result property="pcDetailHtml" column="pc_detail_html"/>
+        <result property="mobileDetailHtml" column="mobile_detail_html"/>
+        <result property="goodsStatus" column="goods_status"/>
+        <result property="coverUrl" column="cover_url"/>
+        <result property="classHours" column="class_hours"/>
+        <result property="standPriceJson" column="stand_price_json"/>
+        <result property="code" column="code"/>
+        <result property="projectId" column="project_id"/>
+        <result property="goodsAuditionConfig" column="goods_audition_config"/>
+        <result property="goodsPhotographConfig" column="goods_photograph_config"/>
+        <result property="goodsPlayConfig" column="goods_play_config"/>
+        <result property="goodsExamConfig" column="goods_exam_config"/>
+
+        <result property="supplyName" column="supply_name"/>
+        <result property="educationName" column="education_name"/>
+        <result property="projectName" column="project_name"/>
+        <result property="businessName" column="business_name"/>
+        <result property="schoolName" column="school_name"/>
+        <result property="categoryName" column="category_name"/>
+        <result property="handoutsId" column="handouts_id"/>
+        <result property="templateType" column="template_type"/>
+        <result property="period" column="period"/>
+        <result property="makeStartTime" column="make_start_time"/>
+        <result property="makeEndTime" column="make_end_time"/>
+        <result property="studyCount" column="study_count"/>
+        <result property="makeGoodsName" column="make_goods_name"/>
+        <result property="makeGoodsCode" column="make_goods_code"/>
+    </resultMap>
+
     <select id="selectList" parameterType="com.zhongzheng.modules.bank.bo.QuestionQueryBo" resultMap="QuestionResultVo">
        SELECT DISTINCT
         q.*
@@ -177,4 +229,42 @@
         </if>
 
     </select>
+
+
+    <select id="listGoodsUserQuestionVo" parameterType="com.zhongzheng.modules.bank.bo.QuestionQueryBo" resultMap="GoodsUserQuestionVo">
+        SELECT
+            g.*,
+            ps.supply_name,
+            cet.education_name,
+            cpt.project_name,
+            cb.business_name,
+            s.school_name,
+            m.category_name,
+            ot.type AS template_type,
+            ( SELECT gs.goods_name FROM goods gs WHERE 1 = 1 AND g.make_goods_id = gs.goods_id ) AS make_goods_name,
+            ( SELECT gs.CODE FROM goods gs WHERE 1 = 1 AND g.make_goods_id = gs.goods_id ) AS make_goods_code,
+            o.user_id
+        FROM
+            goods g
+                LEFT JOIN pay_supply ps ON g.supply_id = ps.supply_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 school s ON s.id = g.school_id
+                LEFT JOIN major m ON g.major_id = m.id
+                LEFT JOIN order_input_template ot ON cb.template_status = ot.id
+                LEFT JOIN goods_attached ga ON g.goods_id = ga.goods_id
+                LEFT JOIN question_business qb ON ga.major_id = qb.major_id
+                LEFT JOIN order_goods og on g.goods_id =og.goods_id
+                LEFT JOIN `order` o on o.order_sn = og.order_sn
+        WHERE
+            1 = 1
+          AND g.goods_type = 2
+          AND o.user_id=#{userId}
+          AND og.`status` =1
+          and og.pay_status in (2,3)
+          AND og.refund_status in (0,3,1)
+        GROUP BY g.goods_id
+        ORDER BY g.update_time DESC
+    </select>
 </mapper>

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

@@ -117,7 +117,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="selectUserId" parameterType="map"  resultType="Long">
-        SELECT u.userId FROM `user` u where u.renalname=#{userName} and u.id_card=#{idCard}
+        SELECT u.user_id FROM `user` u where u.realname=#{userName} and u.id_card=#{idCard}
     </select>
 
     <select id="selectBeforeId" parameterType="map"  resultType="Long">