浏览代码

路线时刻表

yanliming 4 年之前
父节点
当前提交
68796472cd

+ 19 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/dao/RouteTimeTableDAO.java

@@ -0,0 +1,19 @@
+package com.jpsoft.bus.modules.bus.dao;
+
+import java.util.List;
+import org.springframework.stereotype.Repository;
+import com.jpsoft.bus.modules.bus.entity.RouteTimeTable;
+import java.util.Map;
+import com.jpsoft.bus.modules.common.dto.Sort;
+
+@Repository
+public interface RouteTimeTableDAO {
+	int insert(RouteTimeTable entity);
+	int update(RouteTimeTable entity);
+	int exist(String id);
+	RouteTimeTable get(String id);
+	int delete(String id);
+	List<RouteTimeTable> list();
+	RouteTimeTable findByRouteId(String routeId);
+	List<RouteTimeTable> search(Map<String, Object> searchParams, List<Sort> sortList);
+}

+ 173 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/entity/RouteTimeTable.java

@@ -0,0 +1,173 @@
+package com.jpsoft.bus.modules.bus.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.text.SimpleDateFormat;
+import java.math.BigDecimal;
+import org.springframework.format.annotation.DateTimeFormat;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+/**
+  描述:bus_route_time_table的实体类
+ */
+public class RouteTimeTable {
+	private String id;
+	private String name;
+	private Integer sort;
+	private String startTime;
+	private String endTime;
+	private String routeId;
+	private String createBy;
+	private Date createTime;
+	private String updateBy;
+	private Date updateTime;
+	private Boolean delFlag;
+	
+		/**
+	 *获取编号
+	 */
+	public String getId(){
+		return id;
+	}
+	
+	/**
+	 *设置编号
+	 */
+	public void setId(String id){
+		this.id = id;
+	}
+		/**
+	 *获取时刻表名称
+	 */
+	public String getName(){
+		return name;
+	}
+	
+	/**
+	 *设置时刻表名称
+	 */
+	public void setName(String name){
+		this.name = name;
+	}
+		/**
+	 *获取排序
+	 */
+	public Integer getSort(){
+		return sort;
+	}
+	
+	/**
+	 *设置排序
+	 */
+	public void setSort(Integer sort){
+		this.sort = sort;
+	}
+		/**
+	 *获取开始时间
+	 */
+	public String getStartTime(){
+		return startTime;
+	}
+	
+	/**
+	 *设置开始时间
+	 */
+	public void setStartTime(String startTime){
+		this.startTime = startTime;
+	}
+		/**
+	 *获取结束时间
+	 */
+	public String getEndTime(){
+		return endTime;
+	}
+	
+	/**
+	 *设置结束时间
+	 */
+	public void setEndTime(String endTime){
+		this.endTime = endTime;
+	}
+		/**
+	 *获取线路ID
+	 */
+	public String getRouteId(){
+		return routeId;
+	}
+	
+	/**
+	 *设置线路ID
+	 */
+	public void setRouteId(String routeId){
+		this.routeId = routeId;
+	}
+		/**
+	 *获取创建人
+	 */
+	public String getCreateBy(){
+		return createBy;
+	}
+	
+	/**
+	 *设置创建人
+	 */
+	public void setCreateBy(String createBy){
+		this.createBy = createBy;
+	}
+		@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+		/**
+	 *获取创建时间
+	 */
+	public Date getCreateTime(){
+		return createTime;
+	}
+	
+	/**
+	 *设置创建时间
+	 */
+	public void setCreateTime(Date createTime){
+		this.createTime = createTime;
+	}
+		/**
+	 *获取更新人
+	 */
+	public String getUpdateBy(){
+		return updateBy;
+	}
+	
+	/**
+	 *设置更新人
+	 */
+	public void setUpdateBy(String updateBy){
+		this.updateBy = updateBy;
+	}
+		@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
+		/**
+	 *获取更新时间
+	 */
+	public Date getUpdateTime(){
+		return updateTime;
+	}
+	
+	/**
+	 *设置更新时间
+	 */
+	public void setUpdateTime(Date updateTime){
+		this.updateTime = updateTime;
+	}
+		/**
+	 *获取是否删除
+	 */
+	public Boolean getDelFlag(){
+		return delFlag;
+	}
+	
+	/**
+	 *设置是否删除
+	 */
+	public void setDelFlag(Boolean delFlag){
+		this.delFlag = delFlag;
+	}
+}

