Browse Source

点读笔查询试题

master
zhizhi wu 4 years ago
parent
commit
b7f7742339
  1. 2
      src/main/java/com/ccsens/yanyuan/api/TraineeController.java
  2. 117
      src/main/java/com/ccsens/yanyuan/bean/po/EquipmentLog.java
  3. 751
      src/main/java/com/ccsens/yanyuan/bean/po/EquipmentLogExample.java
  4. 6
      src/main/java/com/ccsens/yanyuan/bean/po/ToolEquipment.java
  5. 20
      src/main/java/com/ccsens/yanyuan/bean/po/ToolEquipmentExample.java
  6. 117
      src/main/java/com/ccsens/yanyuan/bean/po/TrainAudio.java
  7. 761
      src/main/java/com/ccsens/yanyuan/bean/po/TrainAudioExample.java
  8. 13
      src/main/java/com/ccsens/yanyuan/bean/vo/TrainContentVo.java
  9. 240
      src/main/java/com/ccsens/yanyuan/mq/TalkingPenReceive.java
  10. 17
      src/main/java/com/ccsens/yanyuan/persist/dao/TrainContentDao.java
  11. 17
      src/main/java/com/ccsens/yanyuan/persist/dao/TrainEquipmentDao.java
  12. 7
      src/main/java/com/ccsens/yanyuan/persist/dao/UserRelationDao.java
  13. 30
      src/main/java/com/ccsens/yanyuan/persist/mapper/EquipmentLogMapper.java
  14. 30
      src/main/java/com/ccsens/yanyuan/persist/mapper/TrainAudioMapper.java
  15. 51
      src/main/java/com/ccsens/yanyuan/service/ConstantService.java
  16. 13
      src/main/java/com/ccsens/yanyuan/service/IConstantService.java
  17. 58
      src/main/java/com/ccsens/yanyuan/util/YanYuanConstant.java
  18. 3
      src/main/resources/application-dev.yml
  19. 3
      src/main/resources/application-prod.yml
  20. 3
      src/main/resources/application-test.yml
  21. 57
      src/main/resources/mapper_dao/TrainContentDao.xml
  22. 23
      src/main/resources/mapper_dao/TrainEquipmentDao.xml
  23. 13
      src/main/resources/mapper_dao/UserRelationDao.xml
  24. 275
      src/main/resources/mapper_raw/EquipmentLogMapper.xml
  25. 14
      src/main/resources/mapper_raw/ToolEquipmentMapper.xml
  26. 276
      src/main/resources/mapper_raw/TrainAudioMapper.xml
  27. 2
      src/main/resources/mbg.xml

2
src/main/java/com/ccsens/yanyuan/api/TraineeController.java

