jz.kai 4 лет назад
Родитель
Сommit
eaaf83c75f

+ 18 - 0
common/src/main/java/com/jpsoft/machinery/modules/base/dao/CataloguesDAO.java

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

+ 18 - 0
common/src/main/java/com/jpsoft/machinery/modules/base/dao/CommodityDAO.java

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

+ 46 - 0
common/src/main/java/com/jpsoft/machinery/modules/base/entity/Catalogues.java

@@ -0,0 +1,46 @@
+package com.jpsoft.machinery.modules.base.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;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+  描述:base_catalogues的实体类
+ */
+@Data
+@ApiModel(value = "base_catalogues的实体类")
+public class Catalogues {
+        @ApiModelProperty(value = "编号")
+    private String id;
+        @ApiModelProperty(value = "名称")
+    private String title;
+        @ApiModelProperty(value = "简介")
+    private String content;
+        @ApiModelProperty(value = "图标路径")
+    private String iconUrl;
+        @ApiModelProperty(value = "上级")
+    private String parentId;
+    private String parentName;
+        @ApiModelProperty(value = "序号")
+    private Integer sort;
+        @ApiModelProperty(value = "是否删除")
+    private Boolean delFlag;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+        @ApiModelProperty(value = "创建人")
+    private String createBy;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+        @ApiModelProperty(value = "更新人")
+    private String updateBy;
+}

+ 48 - 0
common/src/main/java/com/jpsoft/machinery/modules/base/entity/Commodity.java

@@ -0,0 +1,48 @@
+package com.jpsoft.machinery.modules.base.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;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+  描述:base_commodity的实体类
+ */
+@Data
+@ApiModel(value = "base_commodity的实体类")
+public class Commodity {
+        @ApiModelProperty(value = "编号")
+    private String id;
+        @ApiModelProperty(value = "类型编号")
+    private String cataloguesId;
+    private String cataloguesName;
+        @ApiModelProperty(value = "商品型号")
+    private String productModel;
+        @ApiModelProperty(value = "商品图标")
+    private String productIcon;
+        @ApiModelProperty(value = "商品介绍")
+    private String productContent;
+        @ApiModelProperty(value = "商品图纸")
+    private String productPicture;
+        @ApiModelProperty(value = "商品库存")
+    private String productStock;
+        @ApiModelProperty(value = "是否删除")
+    private Boolean delFlag;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+        @ApiModelProperty(value = "创建人")
+    private String createBy;
+        @DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "更新时间")
+    private Date updateTime;
+        @ApiModelProperty(value = "更新人")
+    private String updateBy;
+}

+ 19 - 0
common/src/main/java/com/jpsoft/machinery/modules/base/service/CataloguesService.java

@@ -0,0 +1,19 @@
+package com.jpsoft.machinery.modules.base.service;
+
+import java.util.List;
+import java.util.Map;
+import com.jpsoft.machinery.modules.base.entity.Catalogues;
+import com.github.pagehelper.Page;
+import com.jpsoft.machinery.modules.common.dto.Sort;
+import com.jpsoft.machinery.modules.sys.entity.Menu;
+
+public interface CataloguesService {
+	Catalogues get(String id);
+	boolean exist(String id);
+	int insert(Catalogues model);
+	int update(Catalogues model);
+	int delete(String id);
+	List<Catalogues> list();
+	Page<Catalogues> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
+	List<Catalogues> query(Map<String, Object> searchParams, int limit, List<Sort> sortList);
+}

+ 17 - 0
common/src/main/java/com/jpsoft/machinery/modules/base/service/CommodityService.java

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

+ 81 - 0
common/src/main/java/com/jpsoft/machinery/modules/base/service/impl/CataloguesServiceImpl.java