+ 18 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/service/RouteTimeTableService.java

@@ -0,0 +1,18 @@
+package com.jpsoft.bus.modules.bus.service;
+
+import java.util.List;
+import java.util.Map;
+import com.jpsoft.bus.modules.bus.entity.RouteTimeTable;
+import com.github.pagehelper.Page;
+import com.jpsoft.bus.modules.common.dto.Sort;
+
+public interface RouteTimeTableService {
+	RouteTimeTable get(String id);
+	boolean exist(String id);
+	int insert(RouteTimeTable model);
+	int update(RouteTimeTable model);
+	int delete(String id);
+	List<RouteTimeTable> list();
+    RouteTimeTable findByRouteId(String routeId);
+	Page<RouteTimeTable> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, List<Sort> sortList);
+}

+ 75 - 0
common/src/main/java/com/jpsoft/bus/modules/bus/service/impl/RouteTimeTableServiceImpl.java

@@ -0,0 +1,75 @@
+package com.jpsoft.bus.modules.bus.service.impl;
+
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import javax.annotation.Resource;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import com.jpsoft.bus.modules.bus.dao.RouteTimeTableDAO;
+import com.jpsoft.bus.modules.bus.entity.RouteTimeTable;
+import com.jpsoft.bus.modules.bus.service.RouteTimeTableService;
+import com.github.pagehelper.Page;
+import com.jpsoft.bus.modules.common.dto.Sort;
+import com.github.pagehelper.PageHelper;
+
+@Transactional
+@Component(value="routeTimeTableService")
+public class RouteTimeTableServiceImpl implements RouteTimeTableService {
+	@Resource(name="routeTimeTableDAO")
+	private RouteTimeTableDAO routeTimeTableDAO;
+
+	@Override
+	public RouteTimeTable get(String id) {
+		// TODO Auto-generated method stub
+		return routeTimeTableDAO.get(id);
+	}
+
+	@Override
+	public int insert(RouteTimeTable model) {
+		// TODO Auto-generated method stub
+		//model.setId(UUID.randomUUID().toString());
+		
+		return routeTimeTableDAO.insert(model);
+	}
+
+	@Override
+	public int update(RouteTimeTable model) {
+		// TODO Auto-generated method stub
+		return routeTimeTableDAO.update(model);		
+	}
+
+	@Override
+	public int delete(String id) {
+		// TODO Auto-generated method stub
+		return routeTimeTableDAO.delete(id);
+	}
+
+	@Override
+	public boolean exist(String id) {
+		// TODO Auto-generated method stub
+		int count = routeTimeTableDAO.exist(id);
+		
+		return count > 0 ? true : false;
+	}
+	
+	@Override
+	public List<RouteTimeTable> list() {
+		// TODO Auto-generated method stub
+		return routeTimeTableDAO.list();
+	}
+
+    @Override
+    public RouteTimeTable findByRouteId(String routeId){
+        return routeTimeTableDAO.findByRouteId(routeId);
+    }
+		
+	@Override
+	public Page<RouteTimeTable> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,List<Sort> sortList) {
+        Page<RouteTimeTable> page = PageHelper.startPage(1,10).doSelectPage(()->{
+            routeTimeTableDAO.search(searchParams,sortList);
+        });
+        
+        return page;
+	}
+}

+ 111 - 0
common/src/main/resources/mapper/bus/RouteTimeTable.xml

