diff --git a/business/src/main/java/com/pds/business/controller/admin/TrainAdminController.java b/business/src/main/java/com/pds/business/controller/admin/TrainAdminController.java new file mode 100644 index 0000000..4a91d70 --- /dev/null +++ b/business/src/main/java/com/pds/business/controller/admin/TrainAdminController.java @@ -0,0 +1,52 @@ +package com.pds.business.controller.admin; + + +import com.pds.business.req.TrainQueryReq; +import com.pds.business.req.TrainSaveReq; +import com.pds.business.resp.TrainQueryResp; +import com.pds.business.service.TrainService; +import com.pds.common.resp.CommonResp; +import com.pds.common.resp.PageResp; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +// 所有的管理控制台的请求带上admin 方便统一拦截或者放行 +@RestController +@RequestMapping("/admin/train") +public class TrainAdminController { + @Resource + private TrainService trainService; + + + @PostMapping("/save") + public CommonResp save(@Valid @RequestBody TrainSaveReq req) { + trainService.save(req); + return new CommonResp<>(); + } + + + @GetMapping("/query-list") + public CommonResp> queryList(@Valid TrainQueryReq req) { + PageResp list = trainService.queryList(req); + return new CommonResp<>(list); + } + + @DeleteMapping("/delete/{id}") + public CommonResp delete(@PathVariable Long id) { + trainService.delete(id); + return new CommonResp<>(); + } + + @GetMapping("/query-all") + public CommonResp> queryList() { + List list = trainService.queryAll(); + return new CommonResp<>(list); + } + + + + +} diff --git a/business/src/main/java/com/pds/business/domain/Train.java b/business/src/main/java/com/pds/business/domain/Train.java new file mode 100644 index 0000000..47d71b7 --- /dev/null +++ b/business/src/main/java/com/pds/business/domain/Train.java @@ -0,0 +1,136 @@ +package com.pds.business.domain; + +import java.util.Date; + +public class Train { + private Long id; + + private String code; + + private String type; + + private String start; + + private String startPinyin; + + private Date startTime; + + private String end; + + private String endPinyin; + + private Date endTime; + + private Date createTime; + + private Date updateTime; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + public String getStartPinyin() { + return startPinyin; + } + + public void setStartPinyin(String startPinyin) { + this.startPinyin = startPinyin; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public String getEnd() { + return end; + } + + public void setEnd(String end) { + this.end = end; + } + + public String getEndPinyin() { + return endPinyin; + } + + public void setEndPinyin(String endPinyin) { + this.endPinyin = endPinyin; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + @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(", code=").append(code); + sb.append(", type=").append(type); + sb.append(", start=").append(start); + sb.append(", startPinyin=").append(startPinyin); + sb.append(", startTime=").append(startTime); + sb.append(", end=").append(end); + sb.append(", endPinyin=").append(endPinyin); + sb.append(", endTime=").append(endTime); + sb.append(", createTime=").append(createTime); + sb.append(", updateTime=").append(updateTime); + sb.append("]"); + return sb.toString(); + } +} \ No newline at end of file diff --git a/business/src/main/java/com/pds/business/domain/TrainExample.java b/business/src/main/java/com/pds/business/domain/TrainExample.java new file mode 100644 index 0000000..a3553ae --- /dev/null +++ b/business/src/main/java/com/pds/business/domain/TrainExample.java @@ -0,0 +1,947 @@ +package com.pds.business.domain; + +import java.util.ArrayList; +import java.util.Date; +import java.util.Iterator; +import java.util.List; + +public class TrainExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + public TrainExample() { + oredCriteria = new ArrayList<>(); + } + + 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 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 criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList<>(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List 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)); + } + + protected void addCriterionForJDBCTime(String condition, Date value, String property) { + if (value == null) { + throw new RuntimeException("Value for " + property + " cannot be null"); + } + addCriterion(condition, new java.sql.Time(value.getTime()), property); + } + + protected void addCriterionForJDBCTime(String condition, List values, String property) { + if (values == null || values.size() == 0) { + throw new RuntimeException("Value list for " + property + " cannot be null or empty"); + } + List timeList = new ArrayList<>(); + Iterator iter = values.iterator(); + while (iter.hasNext()) { + timeList.add(new java.sql.Time(iter.next().getTime())); + } + addCriterion(condition, timeList, property); + } + + protected void addCriterionForJDBCTime(String condition, Date value1, Date value2, String property) { + if (value1 == null || value2 == null) { + throw new RuntimeException("Between values for " + property + " cannot be null"); + } + addCriterion(condition, new java.sql.Time(value1.getTime()), new java.sql.Time(value2.getTime()), property); + } + + 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 values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List 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 andCodeIsNull() { + addCriterion("code is null"); + return (Criteria) this; + } + + public Criteria andCodeIsNotNull() { + addCriterion("code is not null"); + return (Criteria) this; + } + + public Criteria andCodeEqualTo(String value) { + addCriterion("code =", value, "code"); + return (Criteria) this; + } + + public Criteria andCodeNotEqualTo(String value) { + addCriterion("code <>", value, "code"); + return (Criteria) this; + } + + public Criteria andCodeGreaterThan(String value) { + addCriterion("code >", value, "code"); + return (Criteria) this; + } + + public Criteria andCodeGreaterThanOrEqualTo(String value) { + addCriterion("code >=", value, "code"); + return (Criteria) this; + } + + public Criteria andCodeLessThan(String value) { + addCriterion("code <", value, "code"); + return (Criteria) this; + } + + public Criteria andCodeLessThanOrEqualTo(String value) { + addCriterion("code <=", value, "code"); + return (Criteria) this; + } + + public Criteria andCodeLike(String value) { + addCriterion("code like", value, "code"); + return (Criteria) this; + } + + public Criteria andCodeNotLike(String value) { + addCriterion("code not like", value, "code"); + return (Criteria) this; + } + + public Criteria andCodeIn(List values) { + addCriterion("code in", values, "code"); + return (Criteria) this; + } + + public Criteria andCodeNotIn(List values) { + addCriterion("code not in", values, "code"); + return (Criteria) this; + } + + public Criteria andCodeBetween(String value1, String value2) { + addCriterion("code between", value1, value2, "code"); + return (Criteria) this; + } + + public Criteria andCodeNotBetween(String value1, String value2) { + addCriterion("code not between", value1, value2, "code"); + 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(String value) { + addCriterion("`type` =", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotEqualTo(String value) { + addCriterion("`type` <>", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeGreaterThan(String value) { + addCriterion("`type` >", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeGreaterThanOrEqualTo(String value) { + addCriterion("`type` >=", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeLessThan(String value) { + addCriterion("`type` <", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeLessThanOrEqualTo(String value) { + addCriterion("`type` <=", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeLike(String value) { + addCriterion("`type` like", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotLike(String value) { + addCriterion("`type` not like", value, "type"); + return (Criteria) this; + } + + public Criteria andTypeIn(List values) { + addCriterion("`type` in", values, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotIn(List values) { + addCriterion("`type` not in", values, "type"); + return (Criteria) this; + } + + public Criteria andTypeBetween(String value1, String value2) { + addCriterion("`type` between", value1, value2, "type"); + return (Criteria) this; + } + + public Criteria andTypeNotBetween(String value1, String value2) { + addCriterion("`type` not between", value1, value2, "type"); + return (Criteria) this; + } + + public Criteria andStartIsNull() { + addCriterion("`start` is null"); + return (Criteria) this; + } + + public Criteria andStartIsNotNull() { + addCriterion("`start` is not null"); + return (Criteria) this; + } + + public Criteria andStartEqualTo(String value) { + addCriterion("`start` =", value, "start"); + return (Criteria) this; + } + + public Criteria andStartNotEqualTo(String value) { + addCriterion("`start` <>", value, "start"); + return (Criteria) this; + } + + public Criteria andStartGreaterThan(String value) { + addCriterion("`start` >", value, "start"); + return (Criteria) this; + } + + public Criteria andStartGreaterThanOrEqualTo(String value) { + addCriterion("`start` >=", value, "start"); + return (Criteria) this; + } + + public Criteria andStartLessThan(String value) { + addCriterion("`start` <", value, "start"); + return (Criteria) this; + } + + public Criteria andStartLessThanOrEqualTo(String value) { + addCriterion("`start` <=", value, "start"); + return (Criteria) this; + } + + public Criteria andStartLike(String value) { + addCriterion("`start` like", value, "start"); + return (Criteria) this; + } + + public Criteria andStartNotLike(String value) { + addCriterion("`start` not like", value, "start"); + return (Criteria) this; + } + + public Criteria andStartIn(List values) { + addCriterion("`start` in", values, "start"); + return (Criteria) this; + } + + public Criteria andStartNotIn(List values) { + addCriterion("`start` not in", values, "start"); + return (Criteria) this; + } + + public Criteria andStartBetween(String value1, String value2) { + addCriterion("`start` between", value1, value2, "start"); + return (Criteria) this; + } + + public Criteria andStartNotBetween(String value1, String value2) { + addCriterion("`start` not between", value1, value2, "start"); + return (Criteria) this; + } + + public Criteria andStartPinyinIsNull() { + addCriterion("start_pinyin is null"); + return (Criteria) this; + } + + public Criteria andStartPinyinIsNotNull() { + addCriterion("start_pinyin is not null"); + return (Criteria) this; + } + + public Criteria andStartPinyinEqualTo(String value) { + addCriterion("start_pinyin =", value, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinNotEqualTo(String value) { + addCriterion("start_pinyin <>", value, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinGreaterThan(String value) { + addCriterion("start_pinyin >", value, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinGreaterThanOrEqualTo(String value) { + addCriterion("start_pinyin >=", value, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinLessThan(String value) { + addCriterion("start_pinyin <", value, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinLessThanOrEqualTo(String value) { + addCriterion("start_pinyin <=", value, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinLike(String value) { + addCriterion("start_pinyin like", value, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinNotLike(String value) { + addCriterion("start_pinyin not like", value, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinIn(List values) { + addCriterion("start_pinyin in", values, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinNotIn(List values) { + addCriterion("start_pinyin not in", values, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinBetween(String value1, String value2) { + addCriterion("start_pinyin between", value1, value2, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartPinyinNotBetween(String value1, String value2) { + addCriterion("start_pinyin not between", value1, value2, "startPinyin"); + return (Criteria) this; + } + + public Criteria andStartTimeIsNull() { + addCriterion("start_time is null"); + return (Criteria) this; + } + + public Criteria andStartTimeIsNotNull() { + addCriterion("start_time is not null"); + return (Criteria) this; + } + + public Criteria andStartTimeEqualTo(Date value) { + addCriterionForJDBCTime("start_time =", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotEqualTo(Date value) { + addCriterionForJDBCTime("start_time <>", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeGreaterThan(Date value) { + addCriterionForJDBCTime("start_time >", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeGreaterThanOrEqualTo(Date value) { + addCriterionForJDBCTime("start_time >=", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeLessThan(Date value) { + addCriterionForJDBCTime("start_time <", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeLessThanOrEqualTo(Date value) { + addCriterionForJDBCTime("start_time <=", value, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeIn(List values) { + addCriterionForJDBCTime("start_time in", values, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotIn(List values) { + addCriterionForJDBCTime("start_time not in", values, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeBetween(Date value1, Date value2) { + addCriterionForJDBCTime("start_time between", value1, value2, "startTime"); + return (Criteria) this; + } + + public Criteria andStartTimeNotBetween(Date value1, Date value2) { + addCriterionForJDBCTime("start_time not between", value1, value2, "startTime"); + return (Criteria) this; + } + + public Criteria andEndIsNull() { + addCriterion("`end` is null"); + return (Criteria) this; + } + + public Criteria andEndIsNotNull() { + addCriterion("`end` is not null"); + return (Criteria) this; + } + + public Criteria andEndEqualTo(String value) { + addCriterion("`end` =", value, "end"); + return (Criteria) this; + } + + public Criteria andEndNotEqualTo(String value) { + addCriterion("`end` <>", value, "end"); + return (Criteria) this; + } + + public Criteria andEndGreaterThan(String value) { + addCriterion("`end` >", value, "end"); + return (Criteria) this; + } + + public Criteria andEndGreaterThanOrEqualTo(String value) { + addCriterion("`end` >=", value, "end"); + return (Criteria) this; + } + + public Criteria andEndLessThan(String value) { + addCriterion("`end` <", value, "end"); + return (Criteria) this; + } + + public Criteria andEndLessThanOrEqualTo(String value) { + addCriterion("`end` <=", value, "end"); + return (Criteria) this; + } + + public Criteria andEndLike(String value) { + addCriterion("`end` like", value, "end"); + return (Criteria) this; + } + + public Criteria andEndNotLike(String value) { + addCriterion("`end` not like", value, "end"); + return (Criteria) this; + } + + public Criteria andEndIn(List values) { + addCriterion("`end` in", values, "end"); + return (Criteria) this; + } + + public Criteria andEndNotIn(List values) { + addCriterion("`end` not in", values, "end"); + return (Criteria) this; + } + + public Criteria andEndBetween(String value1, String value2) { + addCriterion("`end` between", value1, value2, "end"); + return (Criteria) this; + } + + public Criteria andEndNotBetween(String value1, String value2) { + addCriterion("`end` not between", value1, value2, "end"); + return (Criteria) this; + } + + public Criteria andEndPinyinIsNull() { + addCriterion("end_pinyin is null"); + return (Criteria) this; + } + + public Criteria andEndPinyinIsNotNull() { + addCriterion("end_pinyin is not null"); + return (Criteria) this; + } + + public Criteria andEndPinyinEqualTo(String value) { + addCriterion("end_pinyin =", value, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinNotEqualTo(String value) { + addCriterion("end_pinyin <>", value, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinGreaterThan(String value) { + addCriterion("end_pinyin >", value, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinGreaterThanOrEqualTo(String value) { + addCriterion("end_pinyin >=", value, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinLessThan(String value) { + addCriterion("end_pinyin <", value, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinLessThanOrEqualTo(String value) { + addCriterion("end_pinyin <=", value, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinLike(String value) { + addCriterion("end_pinyin like", value, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinNotLike(String value) { + addCriterion("end_pinyin not like", value, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinIn(List values) { + addCriterion("end_pinyin in", values, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinNotIn(List values) { + addCriterion("end_pinyin not in", values, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinBetween(String value1, String value2) { + addCriterion("end_pinyin between", value1, value2, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndPinyinNotBetween(String value1, String value2) { + addCriterion("end_pinyin not between", value1, value2, "endPinyin"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNull() { + addCriterion("end_time is null"); + return (Criteria) this; + } + + public Criteria andEndTimeIsNotNull() { + addCriterion("end_time is not null"); + return (Criteria) this; + } + + public Criteria andEndTimeEqualTo(Date value) { + addCriterionForJDBCTime("end_time =", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotEqualTo(Date value) { + addCriterionForJDBCTime("end_time <>", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThan(Date value) { + addCriterionForJDBCTime("end_time >", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeGreaterThanOrEqualTo(Date value) { + addCriterionForJDBCTime("end_time >=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThan(Date value) { + addCriterionForJDBCTime("end_time <", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeLessThanOrEqualTo(Date value) { + addCriterionForJDBCTime("end_time <=", value, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeIn(List values) { + addCriterionForJDBCTime("end_time in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotIn(List values) { + addCriterionForJDBCTime("end_time not in", values, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeBetween(Date value1, Date value2) { + addCriterionForJDBCTime("end_time between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andEndTimeNotBetween(Date value1, Date value2) { + addCriterionForJDBCTime("end_time not between", value1, value2, "endTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNull() { + addCriterion("create_time is null"); + return (Criteria) this; + } + + public Criteria andCreateTimeIsNotNull() { + addCriterion("create_time is not null"); + return (Criteria) this; + } + + public Criteria andCreateTimeEqualTo(Date value) { + addCriterion("create_time =", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotEqualTo(Date value) { + addCriterion("create_time <>", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThan(Date value) { + addCriterion("create_time >", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("create_time >=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThan(Date value) { + addCriterion("create_time <", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeLessThanOrEqualTo(Date value) { + addCriterion("create_time <=", value, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeIn(List values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List values) { + addCriterion("create_time not in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeBetween(Date value1, Date value2) { + addCriterion("create_time between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotBetween(Date value1, Date value2) { + addCriterion("create_time not between", value1, value2, "createTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNull() { + addCriterion("update_time is null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIsNotNull() { + addCriterion("update_time is not null"); + return (Criteria) this; + } + + public Criteria andUpdateTimeEqualTo(Date value) { + addCriterion("update_time =", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotEqualTo(Date value) { + addCriterion("update_time <>", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThan(Date value) { + addCriterion("update_time >", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) { + addCriterion("update_time >=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThan(Date value) { + addCriterion("update_time <", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeLessThanOrEqualTo(Date value) { + addCriterion("update_time <=", value, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeIn(List values) { + addCriterion("update_time in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotIn(List values) { + addCriterion("update_time not in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeBetween(Date value1, Date value2) { + addCriterion("update_time between", value1, value2, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotBetween(Date value1, Date value2) { + addCriterion("update_time not between", value1, value2, "updateTime"); + 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); + } + } +} \ No newline at end of file diff --git a/business/src/main/java/com/pds/business/enums/TrainTypeEnum.java b/business/src/main/java/com/pds/business/enums/TrainTypeEnum.java new file mode 100644 index 0000000..132483e --- /dev/null +++ b/business/src/main/java/com/pds/business/enums/TrainTypeEnum.java @@ -0,0 +1,73 @@ +package com.pds.business.enums; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.List; + +public enum TrainTypeEnum { + + G("G", "高铁", new BigDecimal("1.2")), + D("D", "动车", new BigDecimal("1")), + K("K", "快速", new BigDecimal("0.8")); + + private String code; + + private String desc; + + /** + * 票价比例,例:1.1,则票价 = 1.1 * 每公里单价(SeatTypeEnum.price) * 公里(station.km) + */ + private BigDecimal priceRate; + + TrainTypeEnum(String code, String desc, BigDecimal priceRate) { + this.code = code; + this.desc = desc; + this.priceRate = priceRate; + } + + @Override + public String toString() { + return "TrainTypeEnum{" + + "code='" + code + '\'' + + ", desc='" + desc + '\'' + + ", priceRate=" + priceRate + + "} " + super.toString(); + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public void setDesc(String desc) { + this.desc = desc; + } + + public String getDesc() { + return desc; + } + + public BigDecimal getPriceRate() { + return priceRate; + } + + public void setPriceRate(BigDecimal priceRate) { + this.priceRate = priceRate; + } + + public static List> getEnumList() { + List> list = new ArrayList<>(); + for (TrainTypeEnum anEnum : EnumSet.allOf(TrainTypeEnum.class)) { + HashMap map = new HashMap<>(); + map.put("code",anEnum.code); + map.put("desc",anEnum.desc); + list.add(map); + } + return list; + } +} diff --git a/business/src/main/java/com/pds/business/mapper/TrainMapper.java b/business/src/main/java/com/pds/business/mapper/TrainMapper.java new file mode 100644 index 0000000..7954654 --- /dev/null +++ b/business/src/main/java/com/pds/business/mapper/TrainMapper.java @@ -0,0 +1,30 @@ +package com.pds.business.mapper; + +import com.pds.business.domain.Train; +import com.pds.business.domain.TrainExample; +import java.util.List; +import org.apache.ibatis.annotations.Param; + +public interface TrainMapper { + long countByExample(TrainExample example); + + int deleteByExample(TrainExample example); + + int deleteByPrimaryKey(Long id); + + int insert(Train record); + + int insertSelective(Train record); + + List selectByExample(TrainExample example); + + Train selectByPrimaryKey(Long id); + + int updateByExampleSelective(@Param("record") Train record, @Param("example") TrainExample example); + + int updateByExample(@Param("record") Train record, @Param("example") TrainExample example); + + int updateByPrimaryKeySelective(Train record); + + int updateByPrimaryKey(Train record); +} \ No newline at end of file diff --git a/business/src/main/java/com/pds/business/req/TrainQueryReq.java b/business/src/main/java/com/pds/business/req/TrainQueryReq.java new file mode 100644 index 0000000..8c83dc6 --- /dev/null +++ b/business/src/main/java/com/pds/business/req/TrainQueryReq.java @@ -0,0 +1,12 @@ +package com.pds.business.req; + +import com.pds.common.req.PageReq; + +public class TrainQueryReq extends PageReq { + + @Override + public String toString() { + return "TrainQueryReq{" + + "} " + super.toString(); + } +} diff --git a/business/src/main/java/com/pds/business/req/TrainSaveReq.java b/business/src/main/java/com/pds/business/req/TrainSaveReq.java new file mode 100644 index 0000000..6d18637 --- /dev/null +++ b/business/src/main/java/com/pds/business/req/TrainSaveReq.java @@ -0,0 +1,186 @@ +package com.pds.business.req; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; + +public class TrainSaveReq { + + /** + * id + */ + private Long id; + + /** + * 车次编号 + */ + @NotBlank(message = "【车次编号】不能为空") + private String code; + + /** + * 车次类型|枚举[TrainTypeEnum] + */ + @NotBlank(message = "【车次类型】不能为空") + private String type; + + /** + * 始发站 + */ + @NotBlank(message = "【始发站】不能为空") + private String start; + + /** + * 始发站拼音 + */ + @NotBlank(message = "【始发站拼音】不能为空") + private String startPinyin; + + /** + * 出发时间 + */ + @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8") + @NotNull(message = "【出发时间】不能为空") + private Date startTime; + + /** + * 终点站 + */ + @NotBlank(message = "【终点站】不能为空") + private String end; + + /** + * 终点站拼音 + */ + @NotBlank(message = "【终点站拼音】不能为空") + private String endPinyin; + + /** + * 到站时间 + */ + @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8") + @NotNull(message = "【到站时间】不能为空") + private Date endTime; + + /** + * 新增时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date createTime; + + /** + * 修改时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date updateTime; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + public String getStartPinyin() { + return startPinyin; + } + + public void setStartPinyin(String startPinyin) { + this.startPinyin = startPinyin; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public String getEnd() { + return end; + } + + public void setEnd(String end) { + this.end = end; + } + + public String getEndPinyin() { + return endPinyin; + } + + public void setEndPinyin(String endPinyin) { + this.endPinyin = endPinyin; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + @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(", code=").append(code); + sb.append(", type=").append(type); + sb.append(", start=").append(start); + sb.append(", startPinyin=").append(startPinyin); + sb.append(", startTime=").append(startTime); + sb.append(", end=").append(end); + sb.append(", endPinyin=").append(endPinyin); + sb.append(", endTime=").append(endTime); + sb.append(", createTime=").append(createTime); + sb.append(", updateTime=").append(updateTime); + sb.append("]"); + return sb.toString(); + } +} diff --git a/business/src/main/java/com/pds/business/resp/TrainQueryResp.java b/business/src/main/java/com/pds/business/resp/TrainQueryResp.java new file mode 100644 index 0000000..a83d8c1 --- /dev/null +++ b/business/src/main/java/com/pds/business/resp/TrainQueryResp.java @@ -0,0 +1,179 @@ +package com.pds.business.resp; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; + +import java.util.Date; + +public class TrainQueryResp { + + /** + * id + */ + @JsonSerialize(using= ToStringSerializer.class) + private Long id; + + /** + * 车次编号 + */ + private String code; + + /** + * 车次类型|枚举[TrainTypeEnum] + */ + private String type; + + /** + * 始发站 + */ + private String start; + + /** + * 始发站拼音 + */ + private String startPinyin; + + /** + * 出发时间 + */ + @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8") + private Date startTime; + + /** + * 终点站 + */ + private String end; + + /** + * 终点站拼音 + */ + private String endPinyin; + + /** + * 到站时间 + */ + @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8") + private Date endTime; + + /** + * 新增时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date createTime; + + /** + * 修改时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private Date updateTime; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getStart() { + return start; + } + + public void setStart(String start) { + this.start = start; + } + + public String getStartPinyin() { + return startPinyin; + } + + public void setStartPinyin(String startPinyin) { + this.startPinyin = startPinyin; + } + + public Date getStartTime() { + return startTime; + } + + public void setStartTime(Date startTime) { + this.startTime = startTime; + } + + public String getEnd() { + return end; + } + + public void setEnd(String end) { + this.end = end; + } + + public String getEndPinyin() { + return endPinyin; + } + + public void setEndPinyin(String endPinyin) { + this.endPinyin = endPinyin; + } + + public Date getEndTime() { + return endTime; + } + + public void setEndTime(Date endTime) { + this.endTime = endTime; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + public Date getUpdateTime() { + return updateTime; + } + + public void setUpdateTime(Date updateTime) { + this.updateTime = updateTime; + } + + @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(", code=").append(code); + sb.append(", type=").append(type); + sb.append(", start=").append(start); + sb.append(", startPinyin=").append(startPinyin); + sb.append(", startTime=").append(startTime); + sb.append(", end=").append(end); + sb.append(", endPinyin=").append(endPinyin); + sb.append(", endTime=").append(endTime); + sb.append(", createTime=").append(createTime); + sb.append(", updateTime=").append(updateTime); + sb.append("]"); + return sb.toString(); + } +} diff --git a/business/src/main/java/com/pds/business/service/TrainService.java b/business/src/main/java/com/pds/business/service/TrainService.java new file mode 100644 index 0000000..85ba2e0 --- /dev/null +++ b/business/src/main/java/com/pds/business/service/TrainService.java @@ -0,0 +1,109 @@ +package com.pds.business.service; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.util.ObjectUtil; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; + + +import com.pds.business.domain.Train; +import com.pds.business.domain.TrainExample; +import com.pds.business.domain.Train; +import com.pds.business.mapper.TrainMapper; +import com.pds.business.mapper.TrainMapper; +import com.pds.business.req.TrainQueryReq; +import com.pds.business.req.TrainSaveReq; +import com.pds.business.req.TrainSaveReq; +import com.pds.business.resp.TrainQueryResp; +import com.pds.common.exception.BusinessException; +import com.pds.common.exception.BusinessExceptionEnum; +import com.pds.common.resp.PageResp; +import com.pds.common.util.SnowUtil; +import jakarta.annotation.Resource; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +public class TrainService { + private static final Logger LOG = LoggerFactory.getLogger(TrainService.class); + + + @Resource + private TrainMapper trainMapper; + + public void save(TrainSaveReq req) { + DateTime now = DateTime.now(); + Train train = BeanUtil.copyProperties(req, Train.class); + if (ObjectUtil.isNull(train.getId())) { + + // 保存之前,先校验唯一键是否存在 + Train trainDB = selectByUnique(req.getCode()); + if (ObjectUtil.isNotEmpty(trainDB)) { + throw new BusinessException(BusinessExceptionEnum.BUSINESS_TRAIN_CODE_UNIQUE_ERROR); + } + + train.setId(SnowUtil.getSnowflakeNextId()); + train.setCreateTime(now); + train.setUpdateTime(now); + trainMapper.insert(train); + } else { + train.setUpdateTime(now); + trainMapper.updateByPrimaryKey(train); + } + } + + private Train selectByUnique(String code) { + TrainExample trainExample = new TrainExample(); + trainExample.createCriteria().andCodeEqualTo(code); + List list = trainMapper.selectByExample(trainExample); + if (CollUtil.isNotEmpty(list)) { + return list.get(0); + } else { + return null; + } + } + + + + public PageResp queryList(TrainQueryReq req) { + TrainExample trainExample = new TrainExample(); + trainExample.setOrderByClause("code desc"); + TrainExample.Criteria criteria = trainExample.createCriteria(); + + LOG.info("查询页码:{}", req.getPage()); + LOG.info("每页条数:{}", req.getSize()); + PageHelper.startPage(req.getPage(), req.getSize()); + List trainList = trainMapper.selectByExample(trainExample); + + PageInfo pageInfo = new PageInfo<>(trainList); + LOG.info("总行数:{}", pageInfo.getTotal()); + LOG.info("总页数:{}", pageInfo.getPages()); + + List list = BeanUtil.copyToList(trainList, TrainQueryResp.class); + + PageResp pageResp = new PageResp<>(); + pageResp.setTotal(pageInfo.getTotal()); + pageResp.setList(list); + return pageResp; + } + + public void delete(Long id) { + trainMapper.deleteByPrimaryKey(id); + } + + + @Transactional + public List queryAll() { + TrainExample trainExample = new TrainExample(); + trainExample.setOrderByClause("code asc"); + List trainList = trainMapper.selectByExample(trainExample); + return BeanUtil.copyToList(trainList, TrainQueryResp.class); + } + +} diff --git a/business/src/main/resources/mapper/TrainMapper.xml b/business/src/main/resources/mapper/TrainMapper.xml new file mode 100644 index 0000000..92afba3 --- /dev/null +++ b/business/src/main/resources/mapper/TrainMapper.xml @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + + + + + + id, code, `type`, `start`, start_pinyin, start_time, `end`, end_pinyin, end_time, + create_time, update_time + + + + + delete from train + where id = #{id,jdbcType=BIGINT} + + + delete from train + + + + + + insert into train (id, code, `type`, `start`, + start_pinyin, start_time, `end`, + end_pinyin, end_time, create_time, + update_time) + values (#{id,jdbcType=BIGINT}, #{code,jdbcType=VARCHAR}, #{type,jdbcType=CHAR}, #{start,jdbcType=VARCHAR}, + #{startPinyin,jdbcType=VARCHAR}, #{startTime,jdbcType=TIME}, #{end,jdbcType=VARCHAR}, + #{endPinyin,jdbcType=VARCHAR}, #{endTime,jdbcType=TIME}, #{createTime,jdbcType=TIMESTAMP}, + #{updateTime,jdbcType=TIMESTAMP}) + + + insert into train + + + id, + + + code, + + + `type`, + + + `start`, + + + start_pinyin, + + + start_time, + + + `end`, + + + end_pinyin, + + + end_time, + + + create_time, + + + update_time, + + + + + #{id,jdbcType=BIGINT}, + + + #{code,jdbcType=VARCHAR}, + + + #{type,jdbcType=CHAR}, + + + #{start,jdbcType=VARCHAR}, + + + #{startPinyin,jdbcType=VARCHAR}, + + + #{startTime,jdbcType=TIME}, + + + #{end,jdbcType=VARCHAR}, + + + #{endPinyin,jdbcType=VARCHAR}, + + + #{endTime,jdbcType=TIME}, + + + #{createTime,jdbcType=TIMESTAMP}, + + + #{updateTime,jdbcType=TIMESTAMP}, + + + + + + update train + + + id = #{record.id,jdbcType=BIGINT}, + + + code = #{record.code,jdbcType=VARCHAR}, + + + `type` = #{record.type,jdbcType=CHAR}, + + + `start` = #{record.start,jdbcType=VARCHAR}, + + + start_pinyin = #{record.startPinyin,jdbcType=VARCHAR}, + + + start_time = #{record.startTime,jdbcType=TIME}, + + + `end` = #{record.end,jdbcType=VARCHAR}, + + + end_pinyin = #{record.endPinyin,jdbcType=VARCHAR}, + + + end_time = #{record.endTime,jdbcType=TIME}, + + + create_time = #{record.createTime,jdbcType=TIMESTAMP}, + + + update_time = #{record.updateTime,jdbcType=TIMESTAMP}, + + + + + + + + update train + set id = #{record.id,jdbcType=BIGINT}, + code = #{record.code,jdbcType=VARCHAR}, + `type` = #{record.type,jdbcType=CHAR}, + `start` = #{record.start,jdbcType=VARCHAR}, + start_pinyin = #{record.startPinyin,jdbcType=VARCHAR}, + start_time = #{record.startTime,jdbcType=TIME}, + `end` = #{record.end,jdbcType=VARCHAR}, + end_pinyin = #{record.endPinyin,jdbcType=VARCHAR}, + end_time = #{record.endTime,jdbcType=TIME}, + create_time = #{record.createTime,jdbcType=TIMESTAMP}, + update_time = #{record.updateTime,jdbcType=TIMESTAMP} + + + + + + update train + + + code = #{code,jdbcType=VARCHAR}, + + + `type` = #{type,jdbcType=CHAR}, + + + `start` = #{start,jdbcType=VARCHAR}, + + + start_pinyin = #{startPinyin,jdbcType=VARCHAR}, + + + start_time = #{startTime,jdbcType=TIME}, + + + `end` = #{end,jdbcType=VARCHAR}, + + + end_pinyin = #{endPinyin,jdbcType=VARCHAR}, + + + end_time = #{endTime,jdbcType=TIME}, + + + create_time = #{createTime,jdbcType=TIMESTAMP}, + + + update_time = #{updateTime,jdbcType=TIMESTAMP}, + + + where id = #{id,jdbcType=BIGINT} + + + update train + set code = #{code,jdbcType=VARCHAR}, + `type` = #{type,jdbcType=CHAR}, + `start` = #{start,jdbcType=VARCHAR}, + start_pinyin = #{startPinyin,jdbcType=VARCHAR}, + start_time = #{startTime,jdbcType=TIME}, + `end` = #{end,jdbcType=VARCHAR}, + end_pinyin = #{endPinyin,jdbcType=VARCHAR}, + end_time = #{endTime,jdbcType=TIME}, + create_time = #{createTime,jdbcType=TIMESTAMP}, + update_time = #{updateTime,jdbcType=TIMESTAMP} + where id = #{id,jdbcType=BIGINT} + + \ No newline at end of file