@@ -0,0 +1,81 @@
+package com.jpsoft.machinery.modules.base.service.impl;
+
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import javax.annotation.Resource;
+
+import com.jpsoft.machinery.modules.sys.entity.Menu;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import com.jpsoft.machinery.modules.base.dao.CataloguesDAO;
+import com.jpsoft.machinery.modules.base.entity.Catalogues;
+import com.jpsoft.machinery.modules.base.service.CataloguesService;
+import com.github.pagehelper.Page;
+import com.jpsoft.machinery.modules.common.dto.Sort;
+import com.github.pagehelper.PageHelper;
+
+@Transactional
+@Component(value="cataloguesService")
+public class CataloguesServiceImpl implements CataloguesService {
+	@Resource(name="cataloguesDAO")
+	private CataloguesDAO cataloguesDAO;
+
+	@Override
+	public Catalogues get(String id) {
+		// TODO Auto-generated method stub
+		return cataloguesDAO.get(id);
+	}
+
+	@Override
+	public int insert(Catalogues model) {
+		// TODO Auto-generated method stub
+		//model.setId(UUID.randomUUID().toString());
+		
+		return cataloguesDAO.insert(model);
+	}
+
+	@Override
+	public int update(Catalogues model) {
+		// TODO Auto-generated method stub
+		return cataloguesDAO.update(model);		
+	}
+
+	@Override
+	public int delete(String id) {
+		// TODO Auto-generated method stub
+		return cataloguesDAO.delete(id);
+	}
+
+	@Override
+	public boolean exist(String id) {
+		// TODO Auto-generated method stub
+		int count = cataloguesDAO.exist(id);
+		
+		return count > 0 ? true : false;
+	}
+	
+	@Override
+	public List<Catalogues> list() {
+		// TODO Auto-generated method stub
+		return cataloguesDAO.list();
+	}
+		
+	@Override
+	public Page<Catalogues> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {
+        Page<Catalogues> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{
+            cataloguesDAO.search(searchParams,sortList);
+        });
+        
+        return page;
+	}
+
+	@Override
+	public List<Catalogues> query(Map<String, Object> searchParams, int limit, List<Sort> sortList) {
+		Page<Catalogues> page = PageHelper.startPage(1,limit,false).doSelectPage(()->{
+			cataloguesDAO.search(searchParams,sortList);
+		});
+
+		return page.getResult();
+	}
+}

+ 70 - 0
common/src/main/java/com/jpsoft/machinery/modules/base/service/impl/CommodityServiceImpl.java

@@ -0,0 +1,70 @@
+package com.jpsoft.machinery.modules.base.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.machinery.modules.base.dao.CommodityDAO;
+import com.jpsoft.machinery.modules.base.entity.Commodity;
+import com.jpsoft.machinery.modules.base.service.CommodityService;
+import com.github.pagehelper.Page;
+import com.jpsoft.machinery.modules.common.dto.Sort;
+import com.github.pagehelper.PageHelper;
+
+@Transactional
+@Component(value="commodityService")
+public class CommodityServiceImpl implements CommodityService {
+	@Resource(name="commodityDAO")
+	private CommodityDAO commodityDAO;
+
+	@Override
+	public Commodity get(String id) {
+		// TODO Auto-generated method stub
+		return commodityDAO.get(id);
+	}
+
+	@Override
+	public int insert(Commodity model) {
+		// TODO Auto-generated method stub
+		//model.setId(UUID.randomUUID().toString());
+		
+		return commodityDAO.insert(model);
+	}
+
+	@Override
+	public int update(Commodity model) {
+		// TODO Auto-generated method stub
+		return commodityDAO.update(model);		
+	}
+
+	@Override
+	public int delete(String id) {
+		// TODO Auto-generated method stub
+		return commodityDAO.delete(id);
+	}
+
+	@Override
+	public boolean exist(String id) {
+		// TODO Auto-generated method stub
+		int count = commodityDAO.exist(id);
+		
+		return count > 0 ? true : false;
+	}
+	
+	@Override
+	public List<Commodity> list() {
+		// TODO Auto-generated method stub
+		return commodityDAO.list();
+	}
+		
+	@Override
+	public Page<Commodity> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {
+        Page<Commodity> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{
+            commodityDAO.search(searchParams,sortList);
+        });
+        
+        return page;
+	}
+}

+ 110 - 0
common/src/main/resources/mapper/base/Catalogues.xml

