图片上传
@ -27,6 +27,7 @@
|
|||||||
import com.ruoyi.wgz.bo.rests.WgzAutonymAnnex;
|
import com.ruoyi.wgz.bo.rests.WgzAutonymAnnex;
|
||||||
import com.ruoyi.wgz.bo.req.*;
|
import com.ruoyi.wgz.bo.req.*;
|
||||||
import com.ruoyi.wgz.domain.WgzAttendance;
|
import com.ruoyi.wgz.domain.WgzAttendance;
|
||||||
|
import com.ruoyi.wgz.domain.WgzMessage;
|
||||||
import com.ruoyi.wgz.domain.WgzPayCalculation;
|
import com.ruoyi.wgz.domain.WgzPayCalculation;
|
||||||
import com.ruoyi.wgz.domain.WgzQuestionsConfiguration;
|
import com.ruoyi.wgz.domain.WgzQuestionsConfiguration;
|
||||||
import com.ruoyi.wgz.service.*;
|
import com.ruoyi.wgz.service.*;
|
||||||
@ -554,6 +555,16 @@
|
|||||||
return iWgzMessageService.userGetMessageList(req);
|
return iWgzMessageService.userGetMessageList(req);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 【消息】【报名消息】 系统消息详情
|
||||||
|
*/
|
||||||
|
@ApiOperation("【消息】【报名消息】 系统消息详情")
|
||||||
|
//@PreAuthorize("@ss.hasPermi('wgzApp:user:userRegistrationInformation')")
|
||||||
|
@GetMapping("/WgzAppUserSystemMessageDetails/{messageId}")
|
||||||
|
public AjaxResult<WgzMessage> userSystemMessageDetails(@NotNull(message = "消息主键ID不能为空") @PathVariable("messageId") Long messageId) {
|
||||||
|
return AjaxResult.success(iWgzMessageService.queryById(messageId));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 【消息】【报名消息】 报名消息
|
* 【消息】【报名消息】 报名消息
|
||||||
*/
|
*/
|
||||||
@ -602,11 +613,16 @@
|
|||||||
Long appUserId = SecurityUtils.getAppUserId();
|
Long appUserId = SecurityUtils.getAppUserId();
|
||||||
Long recruitId;
|
Long recruitId;
|
||||||
if (req.getType()==1){
|
if (req.getType()==1){
|
||||||
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
|
//指定项目
|
||||||
recruitId = by.getRecruitId();
|
Long zhaoGongId = req.getZhaoGongId();
|
||||||
// if (!appUserId.equals(recruitId)){
|
if (zhaoGongId!=null && zhaoGongId > 0){
|
||||||
// throw new RuntimeException("当前用户不是该招工的申请人");
|
recruitId = zhaoGongId;
|
||||||
// }
|
}
|
||||||
|
//系统默认当前项目
|
||||||
|
else{
|
||||||
|
BgtProjectRecruitApply by = iBgtProjectRecruitApplyService.selectByUserIdProjectRecruitApplyId(appUserId);
|
||||||
|
recruitId = by.getRecruitId();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
recruitId = 0L;
|
recruitId = 0L;
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,7 @@ import org.springframework.format.annotation.DateTimeFormat;
|
|||||||
|
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
|
@ -234,7 +234,7 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
|||||||
.orderByDesc(BgtProjectRecruitApply::getId)
|
.orderByDesc(BgtProjectRecruitApply::getId)
|
||||||
.last("limit 1");
|
.last("limit 1");
|
||||||
BgtProjectRecruitApply bgtProjectRecruitApply = baseMapper.selectOne(last);
|
BgtProjectRecruitApply bgtProjectRecruitApply = baseMapper.selectOne(last);
|
||||||
if (bgtProjectRecruitApply != null && bgtProjectRecruitApply.getStatus().equals("5")) {
|
if (bgtProjectRecruitApply != null && (bgtProjectRecruitApply.getStatus().equals("5") || bgtProjectRecruitApply.getStatus().equals("3"))) {
|
||||||
re.setType("1");
|
re.setType("1");
|
||||||
}else{
|
}else{
|
||||||
re.setType("2");
|
re.setType("2");
|
||||||
@ -380,6 +380,9 @@ public class BgtProjectRecruitApplyServiceImpl extends ServicePlusImpl<BgtProjec
|
|||||||
if (coreQuert.getIsPass().equals("2")){
|
if (coreQuert.getIsPass().equals("2")){
|
||||||
throw new RuntimeException("安全教育分数未及格!");
|
throw new RuntimeException("安全教育分数未及格!");
|
||||||
}
|
}
|
||||||
|
if (coreQuert.getIsPass().equals("3")){
|
||||||
|
throw new RuntimeException("未查询到您的考试信息!");
|
||||||
|
}
|
||||||
//3-2、是否已有工地
|
//3-2、是否已有工地
|
||||||
Integer i = baseMapper.selectCount(
|
Integer i = baseMapper.selectCount(
|
||||||
new LambdaQueryWrapper<BgtProjectRecruitApply>().
|
new LambdaQueryWrapper<BgtProjectRecruitApply>().
|
||||||
|
@ -23,6 +23,9 @@ public class WgzAppAttachmentAcquisitionReq implements Serializable {
|
|||||||
@ApiModelProperty("0用户资料 1招工+用户资料")
|
@ApiModelProperty("0用户资料 1招工+用户资料")
|
||||||
private int type;
|
private int type;
|
||||||
|
|
||||||
|
@ApiModelProperty("0(系统默认当前项目) 其他为真实项目id")
|
||||||
|
private Long zhaoGongId;
|
||||||
|
|
||||||
@ApiModelProperty("0资格证书 1劳动合同 2保单 3入场材料 4电子税票 5工作明细报告")
|
@ApiModelProperty("0资格证书 1劳动合同 2保单 3入场材料 4电子税票 5工作明细报告")
|
||||||
private List<String> specifiedAttachment;
|
private List<String> specifiedAttachment;
|
||||||
|
|
||||||
|
@ -0,0 +1,75 @@
|
|||||||
|
package com.ruoyi.wgz.bo.res;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("系统消息返回")
|
||||||
|
public class WgzAppUserSystemMessageDetails implements Serializable {
|
||||||
|
|
||||||
|
@ApiModelProperty("主键自增ID")
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@ApiModelProperty("发送类型(0系统 1务工者 2包工头)")
|
||||||
|
private String senderType;
|
||||||
|
|
||||||
|
@ApiModelProperty("发送人")
|
||||||
|
private Long senderId;
|
||||||
|
|
||||||
|
@ApiModelProperty("接收类型(1务工者 2包工头)")
|
||||||
|
private String recipientType;
|
||||||
|
|
||||||
|
@ApiModelProperty("接收人")
|
||||||
|
private Long recipientId;
|
||||||
|
|
||||||
|
@ApiModelProperty("标题")
|
||||||
|
private String headline;
|
||||||
|
|
||||||
|
@ApiModelProperty("副标题")
|
||||||
|
private String subheading;
|
||||||
|
|
||||||
|
@ApiModelProperty("表ID")
|
||||||
|
private Long tableId;
|
||||||
|
|
||||||
|
@ApiModelProperty("表名")
|
||||||
|
private String tableName;
|
||||||
|
|
||||||
|
@ApiModelProperty("大类型(字典)")
|
||||||
|
private String messageLargeType;
|
||||||
|
|
||||||
|
@ApiModelProperty("小类型(字典)")
|
||||||
|
private String messageSmallType;
|
||||||
|
|
||||||
|
@ApiModelProperty("读状态(0未读 1已读)")
|
||||||
|
private String readStatus;
|
||||||
|
|
||||||
|
@ApiModelProperty("删除标志(0代表存在 2代表删除)")
|
||||||
|
private String delFlag;
|
||||||
|
|
||||||
|
@ApiModelProperty("创建者")
|
||||||
|
private String createBy;
|
||||||
|
|
||||||
|
@ApiModelProperty("创建时间")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("更新者")
|
||||||
|
private String updateBy;
|
||||||
|
|
||||||
|
@ApiModelProperty("更新时间")
|
||||||
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
|
@ApiModelProperty("备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
private String isOperation ;
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
package com.ruoyi.wgz.bo.rests;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("考试试卷实体类")
|
||||||
|
public class ExaminationPaper implements Serializable {
|
||||||
|
private String userName;
|
||||||
|
|
||||||
|
private String pass;
|
||||||
|
|
||||||
|
private String sumScore;
|
||||||
|
|
||||||
|
private ExaminationPaperOne single;
|
||||||
|
|
||||||
|
private ExaminationPaperOne multiple;
|
||||||
|
|
||||||
|
private ExaminationPaperOne estimate;
|
||||||
|
|
||||||
|
private String sign;
|
||||||
|
|
||||||
|
private String openid;
|
||||||
|
}
|
@ -0,0 +1,26 @@
|
|||||||
|
package com.ruoyi.wgz.bo.rests;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@ApiModel("考试试卷实体类")
|
||||||
|
public class ExaminationPaperOne implements Serializable {
|
||||||
|
/**
|
||||||
|
* 题目+分数
|
||||||
|
*/
|
||||||
|
private String topic;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 二级题目列表
|
||||||
|
*/
|
||||||
|
private List<ExaminationPaperTwo> list;
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
package com.ruoyi.wgz.bo.rests;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("考试试卷实体类")
|
||||||
|
public class ExaminationPaperTwo implements Serializable {
|
||||||
|
/**
|
||||||
|
* 题目内容
|
||||||
|
*/
|
||||||
|
private String questionText;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 题目选项
|
||||||
|
*/
|
||||||
|
private String options;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户填写的答案
|
||||||
|
*/
|
||||||
|
private String answer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 题目的正确答案
|
||||||
|
*/
|
||||||
|
private String correctAnswer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 答题是否正确,1 表示正确,2 表示错误
|
||||||
|
*/
|
||||||
|
private String correct;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前题目的得分
|
||||||
|
*/
|
||||||
|
private double score;
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
package com.ruoyi.wgz.bo.rests;
|
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@ApiModel("生成pdf的实体类")
|
||||||
|
public class PdfEntity implements Serializable {
|
||||||
|
// 类型
|
||||||
|
private String questionType;
|
||||||
|
// 内容
|
||||||
|
private String questionText;
|
||||||
|
// 选择
|
||||||
|
private String options;
|
||||||
|
// 用户答案
|
||||||
|
private String answer;
|
||||||
|
// 正确答案
|
||||||
|
private String correctAnswer;
|
||||||
|
// 答案是否正确(1正 2错)
|
||||||
|
private String correct;
|
||||||
|
// 用户当前题得分
|
||||||
|
private double score;
|
||||||
|
// 用户姓名
|
||||||
|
private String userName;
|
||||||
|
// 及格线及总分
|
||||||
|
private String pass;
|
||||||
|
// 用户试卷总得分
|
||||||
|
private double sumScore;
|
||||||
|
// 签名路径
|
||||||
|
private String sign;
|
||||||
|
}
|
@ -13,9 +13,12 @@ import java.io.Serializable;
|
|||||||
@Accessors(chain = true)
|
@Accessors(chain = true)
|
||||||
@ApiModel("获取当前用户的所有招工信息返回")
|
@ApiModel("获取当前用户的所有招工信息返回")
|
||||||
public class WgzAppUserAllRecruitmentTwo implements Serializable {
|
public class WgzAppUserAllRecruitmentTwo implements Serializable {
|
||||||
@ApiModelProperty("主键ID")
|
@ApiModelProperty("招工主键ID")
|
||||||
private Long recruitId;
|
private Long recruitId;
|
||||||
|
|
||||||
|
@ApiModelProperty("招工申请主键ID")
|
||||||
|
private Long recruitApplyId;
|
||||||
|
|
||||||
@ApiModelProperty("招工名称")
|
@ApiModelProperty("招工名称")
|
||||||
private String recruitName;
|
private String recruitName;
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package com.ruoyi.wgz.mapper;
|
package com.ruoyi.wgz.mapper;
|
||||||
|
|
||||||
|
import com.ruoyi.wgz.bo.rests.PdfEntity;
|
||||||
import com.ruoyi.wgz.domain.WgzQuestionSave;
|
import com.ruoyi.wgz.domain.WgzQuestionSave;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
import com.ruoyi.common.core.mybatisplus.core.BaseMapperPlus;
|
||||||
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
import com.ruoyi.common.core.mybatisplus.cache.MybatisPlusRedisCache;
|
||||||
@ -7,6 +8,7 @@ import org.apache.ibatis.annotations.CacheNamespace;
|
|||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -30,4 +32,11 @@ public interface WgzQuestionSaveMapper extends BaseMapperPlus<WgzQuestionSave> {
|
|||||||
@Select("SELECT SUM(score) AS sumScore FROM wgz_question_save WHERE user_id = #{userId} AND correct = 1")
|
@Select("SELECT SUM(score) AS sumScore FROM wgz_question_save WHERE user_id = #{userId} AND correct = 1")
|
||||||
float getSumScore(@Param("userId") Long userId);
|
float getSumScore(@Param("userId") Long userId);
|
||||||
|
|
||||||
|
//获取生成pdf所需要的数据
|
||||||
|
@Select("SELECT SUM(score) FROM wgz_question_save WHERE user_id=#{userId} AND correct=1")
|
||||||
|
double pdfSumScore (@Param("userId") Long userId);
|
||||||
|
|
||||||
|
//
|
||||||
|
@Select("SELECT c.question_type,c.question_text,c.OPTIONS,a.answer,c.correct_answer,a.correct,a.score,a.sign,a.id,a.pass,b.username FROM wgz_question_save AS a LEFT JOIN wgz_user AS b ON b.user_id=a.user_id LEFT JOIN wgz_question_bank AS c ON a.bank_id=c.id WHERE a.user_id=#{userId}")
|
||||||
|
List<PdfEntity> pdfSc (@Param("userId") Long userId);
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package com.ruoyi.wgz.service.impl;
|
|||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.ruoyi.bgt.domain.vo.BgtQuestionResult;
|
import com.ruoyi.bgt.domain.vo.BgtQuestionResult;
|
||||||
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
|
||||||
@ -13,6 +14,8 @@ import com.ruoyi.wgz.bo.WgzQuestionSaveQueryBo;
|
|||||||
import com.ruoyi.wgz.bo.req.WgzAppSubmitATestPaperReq;
|
import com.ruoyi.wgz.bo.req.WgzAppSubmitATestPaperReq;
|
||||||
import com.ruoyi.wgz.bo.res.WgzAppSubmitATestPaperRes;
|
import com.ruoyi.wgz.bo.res.WgzAppSubmitATestPaperRes;
|
||||||
import com.ruoyi.wgz.bo.res.WgzAppUserScoreQuery;
|
import com.ruoyi.wgz.bo.res.WgzAppUserScoreQuery;
|
||||||
|
import com.ruoyi.wgz.bo.rests.ExaminationPaper;
|
||||||
|
import com.ruoyi.wgz.bo.rests.PdfEntity;
|
||||||
import com.ruoyi.wgz.bo.rests.WgzAppSubmitATestPaperTwo;
|
import com.ruoyi.wgz.bo.rests.WgzAppSubmitATestPaperTwo;
|
||||||
import com.ruoyi.wgz.domain.WgzQuestionBank;
|
import com.ruoyi.wgz.domain.WgzQuestionBank;
|
||||||
import com.ruoyi.wgz.domain.WgzQuestionSave;
|
import com.ruoyi.wgz.domain.WgzQuestionSave;
|
||||||
@ -115,6 +118,9 @@ public class WgzQuestionSaveServiceImpl extends ServicePlusImpl<WgzQuestionSaveM
|
|||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public WgzAppSubmitATestPaperRes userSubmitATestPaper(WgzAppSubmitATestPaperReq req) {
|
public WgzAppSubmitATestPaperRes userSubmitATestPaper(WgzAppSubmitATestPaperReq req) {
|
||||||
|
/**
|
||||||
|
* 第一部分:计算并保存最高分试卷
|
||||||
|
*/
|
||||||
// 初始化第一次分数和当前考试的分数
|
// 初始化第一次分数和当前考试的分数
|
||||||
double scoreOne = 0.00;
|
double scoreOne = 0.00;
|
||||||
double scoreTwo = 0.00;
|
double scoreTwo = 0.00;
|
||||||
@ -173,46 +179,6 @@ public class WgzQuestionSaveServiceImpl extends ServicePlusImpl<WgzQuestionSaveM
|
|||||||
bqs.add(bqsTwo);
|
bqs.add(bqsTwo);
|
||||||
index = index+1;
|
index = index+1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// AtomicReference<Double> fenshu = new AtomicReference<>(0.0);
|
|
||||||
// AtomicInteger number = new AtomicInteger(0);
|
|
||||||
// AtomicInteger index = new AtomicInteger(0);
|
|
||||||
// req.getList().forEach(data -> {
|
|
||||||
// String correct = "";
|
|
||||||
// String pass = "";
|
|
||||||
// // 获取题库的正确答案,然后和用户的答案作对比
|
|
||||||
// WgzQuestionBank bqb = iWgzQuestionBankService.selectById(data.getBankId());
|
|
||||||
// if (bqb == null) {
|
|
||||||
// throw new RuntimeException("您的试卷被外星人卷走了!");
|
|
||||||
// } else {
|
|
||||||
// if (StringUtils.isEmpty(data.getAnswer())) {
|
|
||||||
// throw new RuntimeException("您还有题未答完!");
|
|
||||||
// }
|
|
||||||
// if (bqb.getCorrectAnswer().toLowerCase().contains(data.getAnswer().toLowerCase())) {
|
|
||||||
// correct = "1";
|
|
||||||
// fenshu.updateAndGet(v -> v + data.getScore());
|
|
||||||
// number.incrementAndGet();
|
|
||||||
// } else {
|
|
||||||
// correct = "2";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// // 记录这次的及格线和总分
|
|
||||||
// pass = configuration.getPassingScore().toString() + "," + configuration.getFullMark().toString();
|
|
||||||
// WgzQuestionSave bqsTwo = new WgzQuestionSave();
|
|
||||||
// bqsTwo.setUserId(req.getUserId());
|
|
||||||
// bqsTwo.setBankId(data.getBankId());
|
|
||||||
// bqsTwo.setAnswer(data.getAnswer());
|
|
||||||
// bqsTwo.setCorrect(correct);
|
|
||||||
// bqsTwo.setScore(data.getScore());
|
|
||||||
// //这几条数据只在每张试卷的第一条数据中存储(重复的没必要每条都存储)
|
|
||||||
// if (index.get() == 0) {
|
|
||||||
// bqsTwo.setTakeTime(req.getTakeTime());
|
|
||||||
// bqsTwo.setTimeOut(configuration.getAnswerTime());
|
|
||||||
// bqsTwo.setPass(pass);
|
|
||||||
// }
|
|
||||||
// bqs.add(bqsTwo);
|
|
||||||
// index.incrementAndGet();
|
|
||||||
// });
|
|
||||||
Double fullMark = configuration.getFullMark();
|
Double fullMark = configuration.getFullMark();
|
||||||
scoreTwo = 100.00 / fullMark * fenshu;
|
scoreTwo = 100.00 / fullMark * fenshu;
|
||||||
WgzAppSubmitATestPaperRes res = new WgzAppSubmitATestPaperRes();
|
WgzAppSubmitATestPaperRes res = new WgzAppSubmitATestPaperRes();
|
||||||
@ -238,9 +204,88 @@ public class WgzQuestionSaveServiceImpl extends ServicePlusImpl<WgzQuestionSaveM
|
|||||||
super.saveBatch(bqs);
|
super.saveBatch(bqs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* 第二部分:分离出试卷信息
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 分离试卷信息
|
||||||
|
public void two(Long userId,WgzQuestionsConfiguration configurationEntity) {
|
||||||
|
//1、组装数据
|
||||||
|
List<PdfEntity> we = baseMapper.pdfSc(userId);
|
||||||
|
if (!we.isEmpty()) {
|
||||||
|
double sumScore = baseMapper.pdfSumScore(userId);
|
||||||
|
Integer s = configurationEntity.getSingleChoice();
|
||||||
|
Integer m = configurationEntity.getMultipleChoice();
|
||||||
|
Integer e = configurationEntity.getEstimate();
|
||||||
|
ExaminationPaper examinationPaper = new ExaminationPaper();
|
||||||
|
}
|
||||||
|
// if len(we) > 0 {
|
||||||
|
// value, _ := dao.BusQuestionSave.Ctx(ctx).Where("openid", req.Openid).Where("correct", "1").Fields("sum(score)").Value()
|
||||||
|
// s := configurationEntity.SingleChoice
|
||||||
|
// m := configurationEntity.MultipleChoice
|
||||||
|
// e := configurationEntity.Estimate
|
||||||
|
// var rs *model.ExaminationPaperRes
|
||||||
|
// rs = &model.ExaminationPaperRes{
|
||||||
|
// UserName: we[0].UserName,
|
||||||
|
// Pass: we[0].Pass,
|
||||||
|
// SumScore: value.String(),
|
||||||
|
// Sign: signature.Signature,
|
||||||
|
// Openid: req.Openid,
|
||||||
|
// }
|
||||||
|
// var one = new(model.ExaminationPaperOne)
|
||||||
|
// var two = new(model.ExaminationPaperOne)
|
||||||
|
// var three = new(model.ExaminationPaperOne)
|
||||||
|
// one.Topic = "一、单选题,共" + strconv.Itoa(s) + "道题,每小题" + strconv.FormatFloat(configurationEntity.SingleScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(s)*configurationEntity.SingleScore, 'f', -1, 64) + "分"
|
||||||
|
// two.Topic = "二、多选题,共" + strconv.Itoa(m) + "道题,每小题" + strconv.FormatFloat(configurationEntity.MultipleScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(m)*configurationEntity.MultipleScore, 'f', -1, 64) + "分"
|
||||||
|
// three.Topic = "三、判断题,共" + strconv.Itoa(e) + "道题,每小题" + strconv.FormatFloat(configurationEntity.EstimateScore, 'f', -1, 64) + "分,共计" + strconv.FormatFloat(float64(e)*configurationEntity.EstimateScore, 'f', -1, 64) + "分"
|
||||||
|
// var sEntity []*model.ExaminationPaperTwo
|
||||||
|
// var mEntity []*model.ExaminationPaperTwo
|
||||||
|
// var eEntity []*model.ExaminationPaperTwo
|
||||||
|
// for _, data := range we {
|
||||||
|
// var sy *model.ExaminationPaperTwo
|
||||||
|
// sy = &model.ExaminationPaperTwo{
|
||||||
|
// QuestionText: data.QuestionText,
|
||||||
|
// Options: data.Options,
|
||||||
|
// Answer: data.Answer,
|
||||||
|
// CorrectAnswer: data.CorrectAnswer,
|
||||||
|
// Correct: data.Correct,
|
||||||
|
// Score: data.Score,
|
||||||
|
// }
|
||||||
|
// if data.QuestionType == "1" {
|
||||||
|
// sEntity = append(sEntity, sy)
|
||||||
|
// } else if data.QuestionType == "2" {
|
||||||
|
// mEntity = append(mEntity, sy)
|
||||||
|
// } else if data.QuestionType == "3" {
|
||||||
|
// eEntity = append(eEntity, sy)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// one.List = sEntity
|
||||||
|
// two.List = mEntity
|
||||||
|
// three.List = eEntity
|
||||||
|
// rs.Single = one
|
||||||
|
// rs.Multiple = two
|
||||||
|
// rs.Estimate = three
|
||||||
|
// path, errPath := Wo(rs)
|
||||||
|
// if errPath != nil {
|
||||||
|
// errPath = errors.New("生成PDF试卷出现了意外,请重新提交!")
|
||||||
|
// liberr.ErrIsNil(ctx, errPath)
|
||||||
|
// return
|
||||||
|
// } else {
|
||||||
|
// path = strings.Replace(path, "resource/public", "/wxfile", 1)
|
||||||
|
// _, err = g.DB().Insert(ctx, "bus_question_save_pdf", gdb.Map{
|
||||||
|
// "openid": req.Openid,
|
||||||
|
// "path": path,
|
||||||
|
// })
|
||||||
|
// res.PdfStr = path
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// liberr.ErrIsNil(ctx, err, "添加失败")
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public WgzAppUserScoreQuery userScoreQuery(long userId) {
|
public WgzAppUserScoreQuery userScoreQuery(long userId) {
|
||||||
WgzAppUserScoreQuery res = new WgzAppUserScoreQuery();
|
WgzAppUserScoreQuery res = new WgzAppUserScoreQuery();
|
||||||
|
@ -203,7 +203,7 @@ public class WgzUserServiceImpl extends ServicePlusImpl<WgzUserMapper, WgzUser>
|
|||||||
if(!ValidUtil.isValidBankCard(req.getCardNo())){
|
if(!ValidUtil.isValidBankCard(req.getCardNo())){
|
||||||
throw new RuntimeException("请检查银行卡!");
|
throw new RuntimeException("请检查银行卡!");
|
||||||
}
|
}
|
||||||
//0、查询当前用户是否实名了,如若已实名就无法再次实名
|
//查询当前用户是否实名了,如若已实名就无法再次实名
|
||||||
Integer count = baseMapper.selectCount(
|
Integer count = baseMapper.selectCount(
|
||||||
new LambdaQueryWrapper<WgzUser>()
|
new LambdaQueryWrapper<WgzUser>()
|
||||||
.eq(WgzUser::getUserId, req.getUserId())
|
.eq(WgzUser::getUserId, req.getUserId())
|
||||||
@ -212,6 +212,17 @@ public class WgzUserServiceImpl extends ServicePlusImpl<WgzUserMapper, WgzUser>
|
|||||||
if (count>0){
|
if (count>0){
|
||||||
throw new RuntimeException("当前用户已实名!");
|
throw new RuntimeException("当前用户已实名!");
|
||||||
}
|
}
|
||||||
|
//查询数据库中是否有同名的身份证或银行卡
|
||||||
|
Integer ct = baseMapper.selectCount(
|
||||||
|
new LambdaQueryWrapper<WgzUser>()
|
||||||
|
.and(wrapper -> wrapper
|
||||||
|
.eq(WgzUser::getIdentityCard, req.getIdentityCard())
|
||||||
|
.or()
|
||||||
|
.eq(WgzUser::getCardNo, req.getCardNo()))
|
||||||
|
);
|
||||||
|
if (ct>0){
|
||||||
|
throw new RuntimeException("当前身份证或银行卡已存在!");
|
||||||
|
}
|
||||||
//1、对指定用户进行实名认证
|
//1、对指定用户进行实名认证
|
||||||
WgzUser user = new WgzUser();
|
WgzUser user = new WgzUser();
|
||||||
BeanUtils.copyProperties(req, user);
|
BeanUtils.copyProperties(req, user);
|
||||||
|
@ -268,21 +268,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||||||
|
|
||||||
<select id="userAllRecruitment" resultType="com.ruoyi.wgz.bo.rests.WgzAppUserAllRecruitmentTwo">
|
<select id="userAllRecruitment" resultType="com.ruoyi.wgz.bo.rests.WgzAppUserAllRecruitmentTwo">
|
||||||
SELECT
|
SELECT
|
||||||
|
a.id as recruitApplyId,
|
||||||
b.id as recruitId,
|
b.id as recruitId,
|
||||||
b.recruit_name
|
CONCAT_WS('|', b.recruit_name, a.entry_time) as recruitName
|
||||||
FROM
|
FROM
|
||||||
bgt_project_recruit_apply as a
|
bgt_project_recruit_apply as a
|
||||||
LEFT JOIN bgt_project_recruit as b on(b.id = a.recruit_id)
|
LEFT JOIN bgt_project_recruit as b on(b.id = a.recruit_id)
|
||||||
WHERE
|
WHERE
|
||||||
a.user_id = #{userId}
|
a.user_id = #{userId}
|
||||||
<if test="type!=null and type!='1'">
|
<if test="type!=null and type!=1">
|
||||||
and a.status in ("3","5","6")
|
and a.status in ("3","5","6")
|
||||||
</if>
|
</if>
|
||||||
<if test="type!=null and type!='2'">
|
<if test="type!=null and type!=2">
|
||||||
and a.status in ("1","3","5","6")
|
and a.status in ("1","3","5","6")
|
||||||
</if>
|
</if>
|
||||||
and a.del_flag = "0"
|
and a.del_flag = "0"
|
||||||
GROUP BY a.recruit_id
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 2.3 MiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 5.4 MiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 267 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 6.4 MiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 5.7 MiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 290 KiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 1.6 MiB |
After Width: | Height: | Size: 1.5 MiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 2.3 MiB |
After Width: | Height: | Size: 106 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 272 KiB |
After Width: | Height: | Size: 694 KiB |
After Width: | Height: | Size: 1.0 MiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 3.4 MiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 3.4 MiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 142 KiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 524 KiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 2.2 MiB |
After Width: | Height: | Size: 2.2 MiB |