@@ -0,0 +1,111 @@
+<?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">
+<!-- namespace必须指向DAO接口 -->
+<mapper namespace="com.jpsoft.bus.modules.bus.dao.RouteTimeTableDAO">
+	<resultMap id="RouteTimeTableMap" type="com.jpsoft.bus.modules.bus.entity.RouteTimeTable">
+		<id property="id" column="id_" />
+			<result property="name" column="name_" />
+			<result property="sort" column="sort_" />
+			<result property="startTime" column="start_time" />
+			<result property="endTime" column="end_time" />
+			<result property="routeId" column="route_id" />
+			<result property="createBy" column="create_by" />
+			<result property="createTime" column="create_time" />
+			<result property="updateBy" column="update_by" />
+			<result property="updateTime" column="update_time" />
+			<result property="delFlag" column="del_flag" />
+			</resultMap>
+	<insert id="insert" parameterType="com.jpsoft.bus.modules.bus.entity.RouteTimeTable">
+	<!--
+	<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
+		select sys_guid() from dual
+	</selectKey>
+	-->
+	<![CDATA[
+		insert into bus_route_time_table
+	    (id_,name_,sort_,start_time,end_time,route_id,create_by,create_time,update_by,update_time,del_flag)
+		values
+		(
+#{id,jdbcType=VARCHAR}
+,#{name,jdbcType=VARCHAR}
+,#{sort,jdbcType= NUMERIC }
+,#{startTime,jdbcType=VARCHAR}
+,#{endTime,jdbcType=VARCHAR}
+,#{routeId,jdbcType=VARCHAR}
+,#{createBy,jdbcType=VARCHAR}
+,#{createTime,jdbcType= TIMESTAMP }
+,#{updateBy,jdbcType=VARCHAR}
+,#{updateTime,jdbcType= TIMESTAMP }
+,#{delFlag,jdbcType= NUMERIC }
+		)
+	]]>
+	</insert>
+	<delete id="delete" parameterType="string">
+		delete from bus_route_time_table where id_=#{id,jdbcType=VARCHAR}
+	</delete>
+	<update id="update" parameterType="com.jpsoft.bus.modules.bus.entity.RouteTimeTable">
+		update bus_route_time_table
+		<set>
+				<if test="name!=null">
+		name_=#{name,jdbcType=VARCHAR},
+		</if>
+				<if test="sort!=null">
+		sort_=#{sort,jdbcType= NUMERIC },
+		</if>
+				<if test="startTime!=null">
+		start_time=#{startTime,jdbcType=VARCHAR},
+		</if>
+				<if test="endTime!=null">
+		end_time=#{endTime,jdbcType=VARCHAR},
+		</if>
+				<if test="routeId!=null">
+		route_id=#{routeId,jdbcType=VARCHAR},
+		</if>
+				<if test="createBy!=null">
+		create_by=#{createBy,jdbcType=VARCHAR},
+		</if>
+				<if test="createTime!=null">
+		create_time=#{createTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="updateBy!=null">
+		update_by=#{updateBy,jdbcType=VARCHAR},
+		</if>
+				<if test="updateTime!=null">
+		update_time=#{updateTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="delFlag!=null">
+		del_flag=#{delFlag,jdbcType= NUMERIC },
+		</if>
+		</set>
+	where id_=#{id}
+	</update>
+	<select id="get" parameterType="string" resultMap="RouteTimeTableMap">
+		select 
+id_,name_,sort_,start_time,end_time,route_id,create_by,create_time,update_by,update_time,del_flag		from bus_route_time_table where id_=#{0}
+	</select>
+	<select id="exist" parameterType="string" resultType="int">
+		select count(*) from bus_route_time_table where id_=#{0}
+	</select>
+	<select id="list" resultMap="RouteTimeTableMap">
+		select * from bus_route_time_table
+	</select>
+	<select id="findByRouteId" resultMap="RouteTimeTableMap">
+		select * from bus_route_time_table where del_flag = false and route_id = #{0} order by sort_ desc limit 1
+	</select>
+
+	<select id="search" parameterType="hashmap" resultMap="RouteTimeTableMap">
+		<![CDATA[
+			select * from bus_route_time_table
+		]]>
+		<where>
+			del_flag = false
+			<if test="searchParams.routeId != null">
+				and route_id = #{searchParams.routeId}
+			</if>
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+	        ${sort.name} ${sort.order}
+	 	</foreach>
+	</select>
+</mapper>

+ 235 - 0
web/src/main/java/com/jpsoft/bus/modules/bus/controller/RouteTimeTableController.java