@@ -0,0 +1,110 @@
+<?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.machinery.modules.base.dao.CataloguesDAO">
+	<resultMap id="CataloguesMap" type="com.jpsoft.machinery.modules.base.entity.Catalogues">
+		<id property="id" column="id_" />
+			<result property="title" column="title_" />
+			<result property="content" column="content_" />
+			<result property="iconUrl" column="icon_url" />
+			<result property="parentId" column="parent_id" />
+			<result property="sort" column="sort_" />
+			<result property="delFlag" column="del_flag" />
+			<result property="createTime" column="create_time" />
+			<result property="createBy" column="create_by" />
+			<result property="updateTime" column="update_time" />
+			<result property="updateBy" column="update_by" />
+			</resultMap>
+	<insert id="insert" parameterType="com.jpsoft.machinery.modules.base.entity.Catalogues">
+	<!--
+	<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
+		select sys_guid() from dual
+	</selectKey>
+	-->
+	<![CDATA[
+		insert into base_catalogues
+	    (id_,title_,content_,icon_url,parent_id,sort_,del_flag,create_time,create_by,update_time,update_by)
+		values
+		(
+#{id,jdbcType=VARCHAR}
+,#{title,jdbcType=VARCHAR}
+,#{content,jdbcType=VARCHAR}
+,#{iconUrl,jdbcType=VARCHAR}
+,#{parentId,jdbcType=VARCHAR}
+,#{sort,jdbcType= NUMERIC }
+,#{delFlag,jdbcType= NUMERIC }
+,#{createTime,jdbcType= TIMESTAMP }
+,#{createBy,jdbcType=VARCHAR}
+,#{updateTime,jdbcType= TIMESTAMP }
+,#{updateBy,jdbcType=VARCHAR}
+		)
+	]]>
+	</insert>
+	<delete id="delete" parameterType="string">
+		delete from base_catalogues where id_=#{id,jdbcType=VARCHAR}
+	</delete>
+	<update id="update" parameterType="com.jpsoft.machinery.modules.base.entity.Catalogues">
+		update base_catalogues
+		<set>
+				<if test="title!=null">
+		title_=#{title,jdbcType=VARCHAR},
+		</if>
+				<if test="content!=null">
+		content_=#{content,jdbcType=VARCHAR},
+		</if>
+				<if test="iconUrl!=null">
+		icon_url=#{iconUrl,jdbcType=VARCHAR},
+		</if>
+				<if test="parentId!=null">
+		parent_id=#{parentId,jdbcType=VARCHAR},
+		</if>
+				<if test="sort!=null">
+		sort_=#{sort,jdbcType= NUMERIC },
+		</if>
+				<if test="delFlag!=null">
+		del_flag=#{delFlag,jdbcType= NUMERIC },
+		</if>
+				<if test="createTime!=null">
+		create_time=#{createTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="createBy!=null">
+		create_by=#{createBy,jdbcType=VARCHAR},
+		</if>
+				<if test="updateTime!=null">
+		update_time=#{updateTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="updateBy!=null">
+		update_by=#{updateBy,jdbcType=VARCHAR},
+		</if>
+		</set>
+	where id_=#{id}
+	</update>
+	<select id="get" parameterType="string" resultMap="CataloguesMap">
+		select 
+id_,title_,content_,icon_url,parent_id,sort_,del_flag,create_time,create_by,update_time,update_by		from base_catalogues where id_=#{0}
+	</select>
+	<select id="exist" parameterType="string" resultType="int">
+		select count(*) from base_catalogues where id_=#{0}
+	</select>
+	<select id="list" resultMap="CataloguesMap">
+		select * from base_catalogues
+	</select>
+	<select id="search" parameterType="hashmap" resultMap="CataloguesMap">
+		<![CDATA[
+			select * from base_catalogues
+		]]>
+		<where>
+			del_flag=0
+			<if test="searchParams.title != null">
+				and title_ like #{searchParams.title}
+			</if>
+			<if test="searchParams.parentId != null">
+				and parent_id = #{searchParams.parentId}
+			</if>
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+	        ${sort.name} ${sort.order}
+	 	</foreach>
+	</select>
+</mapper>

+ 114 - 0
common/src/main/resources/mapper/base/Commodity.xml

