提交 27153e05 authored 作者: malei's avatar malei

feat(statistics): statistics

1.分析模块移植 References: N/A
上级 ac1dffd6
......@@ -9,8 +9,8 @@ import com.zrqx.core.util.response.CallBack;
import io.swagger.annotations.ApiOperation;
@FeignClient(value = "sysuser", fallback = SysuerHystric.class)
public interface SysuserClient {
@FeignClient(value = "sysuser", fallback = WebLogHystric.class)
public interface WebLogClient {
@ApiOperation(value = "保存日志", notes = "/save")
@PostMapping("/bg/log/save")
......
......@@ -8,9 +8,9 @@ import com.zrqx.core.commons.model.sysuser.Log;
import com.zrqx.core.util.response.CallBack;
@Component
public class SysuerHystric implements SysuserClient {
public class WebLogHystric implements WebLogClient {
private static final Logger logger = LoggerFactory.getLogger(SysuerHystric.class);
private static final Logger logger = LoggerFactory.getLogger(WebLogHystric.class);
@Override
public CallBack<Boolean> saveLog(Log log) {
......
......@@ -9,7 +9,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import com.zrqx.core.client.weblog.SysuserClient;
import com.zrqx.core.client.weblog.WebLogClient;
import com.zrqx.core.commons.model.sysuser.Log;
import com.zrqx.core.commons.redis.Redis;
import com.zrqx.core.util.log.LogUtils;
......@@ -39,7 +39,7 @@ public class WebLogAspect {
private Redis redis;
@Autowired
private SysuserClient sysuserClient;
private WebLogClient webLogClient;
/**
......@@ -57,7 +57,7 @@ public class WebLogAspect {
//构建log
Log log = LogUtils.getLog(joinPoint, apiOperation, this.getClass(), redis.getUser().getUserName(), IPUtil.getIpAddr(request));
sysuserClient.saveLog(log);
webLogClient.saveLog(log);
return log.getResult();
}
......
package com.zrqx.core.commons.model.resource.questionlibrary;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* 考试记录详细 ExamRecordInfo entity. @author MyEclipse Persistence Tools
*/
@Data
@ApiModel(value = "ExamRecordInfo", description = "考试记录详细")
@Table(name = "res_examrecordinfo")
public class ExamRecordInfo implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 6565591180614931677L;
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("考试记录详细id")
private Integer id;
@ApiModelProperty("所属考试记录id")
private Integer recordid;
@ApiModelProperty("试卷详细id")
private String exampaperinfoid;
@ApiModelProperty("父级试卷详细id")
private String parentexaminfoid;
@ApiModelProperty("试题类型")
private Integer questionType;
@ApiModelProperty("试题标题")
private String title;
@ApiModelProperty("试题内容")
private String content;
@ApiModelProperty("答案a")
private String answer1;
@ApiModelProperty("答案b")
private String answer2;
@ApiModelProperty("答案c")
private String answer3;
@ApiModelProperty("答案d")
private String answer4;
@ApiModelProperty("答案e")
private String answer5;
@ApiModelProperty("答案f")
private String answer6;
@ApiModelProperty("考生答案")
private String stuanswer;
@ApiModelProperty("正确答案")
private String rightanswer;
@ApiModelProperty("试题解析")
private String analysis;
@ApiModelProperty("试题分数")
private Integer score;
@ApiModelProperty("题号")
private Integer sort;
@ApiModelProperty("是否答对0 错误1正确")
private Integer isRight;
@ApiModelProperty("考生得分")
private Integer stuscore;
@ApiModelProperty("用户id")
private String review;
@ApiModelProperty("教师id")
private String teacerId;// 教师id
@ApiModelProperty("批阅时间")
private Date readtime;// 批阅时间
@ApiModelProperty("年份")
private String years;
@ApiModelProperty("试题id")
private Integer questionId;
}
\ No newline at end of file
package com.zrqx.core.commons.model.resource.questionlibrary;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* 学习记录详细 ExamRecordInfo entity. @author MyEclipse Persistence Tools
*/
@Data
@ApiModel(value = "StudyRecordInfo", description = "学习记录详细")
@Table(name = "res_study_recordinfo")
public class StudyRecordInfo implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -2154445576144552950L;
@Id
@GeneratedValue(generator = "JDBC")
@ApiModelProperty("学习记录详细id")
private Integer id;
@ApiModelProperty("所属考试记录id")
private String recordid;
@ApiModelProperty("试卷详细id")
private String exampaperinfoid;
@ApiModelProperty("父级试卷详细id")
private String parentexaminfoid;
@ApiModelProperty("试题类型")
private String questionType;
@ApiModelProperty("试题标题")
private String title;
@ApiModelProperty("试题内容")
private String content;
@ApiModelProperty("答案a")
private String answer1;
@ApiModelProperty("答案b")
private String answer2;
@ApiModelProperty("答案c")
private String answer3;
@ApiModelProperty("答案d")
private String answer4;
@ApiModelProperty("答案e")
private String answer5;
@ApiModelProperty("答案f")
private String answer6;
@ApiModelProperty("考生答案")
private String stuanswer;
@ApiModelProperty("正确答案")
private String rightanswer;
@ApiModelProperty("试题解析")
private String analysis;
@ApiModelProperty("试题分数")
private Integer score;
@ApiModelProperty("题号")
private Integer sort;
@ApiModelProperty("是否答对0 错误1正确")
private Integer isRight;
@ApiModelProperty("考生得分")
private Integer stuscore;
@ApiModelProperty("教师评语(论述题)")
private String review;
@ApiModelProperty("教师id")
private String teacerId;// 教师id
@ApiModelProperty("批阅时间")
private Date readtime;// 批阅时间
@ApiModelProperty("年份")
private String years;
@ApiModelProperty("试题id")
private Integer questionId;
}
\ No newline at end of file
......@@ -17,7 +17,15 @@ public enum ResponseCodeEnum {
/** 500,服务器异常" */
EXCEPTION(500,"服务器异常"),
/** 600, BaseException */
BASE_EXCEPTION(600, "BaseException");
BASE_EXCEPTION(600, "BaseException"),
/** -2,验证不通过" */
VALIDATE(-2,"验证不通过"),
/** -4 接口调用 参数类型转换异常*/
BIND_EXCEPTION(-4,"参数不合法"),
/** -5 接口调用缺少必填参数 */
MISS_EXCEPTION(-5,"缺少必填参数"),
/** -6 登录过期或未登录 */
NO_LOGIN(-6,"请重新登录");
private final int code;
private final String msg;
private ResponseCodeEnum(int code, String msg) {
......
package com.zrqx.core.enums.statistics;
/**
*
* ClassName: QueryTimeUnitEnum
* @Description: TODO
* @author lizhuo
* @date 2019年1月29日
*/
public enum QueryTimeUnitEnum {
DAY(1,"日"),
WEEK(2,"周"),
MONTH(3,"月"),
YEAR(4,"年");
//状态码
private final int value;
private final String value_zh;
private QueryTimeUnitEnum(int value, String value_zh) {
this.value = value;
this.value_zh = value_zh;
}
public int getValue() {
return value;
}
public String getValue_zh() {
return value_zh;
}
}
package com.zrqx.core.enums.statistics;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* 试题类型
* @author ydm
* @date 2019年3月17日下午9:26:42
*/
public enum QuestionTypeEnum {
TYPE_1(1,"单选"),
TYPE_2(2,"多选"),
TYPE_3(3,"判断"),
TYPE_4(4,"填空"),
TYPE_5(5,"简答"),
TYPE_6(6,"案例");
private final Integer code;
private final String name;
private QuestionTypeEnum(Integer code, String name){
this.code=code;
this.name=name;
}
/**
* 获取测试需要的试题类型
* @return
*/
public static List<QuestionTypeEnum> getExamType(){
List<QuestionTypeEnum> list = new ArrayList<QuestionTypeEnum>();
list.add(TYPE_1);
list.add(TYPE_2);
list.add(TYPE_3);
list.add(TYPE_4);
return list;
}
public static QuestionTypeEnum valueOfCode(Integer code) {
if (code == null) {
throw new IllegalArgumentException("Question Type " + code + " is blank");
}
for (QuestionTypeEnum mt : values()) {
if (mt.getCode().equals(code)) {
return mt;
}
}
throw new IllegalArgumentException("Question Type " + code + " is not exist");
}
/**
* 通过ID获取中文名称
* @param code
* @return
*/
public static String getName(Integer code) {
if (code == null) {
return null;
}
for (QuestionTypeEnum mt : values()) {
if (mt.getCode().equals(code)) {
return mt.getName();
}
}
return null;
}
/**
* 通过中文名称获取ID
* @param code
* @return
*/
public static Integer getCode(String name) {
if (StringUtils.isBlank(name)) {
return null;
}
for (QuestionTypeEnum mt : values()) {
if (mt.getName().equals(name)) {
return mt.getCode();
}
}
return null;
}
/**
* 通过ID获取中文名称
* @param code
* @return
*/
public static boolean isExists (Integer code) {
if (code == null) {
return false;
}
for (QuestionTypeEnum mt : values()) {
if (mt.getCode().equals(code)) {
return true;
}
}
return false;
}
/**
* 获取所有的枚举,以MAP返回
* @return
*/
public static HashMap<Integer,String> getAllEnumMap() {
HashMap<Integer,String> map = new HashMap<Integer,String>();
for (QuestionTypeEnum mt : values()) {
map.put(mt.getCode(), mt.getName());
}
return map;
}
public Integer getCode() {
return code;
}
public String getName() {
return name;
}
}
......@@ -138,6 +138,11 @@ public class CallBack<T> implements Serializable {
public void setData(T data) {
this.data = data;
}
public static <T> CallBack<T> validate(T data) {
return create(ResponseCodeEnum.VALIDATE,data);
}
public static <T> CallBack<T> validate() {
return fail(null);
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论