@@ -0,0 +1,235 @@
+package com.jpsoft.bus.modules.bus.controller;
+
+import com.github.pagehelper.Page;
+import com.jpsoft.bus.modules.common.dto.MessageResult;
+import com.jpsoft.bus.modules.common.dto.Sort;
+import com.jpsoft.bus.modules.bus.entity.RouteTimeTable;
+import com.jpsoft.bus.modules.bus.service.RouteTimeTableService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.ibatis.mapping.ResultMap;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+
+@RestController
+@RequestMapping("/bus/routeTimeTable")
+@Api(description = "routeTimeTable")
+public class RouteTimeTableController {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private RouteTimeTableService routeTimeTableService;
+
+    @ApiOperation(value="创建空记录")
+    @GetMapping("create")
+    public MessageResult<RouteTimeTable> create(){
+        RouteTimeTable dto = new RouteTimeTable();
+
+        MessageResult<RouteTimeTable> messageResult = new MessageResult<>();
+
+        messageResult.setResult(true);
+        messageResult.setData(dto);
+
+        return messageResult;
+    }
+
+    @ApiOperation(value="添加信息")
+    @PostMapping("add")
+    public MessageResult<RouteTimeTable> add(@RequestBody RouteTimeTable routeTimeTable,@RequestAttribute String subject){
+        MessageResult<RouteTimeTable> msgResult = new MessageResult<>();
+
+        try {
+            routeTimeTable.setId(UUID.randomUUID().toString());
+            routeTimeTable.setCreateBy(subject);
+            routeTimeTable.setCreateTime(new Date());
+            routeTimeTable.setDelFlag(false);
+
+
+            RouteTimeTable item = routeTimeTableService.findByRouteId(routeTimeTable.getRouteId());
+
+            if(item!=null){
+                routeTimeTable.setSort(item.getSort()+1);
+            }
+            else{
+                routeTimeTable.setSort(1);
+            }
+
+            int affectCount = routeTimeTableService.insert(routeTimeTable);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(routeTimeTable);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库添加失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="获取信息")
+    @GetMapping("edit/{id}")
+    public MessageResult<RouteTimeTable> detail(@PathVariable("id") String id){
+        MessageResult<RouteTimeTable> msgResult = new MessageResult<>();
+
+        try {
+            RouteTimeTable routeTimeTable = routeTimeTableService.get(id);
+
+            if (routeTimeTable != null) {
+                msgResult.setResult(true);
+                msgResult.setData(routeTimeTable);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库不存在该记录!");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="更新用户")
+    @PostMapping("update")
+    public MessageResult<RouteTimeTable> update(@RequestBody RouteTimeTable routeTimeTable,@RequestAttribute String subject){
+        MessageResult<RouteTimeTable> msgResult = new MessageResult<>();
+
+        try {
+
+            routeTimeTable.setUpdateBy(subject);
+            routeTimeTable.setUpdateTime(new Date());
+
+            int affectCount = routeTimeTableService.update(routeTimeTable);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(routeTimeTable);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库更新失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="删除用户")
+    @PostMapping("delete/{id}")
+    public MessageResult<RouteTimeTable> delete(@PathVariable("id") String id,@RequestAttribute String subject){
+        MessageResult<RouteTimeTable> msgResult = new MessageResult<>();
+
+        try {
+            RouteTimeTable routeTimeTable = routeTimeTableService.get(id);
+            routeTimeTable.setDelFlag(true);
+            routeTimeTable.setUpdateBy(subject);
+            routeTimeTable.setUpdateTime(new Date());
+
+            int affectCount = routeTimeTableService.update(routeTimeTable);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("数据库删除失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+
+    @ApiOperation(value="批量删除")
+    @PostMapping("batchDelete")
+    public MessageResult<Integer> batchDelete(@RequestBody List<String> idList,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            int affectCount = 0;
+
+            for (String id : idList) {
+                RouteTimeTable routeTimeTable = routeTimeTableService.get(id);
+                routeTimeTable.setDelFlag(true);
+                routeTimeTable.setUpdateBy(subject);
+                routeTimeTable.setUpdateTime(new Date());
+
+                affectCount += routeTimeTableService.update(routeTimeTable);
+            }
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(affectCount);
+            } else {
+                msgResult.setResult(false);
+                msgResult.setMessage("删除失败");
+            }
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
+    @ApiOperation(value="列表")
+    @RequestMapping(value = "pageList",method = RequestMethod.POST)
+    public MessageResult<Object> pageList(
+            String routeId,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            HttpServletRequest request){
+        String subject = (String)request.getAttribute("subject");
+
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<Object> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("sort_","asc"));
+
+        searchParams.put("routeId",routeId);
+
+        Page<RouteTimeTable> page = routeTimeTableService.pageSearch(searchParams,pageIndex,pageSize,sortList);
+
+        msgResult.setResult(true);
+        msgResult.setData(page.getResult());
+
+        return msgResult;
+    }
+}