@@ -0,0 +1,114 @@
+<?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.machinery.modules.base.dao.CommodityDAO">
+	<resultMap id="CommodityMap" type="com.jpsoft.machinery.modules.base.entity.Commodity">
+		<id property="id" column="id_" />
+			<result property="cataloguesId" column="catalogues_id" />
+			<result property="productModel" column="product_model" />
+			<result property="productIcon" column="product_icon" />
+			<result property="productContent" column="product_content" />
+			<result property="productPicture" column="product_picture" />
+			<result property="productStock" column="product_stock" />
+			<result property="delFlag" column="del_flag" />
+			<result property="createTime" column="create_time" />
+			<result property="createBy" column="create_by" />
+			<result property="updateTime" column="update_time" />
+			<result property="updateBy" column="update_by" />
+			</resultMap>
+	<insert id="insert" parameterType="com.jpsoft.machinery.modules.base.entity.Commodity">
+	<!--
+	<selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
+		select sys_guid() from dual
+	</selectKey>
+	-->
+	<![CDATA[
+		insert into base_commodity
+	    (id_,catalogues_id,product_model,product_icon,product_content,product_picture,product_stock,del_flag,create_time,create_by,update_time,update_by)
+		values
+		(
+#{id,jdbcType=VARCHAR}
+,#{cataloguesId,jdbcType=VARCHAR}
+,#{productModel,jdbcType=VARCHAR}
+,#{productIcon,jdbcType=VARCHAR}
+,#{productContent,jdbcType=VARCHAR}
+,#{productPicture,jdbcType=VARCHAR}
+,#{productStock,jdbcType=VARCHAR}
+,#{delFlag,jdbcType= NUMERIC }
+,#{createTime,jdbcType= TIMESTAMP }
+,#{createBy,jdbcType=VARCHAR}
+,#{updateTime,jdbcType= TIMESTAMP }
+,#{updateBy,jdbcType=VARCHAR}
+		)
+	]]>
+	</insert>
+	<delete id="delete" parameterType="string">
+		delete from base_commodity where id_=#{id,jdbcType=VARCHAR}
+	</delete>
+	<update id="update" parameterType="com.jpsoft.machinery.modules.base.entity.Commodity">
+		update base_commodity
+		<set>
+				<if test="cataloguesId!=null">
+		catalogues_id=#{cataloguesId,jdbcType=VARCHAR},
+		</if>
+				<if test="productModel!=null">
+		product_model=#{productModel,jdbcType=VARCHAR},
+		</if>
+				<if test="productIcon!=null">
+		product_icon=#{productIcon,jdbcType=VARCHAR},
+		</if>
+				<if test="productContent!=null">
+		product_content=#{productContent,jdbcType=VARCHAR},
+		</if>
+				<if test="productPicture!=null">
+		product_picture=#{productPicture,jdbcType=VARCHAR},
+		</if>
+				<if test="productStock!=null">
+		product_stock=#{productStock,jdbcType=VARCHAR},
+		</if>
+				<if test="delFlag!=null">
+		del_flag=#{delFlag,jdbcType= NUMERIC },
+		</if>
+				<if test="createTime!=null">
+		create_time=#{createTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="createBy!=null">
+		create_by=#{createBy,jdbcType=VARCHAR},
+		</if>
+				<if test="updateTime!=null">
+		update_time=#{updateTime,jdbcType= TIMESTAMP },
+		</if>
+				<if test="updateBy!=null">
+		update_by=#{updateBy,jdbcType=VARCHAR},
+		</if>
+		</set>
+	where id_=#{id}
+	</update>
+	<select id="get" parameterType="string" resultMap="CommodityMap">
+		select 
+id_,catalogues_id,product_model,product_icon,product_content,product_picture,product_stock,del_flag,create_time,create_by,update_time,update_by		from base_commodity where id_=#{0}
+	</select>
+	<select id="exist" parameterType="string" resultType="int">
+		select count(*) from base_commodity where id_=#{0}
+	</select>
+	<select id="list" resultMap="CommodityMap">
+		select * from base_commodity
+	</select>
+	<select id="search" parameterType="hashmap" resultMap="CommodityMap">
+		<![CDATA[
+			select * from base_commodity
+		]]>
+		<where>
+			<if test="searchParams.cataloguesId != null">
+				and catalogues_id = #{searchParams.cataloguesId}
+			</if>
+			<if test="searchParams.productModel != null">
+				and product_model like #{searchParams.productModel}
+			</if>
+		</where>
+		<foreach item="sort" collection="sortList"  open="order by" separator=",">
+	        ${sort.name} ${sort.order}
+	 	</foreach>
+	</select>
+</mapper>

+ 268 - 0
web/src/main/java/com/jpsoft/machinery/modules/base/controller/CataloguesController.java