@ -36,7 +36,7 @@ public class TraineeController {
private ITraineeService traineeService;
@MustLogin
@ApiOperation(value = "查询用户创建的老人信息", notes = "用户身份判断")
@ApiOperation(value = "查询用户创建的老人信息", notes = "查询用户创建的老人信息")
@RequestMapping(value = "/create", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<TraineeVo.UserInfoSimple> findIdentity(@ApiParam @Validated @RequestBody QueryDto<TraineeDto.Create> params) {
log.info("查询用户创建的老人信息{}",params);

117
src/main/java/com/ccsens/yanyuan/bean/po/EquipmentLog.java

@ -0,0 +1,117 @@
package com.ccsens.yanyuan.bean.po;
import java.io.Serializable;
import java.util.Date;
public class EquipmentLog implements Serializable {
private Long id;
private Long serial;
private Byte type;
private Integer addr;
private String value;
private Long operator;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getSerial() {
return serial;
}
public void setSerial(Long serial) {
this.serial = serial;
}
public Byte getType() {
return type;
}
public void setType(Byte type) {
this.type = type;
}
public Integer getAddr() {
return addr;
}
public void setAddr(Integer addr) {
this.addr = addr;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value == null ? null : value.trim();
}
public Long getOperator() {
return operator;
}
public void setOperator(Long operator) {
this.operator = operator;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Byte getRecStatus() {
return recStatus;
}
public void setRecStatus(Byte recStatus) {
this.recStatus = recStatus;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", serial=").append(serial);
sb.append(", type=").append(type);
sb.append(", addr=").append(addr);
sb.append(", value=").append(value);
sb.append(", operator=").append(operator);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append("]");
return sb.toString();
}
}

751
src/main/java/com/ccsens/yanyuan/bean/po/EquipmentLogExample.java

@ -0,0 +1,751 @@
package com.ccsens.yanyuan.bean.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class EquipmentLogExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public EquipmentLogExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andSerialIsNull() {
addCriterion("serial is null");
return (Criteria) this;
}
public Criteria andSerialIsNotNull() {
addCriterion("serial is not null");
return (Criteria) this;
}
public Criteria andSerialEqualTo(Long value) {
addCriterion("serial =", value, "serial");
return (Criteria) this;
}
public Criteria andSerialNotEqualTo(Long value) {
addCriterion("serial <>", value, "serial");
return (Criteria) this;
}
public Criteria andSerialGreaterThan(Long value) {
addCriterion("serial >", value, "serial");
return (Criteria) this;
}
public Criteria andSerialGreaterThanOrEqualTo(Long value) {
addCriterion("serial >=", value, "serial");
return (Criteria) this;
}
public Criteria andSerialLessThan(Long value) {
addCriterion("serial <", value, "serial");
return (Criteria) this;
}
public Criteria andSerialLessThanOrEqualTo(Long value) {
addCriterion("serial <=", value, "serial");
return (Criteria) this;
}
public Criteria andSerialIn(List<Long> values) {
addCriterion("serial in", values, "serial");
return (Criteria) this;
}
public Criteria andSerialNotIn(List<Long> values) {
addCriterion("serial not in", values, "serial");
return (Criteria) this;
}
public Criteria andSerialBetween(Long value1, Long value2) {
addCriterion("serial between", value1, value2, "serial");
return (Criteria) this;
}
public Criteria andSerialNotBetween(Long value1, Long value2) {
addCriterion("serial not between", value1, value2, "serial");
return (Criteria) this;
}
public Criteria andTypeIsNull() {
addCriterion("type is null");
return (Criteria) this;
}
public Criteria andTypeIsNotNull() {
addCriterion("type is not null");
return (Criteria) this;
}
public Criteria andTypeEqualTo(Byte value) {
addCriterion("type =", value, "type");
return (Criteria) this;
}
public Criteria andTypeNotEqualTo(Byte value) {
addCriterion("type <>", value, "type");
return (Criteria) this;
}
public Criteria andTypeGreaterThan(Byte value) {
addCriterion("type >", value, "type");
return (Criteria) this;
}
public Criteria andTypeGreaterThanOrEqualTo(Byte value) {
addCriterion("type >=", value, "type");
return (Criteria) this;
}
public Criteria andTypeLessThan(Byte value) {
addCriterion("type <", value, "type");
return (Criteria) this;
}
public Criteria andTypeLessThanOrEqualTo(Byte value) {
addCriterion("type <=", value, "type");
return (Criteria) this;
}
public Criteria andTypeIn(List<Byte> values) {
addCriterion("type in", values, "type");
return (Criteria) this;
}
public Criteria andTypeNotIn(List<Byte> values) {
addCriterion("type not in", values, "type");
return (Criteria) this;
}
public Criteria andTypeBetween(Byte value1, Byte value2) {
addCriterion("type between", value1, value2, "type");
return (Criteria) this;
}
public Criteria andTypeNotBetween(Byte value1, Byte value2) {
addCriterion("type not between", value1, value2, "type");
return (Criteria) this;
}
public Criteria andAddrIsNull() {
addCriterion("addr is null");
return (Criteria) this;
}
public Criteria andAddrIsNotNull() {
addCriterion("addr is not null");
return (Criteria) this;
}
public Criteria andAddrEqualTo(Integer value) {
addCriterion("addr =", value, "addr");
return (Criteria) this;
}
public Criteria andAddrNotEqualTo(Integer value) {
addCriterion("addr <>", value, "addr");
return (Criteria) this;
}
public Criteria andAddrGreaterThan(Integer value) {
addCriterion("addr >", value, "addr");
return (Criteria) this;
}
public Criteria andAddrGreaterThanOrEqualTo(Integer value) {
addCriterion("addr >=", value, "addr");
return (Criteria) this;
}
public Criteria andAddrLessThan(Integer value) {
addCriterion("addr <", value, "addr");
return (Criteria) this;
}
public Criteria andAddrLessThanOrEqualTo(Integer value) {
addCriterion("addr <=", value, "addr");
return (Criteria) this;
}
public Criteria andAddrIn(List<Integer> values) {
addCriterion("addr in", values, "addr");
return (Criteria) this;
}
public Criteria andAddrNotIn(List<Integer> values) {
addCriterion("addr not in", values, "addr");
return (Criteria) this;
}
public Criteria andAddrBetween(Integer value1, Integer value2) {
addCriterion("addr between", value1, value2, "addr");
return (Criteria) this;
}
public Criteria andAddrNotBetween(Integer value1, Integer value2) {
addCriterion("addr not between", value1, value2, "addr");
return (Criteria) this;
}
public Criteria andValueIsNull() {
addCriterion("value is null");
return (Criteria) this;
}
public Criteria andValueIsNotNull() {
addCriterion("value is not null");
return (Criteria) this;
}
public Criteria andValueEqualTo(String value) {
addCriterion("value =", value, "value");
return (Criteria) this;
}
public Criteria andValueNotEqualTo(String value) {
addCriterion("value <>", value, "value");
return (Criteria) this;
}
public Criteria andValueGreaterThan(String value) {
addCriterion("value >", value, "value");
return (Criteria) this;
}
public Criteria andValueGreaterThanOrEqualTo(String value) {
addCriterion("value >=", value, "value");
return (Criteria) this;
}
public Criteria andValueLessThan(String value) {
addCriterion("value <", value, "value");
return (Criteria) this;
}
public Criteria andValueLessThanOrEqualTo(String value) {
addCriterion("value <=", value, "value");
return (Criteria) this;
}
public Criteria andValueLike(String value) {
addCriterion("value like", value, "value");
return (Criteria) this;
}
public Criteria andValueNotLike(String value) {
addCriterion("value not like", value, "value");
return (Criteria) this;
}
public Criteria andValueIn(List<String> values) {
addCriterion("value in", values, "value");
return (Criteria) this;
}
public Criteria andValueNotIn(List<String> values) {
addCriterion("value not in", values, "value");
return (Criteria) this;
}
public Criteria andValueBetween(String value1, String value2) {
addCriterion("value between", value1, value2, "value");
return (Criteria) this;
}
public Criteria andValueNotBetween(String value1, String value2) {
addCriterion("value not between", value1, value2, "value");
return (Criteria) this;
}
public Criteria andOperatorIsNull() {
addCriterion("operator is null");
return (Criteria) this;
}
public Criteria andOperatorIsNotNull() {
addCriterion("operator is not null");
return (Criteria) this;
}
public Criteria andOperatorEqualTo(Long value) {
addCriterion("operator =", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotEqualTo(Long value) {
addCriterion("operator <>", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorGreaterThan(Long value) {
addCriterion("operator >", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
addCriterion("operator >=", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorLessThan(Long value) {
addCriterion("operator <", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorLessThanOrEqualTo(Long value) {
addCriterion("operator <=", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorIn(List<Long> values) {
addCriterion("operator in", values, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotIn(List<Long> values) {
addCriterion("operator not in", values, "operator");
return (Criteria) this;
}
public Criteria andOperatorBetween(Long value1, Long value2) {
addCriterion("operator between", value1, value2, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotBetween(Long value1, Long value2) {
addCriterion("operator not between", value1, value2, "operator");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}
public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}
public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}
public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andRecStatusIsNull() {
addCriterion("rec_status is null");
return (Criteria) this;
}
public Criteria andRecStatusIsNotNull() {
addCriterion("rec_status is not null");
return (Criteria) this;
}
public Criteria andRecStatusEqualTo(Byte value) {
addCriterion("rec_status =", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotEqualTo(Byte value) {
addCriterion("rec_status <>", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThan(Byte value) {
addCriterion("rec_status >", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("rec_status >=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThan(Byte value) {
addCriterion("rec_status <", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
addCriterion("rec_status <=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusIn(List<Byte> values) {
addCriterion("rec_status in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotIn(List<Byte> values) {
addCriterion("rec_status not in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusBetween(Byte value1, Byte value2) {
addCriterion("rec_status between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

6
src/main/java/com/ccsens/yanyuan/bean/po/ToolEquipment.java

@ -8,7 +8,7 @@ public class ToolEquipment implements Serializable {
private Long toolId;
private Integer serial;
private Long serial;
private String name;
@ -50,11 +50,11 @@ public class ToolEquipment implements Serializable {
this.toolId = toolId;
}
public Integer getSerial() {
public Long getSerial() {
return serial;
}
public void setSerial(Integer serial) {
public void setSerial(Long serial) {
this.serial = serial;
}

20
src/main/java/com/ccsens/yanyuan/bean/po/ToolEquipmentExample.java

@ -235,52 +235,52 @@ public class ToolEquipmentExample {
return (Criteria) this;
}
public Criteria andSerialEqualTo(Integer value) {
public Criteria andSerialEqualTo(Long value) {
addCriterion("serial =", value, "serial");
return (Criteria) this;
}
public Criteria andSerialNotEqualTo(Integer value) {
public Criteria andSerialNotEqualTo(Long value) {
addCriterion("serial <>", value, "serial");
return (Criteria) this;
}
public Criteria andSerialGreaterThan(Integer value) {
public Criteria andSerialGreaterThan(Long value) {
addCriterion("serial >", value, "serial");
return (Criteria) this;
}
public Criteria andSerialGreaterThanOrEqualTo(Integer value) {
public Criteria andSerialGreaterThanOrEqualTo(Long value) {
addCriterion("serial >=", value, "serial");
return (Criteria) this;
}
public Criteria andSerialLessThan(Integer value) {
public Criteria andSerialLessThan(Long value) {
addCriterion("serial <", value, "serial");
return (Criteria) this;
}
public Criteria andSerialLessThanOrEqualTo(Integer value) {
public Criteria andSerialLessThanOrEqualTo(Long value) {
addCriterion("serial <=", value, "serial");
return (Criteria) this;
}
public Criteria andSerialIn(List<Integer> values) {
public Criteria andSerialIn(List<Long> values) {
addCriterion("serial in", values, "serial");
return (Criteria) this;
}
public Criteria andSerialNotIn(List<Integer> values) {
public Criteria andSerialNotIn(List<Long> values) {
addCriterion("serial not in", values, "serial");
return (Criteria) this;
}
public Criteria andSerialBetween(Integer value1, Integer value2) {
public Criteria andSerialBetween(Long value1, Long value2) {
addCriterion("serial between", value1, value2, "serial");
return (Criteria) this;
}
public Criteria andSerialNotBetween(Integer value1, Integer value2) {
public Criteria andSerialNotBetween(Long value1, Long value2) {
addCriterion("serial not between", value1, value2, "serial");
return (Criteria) this;
}

117
src/main/java/com/ccsens/yanyuan/bean/po/TrainAudio.java

@ -0,0 +1,117 @@
package com.ccsens.yanyuan.bean.po;
import java.io.Serializable;
import java.util.Date;
public class TrainAudio implements Serializable {
private Long id;
private Long contentId;
private String audioContent;
private String audioUrl;
private Integer audioPosition;
private Long operator;
private Date createdAt;
private Date updatedAt;
private Byte recStatus;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getContentId() {
return contentId;
}
public void setContentId(Long contentId) {
this.contentId = contentId;
}
public String getAudioContent() {
return audioContent;
}
public void setAudioContent(String audioContent) {
this.audioContent = audioContent == null ? null : audioContent.trim();
}
public String getAudioUrl() {
return audioUrl;
}
public void setAudioUrl(String audioUrl) {
this.audioUrl = audioUrl == null ? null : audioUrl.trim();
}
public Integer getAudioPosition() {
return audioPosition;
}
public void setAudioPosition(Integer audioPosition) {
this.audioPosition = audioPosition;
}
public Long getOperator() {
return operator;
}
public void setOperator(Long operator) {
this.operator = operator;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Byte getRecStatus() {
return recStatus;
}
public void setRecStatus(Byte recStatus) {
this.recStatus = recStatus;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", contentId=").append(contentId);
sb.append(", audioContent=").append(audioContent);
sb.append(", audioUrl=").append(audioUrl);
sb.append(", audioPosition=").append(audioPosition);
sb.append(", operator=").append(operator);
sb.append(", createdAt=").append(createdAt);
sb.append(", updatedAt=").append(updatedAt);
sb.append(", recStatus=").append(recStatus);
sb.append("]");
return sb.toString();
}
}

761
src/main/java/com/ccsens/yanyuan/bean/po/TrainAudioExample.java

@ -0,0 +1,761 @@
package com.ccsens.yanyuan.bean.po;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
public class TrainAudioExample {
protected String orderByClause;
protected boolean distinct;
protected List<Criteria> oredCriteria;
public TrainAudioExample() {
oredCriteria = new ArrayList<Criteria>();
}
public void setOrderByClause(String orderByClause) {
this.orderByClause = orderByClause;
}
public String getOrderByClause() {
return orderByClause;
}
public void setDistinct(boolean distinct) {
this.distinct = distinct;
}
public boolean isDistinct() {
return distinct;
}
public List<Criteria> getOredCriteria() {
return oredCriteria;
}
public void or(Criteria criteria) {
oredCriteria.add(criteria);
}
public Criteria or() {
Criteria criteria = createCriteriaInternal();
oredCriteria.add(criteria);
return criteria;
}
public Criteria createCriteria() {
Criteria criteria = createCriteriaInternal();
if (oredCriteria.size() == 0) {
oredCriteria.add(criteria);
}
return criteria;
}
protected Criteria createCriteriaInternal() {
Criteria criteria = new Criteria();
return criteria;
}
public void clear() {
oredCriteria.clear();
orderByClause = null;
distinct = false;
}
protected abstract static class GeneratedCriteria {
protected List<Criterion> criteria;
protected GeneratedCriteria() {
super();
criteria = new ArrayList<Criterion>();
}
public boolean isValid() {
return criteria.size() > 0;
}
public List<Criterion> getAllCriteria() {
return criteria;
}
public List<Criterion> getCriteria() {
return criteria;
}
protected void addCriterion(String condition) {
if (condition == null) {
throw new RuntimeException("Value for condition cannot be null");
}
criteria.add(new Criterion(condition));
}
protected void addCriterion(String condition, Object value, String property) {
if (value == null) {
throw new RuntimeException("Value for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value));
}
protected void addCriterion(String condition, Object value1, Object value2, String property) {
if (value1 == null || value2 == null) {
throw new RuntimeException("Between values for " + property + " cannot be null");
}
criteria.add(new Criterion(condition, value1, value2));
}
public Criteria andIdIsNull() {
addCriterion("id is null");
return (Criteria) this;
}
public Criteria andIdIsNotNull() {
addCriterion("id is not null");
return (Criteria) this;
}
public Criteria andIdEqualTo(Long value) {
addCriterion("id =", value, "id");
return (Criteria) this;
}
public Criteria andIdNotEqualTo(Long value) {
addCriterion("id <>", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThan(Long value) {
addCriterion("id >", value, "id");
return (Criteria) this;
}
public Criteria andIdGreaterThanOrEqualTo(Long value) {
addCriterion("id >=", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThan(Long value) {
addCriterion("id <", value, "id");
return (Criteria) this;
}
public Criteria andIdLessThanOrEqualTo(Long value) {
addCriterion("id <=", value, "id");
return (Criteria) this;
}
public Criteria andIdIn(List<Long> values) {
addCriterion("id in", values, "id");
return (Criteria) this;
}
public Criteria andIdNotIn(List<Long> values) {
addCriterion("id not in", values, "id");
return (Criteria) this;
}
public Criteria andIdBetween(Long value1, Long value2) {
addCriterion("id between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andIdNotBetween(Long value1, Long value2) {
addCriterion("id not between", value1, value2, "id");
return (Criteria) this;
}
public Criteria andContentIdIsNull() {
addCriterion("content_id is null");
return (Criteria) this;
}
public Criteria andContentIdIsNotNull() {
addCriterion("content_id is not null");
return (Criteria) this;
}
public Criteria andContentIdEqualTo(Long value) {
addCriterion("content_id =", value, "contentId");
return (Criteria) this;
}
public Criteria andContentIdNotEqualTo(Long value) {
addCriterion("content_id <>", value, "contentId");
return (Criteria) this;
}
public Criteria andContentIdGreaterThan(Long value) {
addCriterion("content_id >", value, "contentId");
return (Criteria) this;
}
public Criteria andContentIdGreaterThanOrEqualTo(Long value) {
addCriterion("content_id >=", value, "contentId");
return (Criteria) this;
}
public Criteria andContentIdLessThan(Long value) {
addCriterion("content_id <", value, "contentId");
return (Criteria) this;
}
public Criteria andContentIdLessThanOrEqualTo(Long value) {
addCriterion("content_id <=", value, "contentId");
return (Criteria) this;
}
public Criteria andContentIdIn(List<Long> values) {
addCriterion("content_id in", values, "contentId");
return (Criteria) this;
}
public Criteria andContentIdNotIn(List<Long> values) {
addCriterion("content_id not in", values, "contentId");
return (Criteria) this;
}
public Criteria andContentIdBetween(Long value1, Long value2) {
addCriterion("content_id between", value1, value2, "contentId");
return (Criteria) this;
}
public Criteria andContentIdNotBetween(Long value1, Long value2) {
addCriterion("content_id not between", value1, value2, "contentId");
return (Criteria) this;
}
public Criteria andAudioContentIsNull() {
addCriterion("audio_content is null");
return (Criteria) this;
}
public Criteria andAudioContentIsNotNull() {
addCriterion("audio_content is not null");
return (Criteria) this;
}
public Criteria andAudioContentEqualTo(String value) {
addCriterion("audio_content =", value, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentNotEqualTo(String value) {
addCriterion("audio_content <>", value, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentGreaterThan(String value) {
addCriterion("audio_content >", value, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentGreaterThanOrEqualTo(String value) {
addCriterion("audio_content >=", value, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentLessThan(String value) {
addCriterion("audio_content <", value, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentLessThanOrEqualTo(String value) {
addCriterion("audio_content <=", value, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentLike(String value) {
addCriterion("audio_content like", value, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentNotLike(String value) {
addCriterion("audio_content not like", value, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentIn(List<String> values) {
addCriterion("audio_content in", values, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentNotIn(List<String> values) {
addCriterion("audio_content not in", values, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentBetween(String value1, String value2) {
addCriterion("audio_content between", value1, value2, "audioContent");
return (Criteria) this;
}
public Criteria andAudioContentNotBetween(String value1, String value2) {
addCriterion("audio_content not between", value1, value2, "audioContent");
return (Criteria) this;
}
public Criteria andAudioUrlIsNull() {
addCriterion("audio_url is null");
return (Criteria) this;
}
public Criteria andAudioUrlIsNotNull() {
addCriterion("audio_url is not null");
return (Criteria) this;
}
public Criteria andAudioUrlEqualTo(String value) {
addCriterion("audio_url =", value, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlNotEqualTo(String value) {
addCriterion("audio_url <>", value, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlGreaterThan(String value) {
addCriterion("audio_url >", value, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlGreaterThanOrEqualTo(String value) {
addCriterion("audio_url >=", value, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlLessThan(String value) {
addCriterion("audio_url <", value, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlLessThanOrEqualTo(String value) {
addCriterion("audio_url <=", value, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlLike(String value) {
addCriterion("audio_url like", value, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlNotLike(String value) {
addCriterion("audio_url not like", value, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlIn(List<String> values) {
addCriterion("audio_url in", values, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlNotIn(List<String> values) {
addCriterion("audio_url not in", values, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlBetween(String value1, String value2) {
addCriterion("audio_url between", value1, value2, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioUrlNotBetween(String value1, String value2) {
addCriterion("audio_url not between", value1, value2, "audioUrl");
return (Criteria) this;
}
public Criteria andAudioPositionIsNull() {
addCriterion("audio_position is null");
return (Criteria) this;
}
public Criteria andAudioPositionIsNotNull() {
addCriterion("audio_position is not null");
return (Criteria) this;
}
public Criteria andAudioPositionEqualTo(Integer value) {
addCriterion("audio_position =", value, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionNotEqualTo(Integer value) {
addCriterion("audio_position <>", value, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionGreaterThan(Integer value) {
addCriterion("audio_position >", value, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionGreaterThanOrEqualTo(Integer value) {
addCriterion("audio_position >=", value, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionLessThan(Integer value) {
addCriterion("audio_position <", value, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionLessThanOrEqualTo(Integer value) {
addCriterion("audio_position <=", value, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionIn(List<Integer> values) {
addCriterion("audio_position in", values, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionNotIn(List<Integer> values) {
addCriterion("audio_position not in", values, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionBetween(Integer value1, Integer value2) {
addCriterion("audio_position between", value1, value2, "audioPosition");
return (Criteria) this;
}
public Criteria andAudioPositionNotBetween(Integer value1, Integer value2) {
addCriterion("audio_position not between", value1, value2, "audioPosition");
return (Criteria) this;
}
public Criteria andOperatorIsNull() {
addCriterion("operator is null");
return (Criteria) this;
}
public Criteria andOperatorIsNotNull() {
addCriterion("operator is not null");
return (Criteria) this;
}
public Criteria andOperatorEqualTo(Long value) {
addCriterion("operator =", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotEqualTo(Long value) {
addCriterion("operator <>", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorGreaterThan(Long value) {
addCriterion("operator >", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorGreaterThanOrEqualTo(Long value) {
addCriterion("operator >=", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorLessThan(Long value) {
addCriterion("operator <", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorLessThanOrEqualTo(Long value) {
addCriterion("operator <=", value, "operator");
return (Criteria) this;
}
public Criteria andOperatorIn(List<Long> values) {
addCriterion("operator in", values, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotIn(List<Long> values) {
addCriterion("operator not in", values, "operator");
return (Criteria) this;
}
public Criteria andOperatorBetween(Long value1, Long value2) {
addCriterion("operator between", value1, value2, "operator");
return (Criteria) this;
}
public Criteria andOperatorNotBetween(Long value1, Long value2) {
addCriterion("operator not between", value1, value2, "operator");
return (Criteria) this;
}
public Criteria andCreatedAtIsNull() {
addCriterion("created_at is null");
return (Criteria) this;
}
public Criteria andCreatedAtIsNotNull() {
addCriterion("created_at is not null");
return (Criteria) this;
}
public Criteria andCreatedAtEqualTo(Date value) {
addCriterion("created_at =", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotEqualTo(Date value) {
addCriterion("created_at <>", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThan(Date value) {
addCriterion("created_at >", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("created_at >=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThan(Date value) {
addCriterion("created_at <", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
addCriterion("created_at <=", value, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtIn(List<Date> values) {
addCriterion("created_at in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotIn(List<Date> values) {
addCriterion("created_at not in", values, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtBetween(Date value1, Date value2) {
addCriterion("created_at between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
addCriterion("created_at not between", value1, value2, "createdAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNull() {
addCriterion("updated_at is null");
return (Criteria) this;
}
public Criteria andUpdatedAtIsNotNull() {
addCriterion("updated_at is not null");
return (Criteria) this;
}
public Criteria andUpdatedAtEqualTo(Date value) {
addCriterion("updated_at =", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotEqualTo(Date value) {
addCriterion("updated_at <>", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThan(Date value) {
addCriterion("updated_at >", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
addCriterion("updated_at >=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThan(Date value) {
addCriterion("updated_at <", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
addCriterion("updated_at <=", value, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtIn(List<Date> values) {
addCriterion("updated_at in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotIn(List<Date> values) {
addCriterion("updated_at not in", values, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtBetween(Date value1, Date value2) {
addCriterion("updated_at between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
addCriterion("updated_at not between", value1, value2, "updatedAt");
return (Criteria) this;
}
public Criteria andRecStatusIsNull() {
addCriterion("rec_status is null");
return (Criteria) this;
}
public Criteria andRecStatusIsNotNull() {
addCriterion("rec_status is not null");
return (Criteria) this;
}
public Criteria andRecStatusEqualTo(Byte value) {
addCriterion("rec_status =", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotEqualTo(Byte value) {
addCriterion("rec_status <>", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThan(Byte value) {
addCriterion("rec_status >", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusGreaterThanOrEqualTo(Byte value) {
addCriterion("rec_status >=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThan(Byte value) {
addCriterion("rec_status <", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusLessThanOrEqualTo(Byte value) {
addCriterion("rec_status <=", value, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusIn(List<Byte> values) {
addCriterion("rec_status in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotIn(List<Byte> values) {
addCriterion("rec_status not in", values, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusBetween(Byte value1, Byte value2) {
addCriterion("rec_status between", value1, value2, "recStatus");
return (Criteria) this;
}
public Criteria andRecStatusNotBetween(Byte value1, Byte value2) {
addCriterion("rec_status not between", value1, value2, "recStatus");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
protected Criteria() {
super();
}
}
public static class Criterion {
private String condition;
private Object value;
private Object secondValue;
private boolean noValue;
private boolean singleValue;
private boolean betweenValue;
private boolean listValue;
private String typeHandler;
public String getCondition() {
return condition;
}
public Object getValue() {
return value;
}
public Object getSecondValue() {
return secondValue;
}
public boolean isNoValue() {
return noValue;
}
public boolean isSingleValue() {
return singleValue;
}
public boolean isBetweenValue() {
return betweenValue;
}
public boolean isListValue() {
return listValue;
}
public String getTypeHandler() {
return typeHandler;
}
protected Criterion(String condition) {
super();
this.condition = condition;
this.typeHandler = null;
this.noValue = true;
}
protected Criterion(String condition, Object value, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.typeHandler = typeHandler;
if (value instanceof List<?>) {
this.listValue = true;
} else {
this.singleValue = true;
}
}
protected Criterion(String condition, Object value) {
this(condition, value, null);
}
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
super();
this.condition = condition;
this.value = value;
this.secondValue = secondValue;
this.typeHandler = typeHandler;
this.betweenValue = true;
}
protected Criterion(String condition, Object value, Object secondValue) {
this(condition, value, secondValue, null);
}
}
}

13
src/main/java/com/ccsens/yanyuan/bean/vo/TrainContentVo.java

@ -131,4 +131,17 @@ public class TrainContentVo {
@ApiModelProperty("补充图片")
private List<Supplementary> supplementaries;
}
@Data
@ApiModel("题目对应的语音")
public static class Audio {
@ApiModelProperty("题目ID")
private Long contentId;
@ApiModelProperty("题目类型 0:训练 1:休息")
private Byte trainType;
@ApiModelProperty("语音位置")
private Integer audioPosition;
@ApiModelProperty("训练计划时间")
private Long startTime;
}
}

240
src/main/java/com/ccsens/yanyuan/mq/TalkingPenReceive.java

@ -1,16 +1,28 @@
package com.ccsens.yanyuan.mq;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.ccsens.util.bean.message.common.OutMessage;
import com.ccsens.util.bean.message.common.OutMessageSet;
import com.ccsens.common.service.IMessageService;
import com.ccsens.util.CRCUtil;
import com.ccsens.util.DateUtil;
import com.ccsens.util.RedisUtil;
import com.ccsens.util.bean.message.common.*;
import com.ccsens.yanyuan.bean.dto.message.TalkingPenDto;
import com.ccsens.yanyuan.bean.vo.TraineeVo;
import com.ccsens.yanyuan.persist.mapper.TrainEquipmentMapper;
import com.ccsens.yanyuan.bean.po.EquipmentLog;
import com.ccsens.yanyuan.bean.po.ToolEquipment;
import com.ccsens.yanyuan.bean.po.ToolEquipmentExample;
import com.ccsens.yanyuan.bean.vo.TrainContentVo;
import com.ccsens.yanyuan.persist.dao.TrainContentDao;
import com.ccsens.yanyuan.persist.dao.TrainEquipmentDao;
import com.ccsens.yanyuan.persist.dao.UserRelationDao;
import com.ccsens.yanyuan.persist.mapper.EquipmentLogMapper;
import com.ccsens.yanyuan.persist.mapper.ToolEquipmentMapper;
import com.ccsens.yanyuan.service.IConstantService;
import com.ccsens.yanyuan.util.YanYuanConstant;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
@ -18,6 +30,7 @@ import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.*;
import java.util.concurrent.atomic.AtomicReference;
/**
* @description:
@ -30,10 +43,26 @@ import java.util.*;
public class TalkingPenReceive {
@Resource
private TrainEquipmentMapper trainEquipmentMapper;
private RedisUtil redisUtil;
@Resource
private IMessageService messageService;
@Resource
private Snowflake snowflake;
@Resource
private TrainEquipmentDao trainEquipmentDao;
@Resource
private ToolEquipmentMapper toolEquipmentMapper;
@Resource
private IConstantService constantService;
@Resource
private UserRelationDao userRelationDao;
@Resource
private TrainContentDao trainContentDao;
@Resource
private EquipmentLogMapper equipmentLogMapper;
@RabbitHandler
public void process(String messageJson){
public void process(String messageJson) throws Exception {
log.info("接收到消息系统点读笔相关的消息:{}", messageJson);
OutMessageSet outMessageSet = JSONObject.parseObject(messageJson, OutMessageSet.class);
if (ObjectUtil.isNull(outMessageSet)) {
@ -62,31 +91,168 @@ public class TalkingPenReceive {
dealQuestion(messageMap.get(type).get(0));
break;
default:
// 处理过程
dealProcess(messageMap.get(TalkingPenDto.Type.PACKAGE).get(0), messageMap.get(TalkingPenDto.Type.FRAME).get(0), messageMap.get(TalkingPenDto.Type.PROCESS));
break;
}
}
// 处理过程通知
// 存储日志表
log.info("点读笔消息处理完成");
saveLog(messageMap);
log.info("保存日志");
}
/**
* 存储日志
* @param messageMap 数据信息
*/
private void saveLog(Map<Byte, List<TalkingPenDto>> messageMap) {
List<Byte> keys = CollectionUtil.sort(messageMap.keySet(), Byte::compare);
StringBuilder builder = new StringBuilder();
TalkingPenDto first = new TalkingPenDto();
keys.forEach(key -> CollectionUtil.sort(messageMap.get(key),
Comparator.comparingInt(TalkingPenDto::getAddr))
.forEach(dto->{
if (first.getAuthId() == null) {
first.setAuthId(dto.getAuthId());
first.setAddr(dto.getAddr());
}
builder.append(dto.getValue()).append(",");
}));
EquipmentLog log = new EquipmentLog();
log.setId(snowflake.nextId());
log.setSerial(Long.parseLong(first.getAuthId()));
log.setAddr(first.getAddr());
log.setValue(builder.toString());
equipmentLogMapper.insertSelective(log);
}
log.info("点读笔消息处理完成");
/**
* 处理过程日志
* @param packageDto
* @param frameDto
* @param processList 坐标数据
*/
private void dealProcess(TalkingPenDto packageDto, TalkingPenDto frameDto, List<TalkingPenDto> processList) {
System.out.println(packageDto + "" + frameDto + processList);
}
/**
* 处理查询试题
* @param talkingPen 试题
*/
private void dealQuestion(TalkingPenDto talkingPen) {
private void dealQuestion(TalkingPenDto talkingPen) throws Exception {
// 查找点读笔
ToolEquipment toolEquipment = getToolEquipment(talkingPen.getAuthId());
if (toolEquipment == null) {
return;
}
Long equipmentId = toolEquipment.getId();
// 查找使用者
Long keyUserId = getUser(equipmentId, talkingPen.getAuthId());
if (keyUserId < 0) {
return;
}
// 查找题目
TrainContentVo.Audio nextPlan = getNextPlan(talkingPen, equipmentId, keyUserId, talkingPen.getAuthId());
log.info("{}的下一个训练计划:{}", equipmentId, nextPlan);
if (nextPlan == null) {
return;
}
String key = StrUtil.format(YanYuanConstant.Equipment.TALKING_PEN_QUESTION, equipmentId, keyUserId);
redisUtil.set(key, nextPlan, YanYuanConstant.DAY_TIME / 1000);
//通知点读笔
sendAudio(nextPlan.getAudioPosition() == null ? YanYuanConstant.Equipment.AUDIO_DEFAULT : nextPlan.getAudioPosition(), talkingPen.getAuthId());
}
private TrainContentVo.Audio getNextPlan(TalkingPenDto talkingPen, Long equipmentId, Long keyUserId, String serial) throws Exception {
String key = StrUtil.format(YanYuanConstant.Equipment.TALKING_PEN_QUESTION, equipmentId, keyUserId);
Object o = redisUtil.get(key);
log.info("{}的缓存对象:{}", key, o);
// 今天开始的时间
Date now = new Date();
long todayBegin = DateUtil.beginOfDay(now).getTime();
TrainContentVo.Audio audio;
if (ObjectUtil.isNull(o)) {
// 查询今天的第一个训练计划
audio = trainContentDao.getFirst(keyUserId, todayBegin);
if (audio == null) {
// 提醒登录小程序进行脑力测评
sendAudio(YanYuanConstant.Equipment.AUDIO_MENTAL, serial);
return null;
}
} else {
TrainContentVo.Audio audioRedis = (TrainContentVo.Audio) o;
audio = trainContentDao.getNext(audioRedis.getContentId(), talkingPen.getValue());
if (audio == null) {
if (talkingPen.getValue() != YanYuanConstant.Equipment.NEXT) {
// 上一道为空 提醒没有更多题目
sendAudio(YanYuanConstant.Equipment.AUDIO_TRAIN_PLAN_NO, serial);
return null;
}
// 下一道为空
//当前题目日期小于今天 提醒登录小程序进行脑力测评, 否则 提醒没有更多题目
int audioIndex = audioRedis.getStartTime() < todayBegin ? YanYuanConstant.Equipment.AUDIO_MENTAL : YanYuanConstant.Equipment.AUDIO_TRAIN_PLAN_NO;
sendAudio(audioIndex, serial);
return null;
}
}
return audio;
}
/**
* 查询设备的使用者ID
* @param equipmentId 设备ID
* @return 使用者ID
*/
private Long getUser(Long equipmentId, String authId) throws Exception {
// 查询时间
String key = YanYuanConstant.Equipment.VALID_TIME_KEY;
String value = constantService.getValue(key);
Long time = System.currentTimeMillis() - Long.parseLong(value) * YanYuanConstant.DAY_TIME;
Long keyUserId = trainEquipmentDao.queryRecentUserId(equipmentId, time);
log.info("{}有效期内选择的用户:{}", equipmentId, keyUserId);
if (keyUserId != null) {
return keyUserId;
}
// 查询购买者关联的用户
List<Long> userIds = userRelationDao.countUserByEquipment(equipmentId);
log.info("{}关联的使用者:{}", equipmentId, userIds);
if (CollectionUtil.isEmpty(userIds)) {
sendAudio(YanYuanConstant.Equipment.AUDIO_NO_TRAINEE, authId);
return YanYuanConstant.Equipment.BIND_USER_NUM_ZERO;
} else if (userIds.size() == 1) {
return userIds.get(0);
} else {
sendAudio(YanYuanConstant.Equipment.AUDIO_MORE_TRAINEE, authId);
return YanYuanConstant.Equipment.BIND_USER_NUM_MORE;
}
}
/**
* 查询设备信息
* @param authId 授权ID
* @return 设备
*/
private ToolEquipment getToolEquipment(String authId) {
long serial = Long.parseLong(authId);
ToolEquipmentExample toolEquipmentExample = new ToolEquipmentExample();
toolEquipmentExample.createCriteria().andSerialEqualTo(serial);
List<ToolEquipment> toolEquipments = toolEquipmentMapper.selectByExample(toolEquipmentExample);
if (CollectionUtil.isEmpty(toolEquipments)) {
return null;
}
return toolEquipments.get(0);
}
/**
* 处理电量状态
* @param talkingPenDto 电量状态
* @param talkingPen 电量状态
*/
private void dealElectric(TalkingPenDto talkingPenDto) {
private void dealElectric(TalkingPenDto talkingPen) {
// TODO
System.out.println(talkingPen);
}
/**
@ -94,6 +260,8 @@ public class TalkingPenReceive {
* @param talkingPen wifi
*/
private void dealWifi(TalkingPenDto talkingPen) {
// TODO
System.out.println(talkingPen);
}
/**
@ -101,6 +269,8 @@ public class TalkingPenReceive {
* @param talkingPen 状态
*/
private void dealStatus(TalkingPenDto talkingPen) {
// TODO
System.out.println(talkingPen);
}
/**
@ -147,10 +317,8 @@ public class TalkingPenReceive {
break;
default:
break;
}
}
return penMessages;
}
@ -207,6 +375,50 @@ public class TalkingPenReceive {
penMap.get(low.getAddr()).used = true;
}
/**
* 通知点读笔应该播放什么语音
* @param value 语音位置
* @param talkingPenSerial 点读笔序列号标识ID
* @throws Exception 异常
*/
private void sendAudio(int value, String talkingPenSerial) throws Exception {
MessageRule messageRule = MessageRule.defaultRule(MessageConstant.DomainType.User);
messageRule.setAckRule(MessageRule.AckRule.NONE);
messageRule.setOfflineDiscard((byte) 1);
Set<String> userIdSet = new HashSet<>();
userIdSet.add(talkingPenSerial);
// 开始标志
byte[] data = new byte[14];
System.arraycopy(YanYuanConstant.ModBus.START, 0 , data, 0, YanYuanConstant.ModBus.START.length);
// 寄存器数量
data[2] = 11;
// 点读笔地址
data[3] = YanYuanConstant.ModBus.TALKING_PEN_ADDR;
// 功能码(1) 10:写多个
data[4] = YanYuanConstant.ModBus.WRITE_MORE;
// 寄存器起始地址(2)
System.arraycopy(YanYuanConstant.ModBus.AUDIO_ADDR, 0 , data, 5, YanYuanConstant.ModBus.AUDIO_ADDR.length);
// 寄存器数量(2)
data[7] = 0X00;
data[8] = 0X01;
// 寄存器长度(1) 2*寄存器数量
data[9] = 2;
// 音频顺序
data[10] = (byte) (value >> 8);
data[11] = (byte) (value & 0xFF);
// crc
byte[] crc = new byte[2];
CRCUtil.crc16(crc,data,3, data[2] - crc.length);
data[12] = crc[0];
data[13] = crc[1];
String join = ArrayUtil.join(data, ",");
InMessage inMessage = InMessage.newToUserMessage(null, userIdSet, null, messageRule, join);
log.info("给点读笔发送消息:{}", inMessage);
//发送消息
messageService.sendTo(inMessage);
}
public static class ValueUse{
TalkingPenDto talkingPen;

17
src/main/java/com/ccsens/yanyuan/persist/dao/TrainContentDao.java

@ -31,4 +31,21 @@ public interface TrainContentDao extends TrainContentMapper {
* @return 工具箱
*/
List<TrainContentVo.ScanTool> queryUserTool(@Param("recordId") Long recordId, @Param("userId") Long userId);
/**
* 查询用户指定日期的第一个训练计划
* @param keyUserId 用户
* @param startTime 日期年月日
* @return 训练计划ID + 类型 + 语音位置
*/
TrainContentVo.Audio getFirst(@Param("keyUserId") Long keyUserId, @Param("startTime") long startTime);
/**
* 获取下一个训练计划
* @param recordId 训练计划ID
* @param type 1:下一道 0上一道
* @return 下一个
*/
TrainContentVo.Audio getNext(@Param("recordId") Long recordId, @Param("type") long type);
}

17
src/main/java/com/ccsens/yanyuan/persist/dao/TrainEquipmentDao.java

@ -0,0 +1,17 @@
package com.ccsens.yanyuan.persist.dao;
import com.ccsens.yanyuan.persist.mapper.TrainEquipmentMapper;
import org.apache.ibatis.annotations.Param;
/**
* @author whj
*/
public interface TrainEquipmentDao extends TrainEquipmentMapper {
/**
* 查询最近的使用者ID
* @param equipmentId 设备ID
* @param startTime 开始时间
* @return 使用者ID
*/
Long queryRecentUserId(@Param("equipmentId") Long equipmentId, @Param("startTime") Long startTime);
}

7
src/main/java/com/ccsens/yanyuan/persist/dao/UserRelationDao.java

@ -48,4 +48,11 @@ public interface UserRelationDao extends UserRelationMapper {
* @return 使用者
*/
List<TraineeVo.UserInfoSimple> queryRelation(@Param("userId") Long userId);
/**
* 根据点读笔ID统计扫描过工具箱的用户关联的使用者数量
* @param equipmentId 点读笔ID
* @return 使用者数量
*/
List<Long> countUserByEquipment(@Param("equipmentId") Long equipmentId);
}

30
src/main/java/com/ccsens/yanyuan/persist/mapper/EquipmentLogMapper.java

@ -0,0 +1,30 @@
package com.ccsens.yanyuan.persist.mapper;
import com.ccsens.yanyuan.bean.po.EquipmentLog;
import com.ccsens.yanyuan.bean.po.EquipmentLogExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface EquipmentLogMapper {
long countByExample(EquipmentLogExample example);
int deleteByExample(EquipmentLogExample example);
int deleteByPrimaryKey(Long id);
int insert(EquipmentLog record);
int insertSelective(EquipmentLog record);
List<EquipmentLog> selectByExample(EquipmentLogExample example);
EquipmentLog selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") EquipmentLog record, @Param("example") EquipmentLogExample example);
int updateByExample(@Param("record") EquipmentLog record, @Param("example") EquipmentLogExample example);
int updateByPrimaryKeySelective(EquipmentLog record);
int updateByPrimaryKey(EquipmentLog record);
}

30
src/main/java/com/ccsens/yanyuan/persist/mapper/TrainAudioMapper.java

@ -0,0 +1,30 @@
package com.ccsens.yanyuan.persist.mapper;
import com.ccsens.yanyuan.bean.po.TrainAudio;
import com.ccsens.yanyuan.bean.po.TrainAudioExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface TrainAudioMapper {
long countByExample(TrainAudioExample example);
int deleteByExample(TrainAudioExample example);
int deleteByPrimaryKey(Long id);
int insert(TrainAudio record);
int insertSelective(TrainAudio record);
List<TrainAudio> selectByExample(TrainAudioExample example);
TrainAudio selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") TrainAudio record, @Param("example") TrainAudioExample example);
int updateByExample(@Param("record") TrainAudio record, @Param("example") TrainAudioExample example);
int updateByPrimaryKeySelective(TrainAudio record);
int updateByPrimaryKey(TrainAudio record);
}

51
src/main/java/com/ccsens/yanyuan/service/ConstantService.java

@ -0,0 +1,51 @@
package com.ccsens.yanyuan.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.common.bean.po.Constant;
import com.ccsens.common.bean.po.ConstantExample;
import com.ccsens.common.persist.mapper.ConstantMapper;
import com.ccsens.util.RedisUtil;
import com.ccsens.yanyuan.util.YanYuanConstant;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* @description:
* @author: whj
* @time: 2021/12/7 16:50
*/
@Slf4j
@Service
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public class ConstantService implements IConstantService {
@Resource
private ConstantMapper constantMapper;
@Resource
private RedisUtil redisUtil;
@Override
public String getValue(String key) {
String redisKey = YanYuanConstant.CONSTANT + key;
Object o = redisUtil.get(redisKey);
log.info("{}对应的缓存常量:{}", key, o);
if (ObjectUtil.isNotNull(o)) {
return (String)o;
}
ConstantExample constantExample = new ConstantExample();
constantExample.createCriteria().andTKeyEqualTo(key);
constantExample.setOrderByClause("id desc limit 1");
List<Constant> constants = constantMapper.selectByExample(constantExample);
if (CollectionUtil.isEmpty(constants)) {
return null;
}
String value = constants.get(0).gettValue();
redisUtil.set(redisKey, value);
return value;
}
}

13
src/main/java/com/ccsens/yanyuan/service/IConstantService.java

@ -0,0 +1,13 @@
package com.ccsens.yanyuan.service;
/**
* @author whj
*/
public interface IConstantService {
/**
* 根据key查询对应的常量值
* @param key key
* @return 常量值
*/
String getValue(String key);
}

58
src/main/java/com/ccsens/yanyuan/util/YanYuanConstant.java

@ -24,13 +24,71 @@ public class YanYuanConstant {
public static final String STRING_REGEX = ",|,|;|;|、|/";
/**一天的毫秒数*/
public static final long DAY_TIME = 24 * 3600 * 1000;
public static final String CONSTANT = "constant_";
public static class Equipment{
/**
* 点读笔一个寄存器的位数
*/
public final static byte REGISTER_BIT = 16;
/**
* 点读笔选择用户的有效时长
*/
public final static String VALID_TIME_KEY = "talking_pen_choose";
/**
* 关联0个使用者
*/
public final static long BIND_USER_NUM_ZERO = -1;
/**
* 关联多个使用者
*/
public final static long BIND_USER_NUM_MORE = -2;
/**
* 点读笔读题信息使用的redis_key talking_pen_点读笔ID_user_使用者ID
*/
public final static String TALKING_PEN_QUESTION = "talking_pen_{}_user_{}";
/**
* 点读笔试题查询下一个
*/
public final static long NEXT = 1;
/**
* 点读笔未存储题目时默认的音频
*/
public final static int AUDIO_DEFAULT = 0;
/**
* 点读笔提醒脑力测评
*/
public final static int AUDIO_MENTAL = 1;
/**
* 点读笔没有更多训练计划
*/
public final static int AUDIO_TRAIN_PLAN_NO = 2;
/**
* 未绑定用户
*/
public final static int AUDIO_NO_TRAINEE = 3;
/**
* 绑定多个用户
*/
public final static int AUDIO_MORE_TRAINEE = 4;
}
public static final class ModBus {
public final static byte[] START = {(byte) 0XFF, (byte) 0XFE};
public final static byte WRITE_MORE = 0X10;
public final static byte[] AUDIO_ADDR = {(byte)00, (byte) 03};
public final static byte TALKING_PEN_ADDR = 0x01;
}
public static class Zarit{
/**
* 测评状态创建
*/
public final static String STATE_CREATE = "create";
/**
* 测评状态完成
*/
public final static String STATE_FINISH = "finish";
}

3
src/main/resources/application-dev.yml

@ -48,3 +48,6 @@ file:
path: /home/cloud/yanyuan/uploads/
domain: https://test.tall.wiki/gateway/yanyuan/v2.0/
imgDomain: https://test.tall.wiki/gateway/yanyuan/v2.0/uploads/
mini:
appId: wx733e229f00dc5c6f
secret: 9aa0a81973cc5f13c02548b5244accc2

3
src/main/resources/application-prod.yml

@ -38,3 +38,6 @@ file:
path: /home/cloud/yanyuan/uploads/
domain: https://www.tall.wiki/gateway/yanyuan/v2.0/
imgDomain: https://www.tall.wiki/gateway/yanyuan/v2.0/uploads/
mini:
appId: wx733e229f00dc5c6f
secret: 9aa0a81973cc5f13c02548b5244accc2

3
src/main/resources/application-test.yml

@ -46,3 +46,6 @@ file:
path: /home/cloud/yanyuan/uploads/
domain: https://test.tall.wiki/gateway/yanyuan/v2.0/
imgDomain: https://test.tall.wiki/gateway/yanyuan/v2.0/uploads/
mini:
appId: wx733e229f00dc5c6f
secret: 9aa0a81973cc5f13c02548b5244accc2

57
src/main/resources/mapper_dao/TrainContentDao.xml

@ -68,4 +68,61 @@
AND e.rec_status = 0
GROUP BY t.id
</select>
<select id="getFirst" resultType="com.ccsens.yanyuan.bean.vo.TrainContentVo$Audio">
SELECT
r.id as contentId,
r.train_type as trainType,
a.audio_position as audioPosition,
r.start_time as startTime
FROM
u_train_record r
LEFT JOIN u_mental_test t ON r.key_test_id = t.key_id
LEFT JOIN t_train_audio a ON r.question_id = a.content_id AND a.rec_status = 0
WHERE
r.start_time = #{startTime}
AND t.key_user_id = #{keyUserId}
AND r.rec_status = 0
AND t.rec_status = 0
ORDER BY r.id LIMIT 1
</select>
<select id="getNext" resultType="com.ccsens.yanyuan.bean.vo.TrainContentVo$Audio">
SELECT
r.id as contentId,
r.train_type as trainType,
a.audio_position as audioPosition,
r.start_time as startTime
FROM
(
SELECT
r.id,
r.start_time,
t.key_user_id
FROM
u_train_record r,
u_mental_test t
WHERE
r.key_test_id = t.key_id
AND r.id = #{recordId}
AND r.rec_status = 0
AND t.rec_status = 0
) t1
LEFT JOIN u_mental_test t ON t.key_user_id = t1.key_user_id
AND t.rec_status = 0
LEFT JOIN u_train_record r ON t.key_id = r.key_test_id
AND r.rec_status = 0
LEFT JOIN t_train_audio a ON r.question_id = a.content_id
AND a.rec_status = 0
WHERE
<choose>
<when test="type==1">r.start_time &gt;= t1.start_time</when>
<otherwise>r.start_time &lt;= t1.start_time</otherwise>
</choose>
AND r.id != #{recordId}
ORDER BY
<choose>
<when test="type==1">r.start_time, r.id</when>
<otherwise>r.start_time desc, r.id desc</otherwise>
</choose>
LIMIT 1
</select>
</mapper>

23
src/main/resources/mapper_dao/TrainEquipmentDao.xml

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.yanyuan.persist.dao.TrainEquipmentDao">
<select id="queryRecentUserId" resultType="java.lang.Long">
SELECT
t.key_user_id
FROM
u_train_equipment e,
u_mental_record r,
u_mental_test t
WHERE
e.record_id = r.id
AND r.test_id = t.key_id
AND e.equipment_id = #{equipmentId}
AND e.created_at >= #{startTime}
AND e.rec_status = 0
AND r.rec_status = 0
AND t.rec_status = 0
ORDER BY
e.created_at DESC
LIMIT 1
</select>
</mapper>

13
src/main/resources/mapper_dao/UserRelationDao.xml

@ -76,4 +76,17 @@
group by u.key_id
order by u.key_id
</select>
<select id="countUserByEquipment" resultType="Long">
select distinct r.key_user_id from
t_tool_equipment e,
u_user_scan_tool t,
u_user_relation r
where e.tool_id = t.tool_id
and t.user_id = r.user_id
and e.id = #{equipmentId}
and r.audit_status = 1
and e.rec_status = 0
and t.rec_status = 0
and r.rec_status = 0
</select>
</mapper>

275
src/main/resources/mapper_raw/EquipmentLogMapper.xml

@ -0,0 +1,275 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.yanyuan.persist.mapper.EquipmentLogMapper">
<resultMap id="BaseResultMap" type="com.ccsens.yanyuan.bean.po.EquipmentLog">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="serial" jdbcType="BIGINT" property="serial" />
<result column="type" jdbcType="TINYINT" property="type" />
<result column="addr" jdbcType="INTEGER" property="addr" />
<result column="value" jdbcType="VARCHAR" property="value" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, serial, type, addr, value, operator, created_at, updated_at, rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.yanyuan.bean.po.EquipmentLogExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from t_equipment_log
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_equipment_log
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from t_equipment_log
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.yanyuan.bean.po.EquipmentLogExample">
delete from t_equipment_log
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.yanyuan.bean.po.EquipmentLog">
insert into t_equipment_log (id, serial, type,
addr, value, operator,
created_at, updated_at, rec_status
)
values (#{id,jdbcType=BIGINT}, #{serial,jdbcType=BIGINT}, #{type,jdbcType=TINYINT},
#{addr,jdbcType=INTEGER}, #{value,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
</insert>
<insert id="insertSelective" parameterType="com.ccsens.yanyuan.bean.po.EquipmentLog">
insert into t_equipment_log
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="serial != null">
serial,
</if>
<if test="type != null">
type,
</if>
<if test="addr != null">
addr,
</if>
<if test="value != null">
value,
</if>
<if test="operator != null">
operator,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="recStatus != null">
rec_status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="serial != null">
#{serial,jdbcType=BIGINT},
</if>
<if test="type != null">
#{type,jdbcType=TINYINT},
</if>
<if test="addr != null">
#{addr,jdbcType=INTEGER},
</if>
<if test="value != null">
#{value,jdbcType=VARCHAR},
</if>
<if test="operator != null">
#{operator,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.yanyuan.bean.po.EquipmentLogExample" resultType="java.lang.Long">
select count(*) from t_equipment_log
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update t_equipment_log
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.serial != null">
serial = #{record.serial,jdbcType=BIGINT},
</if>
<if test="record.type != null">
type = #{record.type,jdbcType=TINYINT},
</if>
<if test="record.addr != null">
addr = #{record.addr,jdbcType=INTEGER},
</if>
<if test="record.value != null">
value = #{record.value,jdbcType=VARCHAR},
</if>
<if test="record.operator != null">
operator = #{record.operator,jdbcType=BIGINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null">
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update t_equipment_log
set id = #{record.id,jdbcType=BIGINT},
serial = #{record.serial,jdbcType=BIGINT},
type = #{record.type,jdbcType=TINYINT},
addr = #{record.addr,jdbcType=INTEGER},
value = #{record.value,jdbcType=VARCHAR},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.yanyuan.bean.po.EquipmentLog">
update t_equipment_log
<set>
<if test="serial != null">
serial = #{serial,jdbcType=BIGINT},
</if>
<if test="type != null">
type = #{type,jdbcType=TINYINT},
</if>
<if test="addr != null">
addr = #{addr,jdbcType=INTEGER},
</if>
<if test="value != null">
value = #{value,jdbcType=VARCHAR},
</if>
<if test="operator != null">
operator = #{operator,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.yanyuan.bean.po.EquipmentLog">
update t_equipment_log
set serial = #{serial,jdbcType=BIGINT},
type = #{type,jdbcType=TINYINT},
addr = #{addr,jdbcType=INTEGER},
value = #{value,jdbcType=VARCHAR},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

14
src/main/resources/mapper_raw/ToolEquipmentMapper.xml

@ -4,7 +4,7 @@
<resultMap id="BaseResultMap" type="com.ccsens.yanyuan.bean.po.ToolEquipment">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="tool_id" jdbcType="BIGINT" property="toolId" />
<result column="serial" jdbcType="INTEGER" property="serial" />
<result column="serial" jdbcType="BIGINT" property="serial" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="type" jdbcType="TINYINT" property="type" />
<result column="description" jdbcType="VARCHAR" property="description" />
@ -115,7 +115,7 @@
wifi_name, wifi_status, electric_quantity,
equipment_status, operator, created_at,
updated_at, rec_status)
values (#{id,jdbcType=BIGINT}, #{toolId,jdbcType=BIGINT}, #{serial,jdbcType=INTEGER},
values (#{id,jdbcType=BIGINT}, #{toolId,jdbcType=BIGINT}, #{serial,jdbcType=BIGINT},
#{name,jdbcType=VARCHAR}, #{type,jdbcType=TINYINT}, #{description,jdbcType=VARCHAR},
#{wifiName,jdbcType=VARCHAR}, #{wifiStatus,jdbcType=TINYINT}, #{electricQuantity,jdbcType=INTEGER},
#{equipmentStatus,jdbcType=TINYINT}, #{operator,jdbcType=BIGINT}, #{createdAt,jdbcType=TIMESTAMP},
@ -175,7 +175,7 @@
#{toolId,jdbcType=BIGINT},
</if>
<if test="serial != null">
#{serial,jdbcType=INTEGER},
#{serial,jdbcType=BIGINT},
</if>
<if test="name != null">
#{name,jdbcType=VARCHAR},
@ -228,7 +228,7 @@
tool_id = #{record.toolId,jdbcType=BIGINT},
</if>
<if test="record.serial != null">
serial = #{record.serial,jdbcType=INTEGER},
serial = #{record.serial,jdbcType=BIGINT},
</if>
<if test="record.name != null">
name = #{record.name,jdbcType=VARCHAR},
@ -272,7 +272,7 @@
update t_tool_equipment
set id = #{record.id,jdbcType=BIGINT},
tool_id = #{record.toolId,jdbcType=BIGINT},
serial = #{record.serial,jdbcType=INTEGER},
serial = #{record.serial,jdbcType=BIGINT},
name = #{record.name,jdbcType=VARCHAR},
type = #{record.type,jdbcType=TINYINT},
description = #{record.description,jdbcType=VARCHAR},
@ -295,7 +295,7 @@
tool_id = #{toolId,jdbcType=BIGINT},
</if>
<if test="serial != null">
serial = #{serial,jdbcType=INTEGER},
serial = #{serial,jdbcType=BIGINT},
</if>
<if test="name != null">
name = #{name,jdbcType=VARCHAR},
@ -336,7 +336,7 @@
<update id="updateByPrimaryKey" parameterType="com.ccsens.yanyuan.bean.po.ToolEquipment">
update t_tool_equipment
set tool_id = #{toolId,jdbcType=BIGINT},
serial = #{serial,jdbcType=INTEGER},
serial = #{serial,jdbcType=BIGINT},
name = #{name,jdbcType=VARCHAR},
type = #{type,jdbcType=TINYINT},
description = #{description,jdbcType=VARCHAR},

276
src/main/resources/mapper_raw/TrainAudioMapper.xml

@ -0,0 +1,276 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.yanyuan.persist.mapper.TrainAudioMapper">
<resultMap id="BaseResultMap" type="com.ccsens.yanyuan.bean.po.TrainAudio">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="content_id" jdbcType="BIGINT" property="contentId" />
<result column="audio_content" jdbcType="VARCHAR" property="audioContent" />
<result column="audio_url" jdbcType="VARCHAR" property="audioUrl" />
<result column="audio_position" jdbcType="INTEGER" property="audioPosition" />
<result column="operator" jdbcType="BIGINT" property="operator" />
<result column="created_at" jdbcType="TIMESTAMP" property="createdAt" />
<result column="updated_at" jdbcType="TIMESTAMP" property="updatedAt" />
<result column="rec_status" jdbcType="TINYINT" property="recStatus" />
</resultMap>
<sql id="Example_Where_Clause">
<where>
<foreach collection="oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause">
<where>
<foreach collection="example.oredCriteria" item="criteria" separator="or">
<if test="criteria.valid">
<trim prefix="(" prefixOverrides="and" suffix=")">
<foreach collection="criteria.criteria" item="criterion">
<choose>
<when test="criterion.noValue">
and ${criterion.condition}
</when>
<when test="criterion.singleValue">
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue">
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue">
and ${criterion.condition}
<foreach close=")" collection="criterion.value" item="listItem" open="(" separator=",">
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List">
id, content_id, audio_content, audio_url, audio_position, operator, created_at, updated_at,
rec_status
</sql>
<select id="selectByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainAudioExample" resultMap="BaseResultMap">
select
<if test="distinct">
distinct
</if>
<include refid="Base_Column_List" />
from t_train_audio
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null">
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from t_train_audio
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from t_train_audio
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainAudioExample">
delete from t_train_audio
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="com.ccsens.yanyuan.bean.po.TrainAudio">
insert into t_train_audio (id, content_id, audio_content,
audio_url, audio_position, operator,
created_at, updated_at, rec_status
)
values (#{id,jdbcType=BIGINT}, #{contentId,jdbcType=BIGINT}, #{audioContent,jdbcType=VARCHAR},
#{audioUrl,jdbcType=VARCHAR}, #{audioPosition,jdbcType=INTEGER}, #{operator,jdbcType=BIGINT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP}, #{recStatus,jdbcType=TINYINT}
)
</insert>
<insert id="insertSelective" parameterType="com.ccsens.yanyuan.bean.po.TrainAudio">
insert into t_train_audio
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">
id,
</if>
<if test="contentId != null">
content_id,
</if>
<if test="audioContent != null">
audio_content,
</if>
<if test="audioUrl != null">
audio_url,
</if>
<if test="audioPosition != null">
audio_position,
</if>
<if test="operator != null">
operator,
</if>
<if test="createdAt != null">
created_at,
</if>
<if test="updatedAt != null">
updated_at,
</if>
<if test="recStatus != null">
rec_status,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">
#{id,jdbcType=BIGINT},
</if>
<if test="contentId != null">
#{contentId,jdbcType=BIGINT},
</if>
<if test="audioContent != null">
#{audioContent,jdbcType=VARCHAR},
</if>
<if test="audioUrl != null">
#{audioUrl,jdbcType=VARCHAR},
</if>
<if test="audioPosition != null">
#{audioPosition,jdbcType=INTEGER},
</if>
<if test="operator != null">
#{operator,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
#{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
#{recStatus,jdbcType=TINYINT},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="com.ccsens.yanyuan.bean.po.TrainAudioExample" resultType="java.lang.Long">
select count(*) from t_train_audio
<if test="_parameter != null">
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map">
update t_train_audio
<set>
<if test="record.id != null">
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.contentId != null">
content_id = #{record.contentId,jdbcType=BIGINT},
</if>
<if test="record.audioContent != null">
audio_content = #{record.audioContent,jdbcType=VARCHAR},
</if>
<if test="record.audioUrl != null">
audio_url = #{record.audioUrl,jdbcType=VARCHAR},
</if>
<if test="record.audioPosition != null">
audio_position = #{record.audioPosition,jdbcType=INTEGER},
</if>
<if test="record.operator != null">
operator = #{record.operator,jdbcType=BIGINT},
</if>
<if test="record.createdAt != null">
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null">
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="record.recStatus != null">
rec_status = #{record.recStatus,jdbcType=TINYINT},
</if>
</set>
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map">
update t_train_audio
set id = #{record.id,jdbcType=BIGINT},
content_id = #{record.contentId,jdbcType=BIGINT},
audio_content = #{record.audioContent,jdbcType=VARCHAR},
audio_url = #{record.audioUrl,jdbcType=VARCHAR},
audio_position = #{record.audioPosition,jdbcType=INTEGER},
operator = #{record.operator,jdbcType=BIGINT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
rec_status = #{record.recStatus,jdbcType=TINYINT}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="com.ccsens.yanyuan.bean.po.TrainAudio">
update t_train_audio
<set>
<if test="contentId != null">
content_id = #{contentId,jdbcType=BIGINT},
</if>
<if test="audioContent != null">
audio_content = #{audioContent,jdbcType=VARCHAR},
</if>
<if test="audioUrl != null">
audio_url = #{audioUrl,jdbcType=VARCHAR},
</if>
<if test="audioPosition != null">
audio_position = #{audioPosition,jdbcType=INTEGER},
</if>
<if test="operator != null">
operator = #{operator,jdbcType=BIGINT},
</if>
<if test="createdAt != null">
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null">
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
<if test="recStatus != null">
rec_status = #{recStatus,jdbcType=TINYINT},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="com.ccsens.yanyuan.bean.po.TrainAudio">
update t_train_audio
set content_id = #{contentId,jdbcType=BIGINT},
audio_content = #{audioContent,jdbcType=VARCHAR},
audio_url = #{audioUrl,jdbcType=VARCHAR},
audio_position = #{audioPosition,jdbcType=INTEGER},
operator = #{operator,jdbcType=BIGINT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
rec_status = #{recStatus,jdbcType=TINYINT}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>

2
src/main/resources/mbg.xml

@ -55,7 +55,7 @@
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="u_train_process_card" domainObjectName="TrainProcessCard"></table>
<table tableName="t_equipment_log" domainObjectName="EquipmentLog"></table>
<!-- <table tableName="u_mental_test" domainObjectName="MentalTest"></table>-->
<!-- <table tableName="u_mental_test" domainObjectName="MentalTest"></table>-->
<!--<table tableName="s_config" domainObjectName="Config"></table>

Loading…
Cancel
Save