@@ -0,0 +1,268 @@
+package com.jpsoft.machinery.modules.base.controller;
+
+import com.github.pagehelper.Page;
+import com.jpsoft.machinery.modules.common.dto.QueryListDTO;
+import com.jpsoft.machinery.modules.common.utils.PojoUtils;
+import com.jpsoft.machinery.modules.common.dto.Sort;
+import com.jpsoft.machinery.modules.common.dto.MessageResult;
+import com.jpsoft.machinery.modules.base.entity.Catalogues;
+import com.jpsoft.machinery.modules.base.service.CataloguesService;
+import com.jpsoft.machinery.modules.sys.entity.Menu;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+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("/base/catalogues")
+@Api(description = "catalogues")
+public class CataloguesController {
+    private Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private CataloguesService cataloguesService;
+
+    @ApiOperation(value="创建空记录")
+    @GetMapping("create")
+    public MessageResult<Catalogues> create(){
+        MessageResult<Catalogues> msgResult = new MessageResult<>();
+
+        Catalogues catalogues = new Catalogues();
+
+        msgResult.setData(catalogues);
+        msgResult.setResult(true);
+
+        return msgResult;
+    }
+    
+    @ApiOperation(value="添加信息")
+    @PostMapping("add")
+    public MessageResult<Catalogues> add(@RequestBody Catalogues catalogues,@RequestAttribute String subject){
+        MessageResult<Catalogues> msgResult = new MessageResult<>();
+
+        try {
+            catalogues.setId(UUID.randomUUID().toString());
+            catalogues.setDelFlag(false);
+            catalogues.setCreateBy(subject);
+            catalogues.setCreateTime(new Date());
+            
+            int affectCount = cataloguesService.insert(catalogues);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(catalogues);
+            } 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<Catalogues> edit(@PathVariable("id") String id){
+        MessageResult<Catalogues> msgResult = new MessageResult<>();
+
+        try {
+            Catalogues catalogues = cataloguesService.get(id);
+
+            if (catalogues != null) {
+                msgResult.setResult(true);
+                msgResult.setData(catalogues);
+            } 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<Catalogues> update(@RequestBody Catalogues catalogues,@RequestAttribute String subject){
+        MessageResult<Catalogues> msgResult = new MessageResult<>();
+
+        try {
+            catalogues.setUpdateBy(subject);
+            catalogues.setUpdateTime(new Date());
+            
+            int affectCount = cataloguesService.update(catalogues);
+
+            if (affectCount > 0) {
+                msgResult.setResult(true);
+                msgResult.setData(catalogues);
+            } 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<Integer> delete(@PathVariable("id") String id,@RequestAttribute String subject){
+        MessageResult<Integer> msgResult = new MessageResult<>();
+
+        try {
+            Catalogues catalogues = cataloguesService.get(id);
+            catalogues.setDelFlag(true);
+            catalogues.setUpdateBy(subject);
+            catalogues.setUpdateTime(new Date());
+
+            int affectCount = cataloguesService.update(catalogues);
+
+            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="批量删除")
+    @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) {
+                Catalogues catalogues = cataloguesService.get(id);
+                catalogues.setDelFlag(true);
+                catalogues.setUpdateBy(subject);
+                catalogues.setUpdateTime(new Date());
+
+                affectCount += cataloguesService.update(catalogues);
+            }
+
+            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<Map> pageList(
+            String title, String parentId,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,
+            @RequestAttribute String subject){
+
+        //当前用户ID
+        System.out.println(subject);
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("sort_","asc"));
+
+        if (StringUtils.isNotEmpty(title)) {
+            searchParams.put("title","%" + title + "%");
+        }
+        if (StringUtils.isNotEmpty(parentId) && !"null".equals(parentId)) {
+            searchParams.put("parentId",parentId);
+        }
+
+        Page<Catalogues> page = cataloguesService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+        for(Catalogues catalogues : page.getResult()){
+            Catalogues cataloguesEx = cataloguesService.get(catalogues.getParentId());
+            if(cataloguesEx != null){
+                catalogues.setParentName(cataloguesEx.getTitle());
+            }
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+    }
+
+    @ApiOperation(value = "查询")
+    @RequestMapping(value = "query", method = RequestMethod.POST)
+    public MessageResult<List> query(
+            String keywords,
+            @RequestAttribute String subject) {
+        MessageResult<List> msgResult = new MessageResult<>();
+
+        Map<String, Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("create_time", "asc"));
+
+        if (StringUtils.isNotEmpty(keywords)) {
+            searchParams.put("title", "%" + keywords + "%");
+        }
+
+        List<QueryListDTO> queryListDTOList = new ArrayList<>();
+        List<Catalogues> cataloguesList = cataloguesService.query(searchParams, 1000, sortList);
+        for(Catalogues catalogues : cataloguesList){
+            QueryListDTO queryListDTO = new QueryListDTO();
+            queryListDTO.setId(catalogues.getId());
+            queryListDTO.setName(catalogues.getTitle());
+            queryListDTO.setParentId(catalogues.getParentId());
+            queryListDTOList.add(queryListDTO);
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(queryListDTOList);
+
+        return msgResult;
+    }
+}