From 38609ee05255ce5c36f308fe8d595555a86f9ba3 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 22 Jun 2021 17:04:13 +0800
Subject: [PATCH] 20210622 商品分类

---
 gc-shop/src/main/java/com/xzx/gc/shop/controller/GoodsController.java      |  175 +++++++++++++++++++++
 gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsCategoryMapper.java |    7 
 gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsCategoryListVo.java     |   30 +++
 gc-shop/src/main/java/com/xzx/gc/shop/dto/DeleteGoodsCategoryDto.java      |    8 +
 gc-core/src/main/java/com/xzx/gc/model/admin/GoodsCategoryModel.java       |   29 +++
 pom.xml                                                                    |    1 
 gc-core/src/main/java/com/xzx/gc/common/constant/Constants.java            |    1 
 gc-shop/src/main/java/com/xzx/gc/shop/dto/AddGoodsCategoryDto.java         |   21 ++
 gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java            |   92 +++++++++++
 gc-shop/src/main/java/com/xzx/gc/shop/vo/ViewGoodsCategoryVo.java          |   17 ++
 gc-core/src/main/java/com/xzx/gc/common/entity/BaseEntity.java             |   10 
 gc-shop/src/main/java/com/xzx/gc/shop/dto/QueryGoodsCategoryListDto.java   |   21 ++
 gc-shop/src/main/resources/mapper/shop/ScoreGoodsCategoryMapper.xml        |   23 ++
 gc-shop/src/main/java/com/xzx/gc/shop/dto/UpdateGoodsCategoryDto.java      |   16 ++
 14 files changed, 448 insertions(+), 3 deletions(-)

diff --git a/gc-core/src/main/java/com/xzx/gc/common/constant/Constants.java b/gc-core/src/main/java/com/xzx/gc/common/constant/Constants.java
index 30d3f14..fe2d431 100644
--- a/gc-core/src/main/java/com/xzx/gc/common/constant/Constants.java
+++ b/gc-core/src/main/java/com/xzx/gc/common/constant/Constants.java
@@ -193,6 +193,7 @@
     public static  final String SYS_MODUL_NAME="消息模块";
     public static  final String PAY_MODUL_NAME="支付模块";
     public static  final String ROLE_MODUL_NAME="权限模块";
+    public static  final String SCORESHOP_MODUL_NAME="积分商城模块";
 
 
     //最小正常文件大小
diff --git a/gc-core/src/main/java/com/xzx/gc/common/entity/BaseEntity.java b/gc-core/src/main/java/com/xzx/gc/common/entity/BaseEntity.java
index f742eb3..c7fb9cc 100644
--- a/gc-core/src/main/java/com/xzx/gc/common/entity/BaseEntity.java
+++ b/gc-core/src/main/java/com/xzx/gc/common/entity/BaseEntity.java
@@ -1,19 +1,23 @@
 package com.xzx.gc.common.entity;
 
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
+import java.io.Serializable;
 import java.util.Date;
 
 @Data
-public class BaseEntity {
+public class BaseEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
 
-    private String createBy;
+    private String createdBy;
 
-    private Date createTime;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createdTime;
 
     private String delFlag;
 
diff --git a/gc-core/src/main/java/com/xzx/gc/model/admin/GoodsCategoryModel.java b/gc-core/src/main/java/com/xzx/gc/model/admin/GoodsCategoryModel.java
new file mode 100644
index 0000000..d2ccc1b
--- /dev/null
+++ b/gc-core/src/main/java/com/xzx/gc/model/admin/GoodsCategoryModel.java
@@ -0,0 +1,29 @@
+package com.xzx.gc.model.admin;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+@Data
+public class GoodsCategoryModel implements Serializable {
+
+    private long id ;
+    @ApiModelProperty(value="分类名称",required=true)
+    private String name;
+    @ApiModelProperty(value="类别标识",required=true)
+    private String categoryIden;
+    @ApiModelProperty(value="父分类",required=true)
+    private Long parentId;
+
+    @JSONField(format="yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value="创建时间")
+    private Date createdTime;
+    private String createdBy;
+
+    int page;
+    int limit;
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/controller/GoodsController.java b/gc-shop/src/main/java/com/xzx/gc/shop/controller/GoodsController.java
new file mode 100644
index 0000000..3ae1d0e
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/controller/GoodsController.java
@@ -0,0 +1,175 @@
+package com.xzx.gc.shop.controller;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.xzx.gc.common.constant.CommonEnum;
+import com.xzx.gc.common.constant.Constants;
+import com.xzx.gc.common.dto.log.OperationAppLog;
+import com.xzx.gc.common.request.BaseController;
+import com.xzx.gc.entity.ScoreGoodsCategory;
+import com.xzx.gc.model.JsonResult;
+import com.xzx.gc.model.admin.GoodsCategoryModel;
+import com.xzx.gc.shop.dto.AddGoodsCategoryDto;
+import com.xzx.gc.shop.dto.DeleteGoodsCategoryDto;
+import com.xzx.gc.shop.dto.QueryGoodsCategoryListDto;
+import com.xzx.gc.shop.dto.UpdateGoodsCategoryDto;
+import com.xzx.gc.shop.mapper.ScoreGoodsCategoryMapper;
+import com.xzx.gc.shop.service.GoodsService;
+import com.xzx.gc.shop.vo.QueryGoodsCategoryListVo;
+import com.xzx.gc.shop.vo.ViewGoodsCategoryVo;
+import io.swagger.annotations.*;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@Api(tags = {"积分商城--商品管理"})
+@Slf4j
+public class GoodsController extends BaseController {
+
+    @Resource
+    private GoodsService goodsService;
+
+    @Resource
+    private ScoreGoodsCategoryMapper scoreGoodsCategoryMapper;
+
+    /**
+     * 查询商品分类列表
+     * xzx_score_goods_category商品分类
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX+"/score/goods/queryGoodsCategoryList.json")
+    @ApiResponses({@ApiResponse( code = 200, message = "success", response = QueryGoodsCategoryListVo.class)})
+    @ApiOperation(value = "商品分类管理-商品分类列表", notes = "test: 仅0有正确返回")
+    public JsonResult<Map<String, Object>> queryGoodsCategoryList(@RequestBody QueryGoodsCategoryListDto model) {
+        Map<String, Object> result = goodsService.queryGoodsCategoryList(model);
+        return JsonResult.success(result);
+    }
+
+    /**
+     * 添加商品分类
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX+"/score/goods/addGoodsCategory.json")
+    @ApiOperation(value = "商品分类管理-添加商品分类", notes = "test: 仅0有正确返回")
+    public JsonResult<String> addGoodsCategory(@RequestBody AddGoodsCategoryDto model, HttpServletRequest request) {
+        String name = model.getName();
+        if(StrUtil.isEmpty(name)){
+            return JsonResult.failMessage("分类名称不能为空!");
+        }
+        String categoryIden = model.getCategoryIden();
+        if(StrUtil.isEmpty(categoryIden)){
+            return JsonResult.failMessage("分类代码不能为空!");
+        }
+        Long parentId = model.getParentId();
+        if(StrUtil.isEmpty(parentId.toString())){
+            return JsonResult.failMessage("父类不能为空!");
+        }
+        GoodsCategoryModel goodsCategoryModel = new GoodsCategoryModel();
+        goodsCategoryModel.setName(name);
+        goodsCategoryModel.setCategoryIden(categoryIden);
+        goodsCategoryModel.setParentId(parentId);
+        List<QueryGoodsCategoryListVo> maps = scoreGoodsCategoryMapper.queryGoodsCategoryList(goodsCategoryModel);
+        if(CollUtil.isNotEmpty(maps)){
+            return JsonResult.failMessage("分类不能重复添加!");
+        }
+        goodsCategoryModel.setCreatedBy(getAdminName(request));
+        goodsCategoryModel.setCreatedTime(new Date());
+        Long scoreGoodsCategoryId = goodsService.addGoodsCategory(goodsCategoryModel);
+        if(scoreGoodsCategoryId > 0){
+            OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("商品管理-添加商品分类-" + scoreGoodsCategoryId).build();
+            mqUtil.sendApp(build);
+            return  JsonResult.success("操作成功!");
+        }else{
+            return  JsonResult.failMessage("操作失败!");
+        }
+    }
+
+    /**
+     * 删除添加商品分类
+     */
+
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/deleteGoodsCategory.json")
+    @ApiOperation(value="商品分类管理-删除添加商品分类", notes="test: 仅0有正确返回")
+    public JsonResult deleteGoodsCategory(@RequestBody DeleteGoodsCategoryDto model, HttpServletRequest request) {
+        long id = model.getId();
+        ScoreGoodsCategory scoreGoodsCategory = scoreGoodsCategoryMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(scoreGoodsCategory)){
+            return JsonResult.failMessage("分类不存在!");
+        }
+        goodsService.deleteGoodsCategory(id);
+        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("商品管理-删除添加商品分类-"+id).build();
+        mqUtil.sendApp(build);
+        return new JsonResult().success("操作成功!");
+    }
+
+    /**
+     * 查看商品分类详情
+     */
+    @GetMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/viewGoodsCategory/{id}")
+    @ApiResponses({@ApiResponse( code = 200, message = "success", response = ViewGoodsCategoryVo.class)})
+    @ApiOperation(value="商品分类管理-查看商品分类详情", notes="test: 仅0有正确返回")
+    public JsonResult<ViewGoodsCategoryVo> viewGoodsCategory(@PathVariable long id) {
+        ViewGoodsCategoryVo viewGoodsCategoryVo = goodsService.viewGoodsCategoryById(id);
+        return JsonResult.success(viewGoodsCategoryVo);
+    }
+
+    /**
+     * 更新商品分类
+     * @param model
+     * @return
+     */
+    @PostMapping(Constants.ADMIN_VIEW_PREFIX + "/score/goods/updateGoodsCategory.json")
+    @ApiOperation(value="商品分类管理-更新商品分类", notes="test: 仅0有正确返回")
+    public JsonResult updateGoodsCategory(@RequestBody UpdateGoodsCategoryDto model, HttpServletRequest request) {
+        long id = model.getId();
+        ScoreGoodsCategory scoreGoodsCategory = scoreGoodsCategoryMapper.selectByPrimaryKey(id);
+        if(ObjectUtil.isEmpty(scoreGoodsCategory)){
+            return JsonResult.failMessage("分类不存在!");
+        }
+        String name = model.getName();
+        if(StrUtil.isEmpty(name)){
+            return JsonResult.failMessage("分类名称不能为空!");
+        }
+        if(!name.equals(scoreGoodsCategory.getName())){
+            scoreGoodsCategory.setName(name);
+        }
+        String categoryIden = model.getCategoryIden();
+        if(StrUtil.isEmpty(categoryIden)){
+            return JsonResult.failMessage("分类代码不能为空!");
+        }
+        if(!categoryIden.equals(scoreGoodsCategory.getCategoryIden())){
+            scoreGoodsCategory.setCategoryIden(categoryIden);
+        }
+        Long parentId = model.getParentId();
+        if(StrUtil.isEmpty(parentId.toString())){
+            return JsonResult.failMessage("父类不能为空!");
+        }
+        if(!parentId.equals(scoreGoodsCategory.getParentId())){
+            scoreGoodsCategory.setParentId(parentId);
+        }
+
+        GoodsCategoryModel goodsCategoryModel = new GoodsCategoryModel();
+        goodsCategoryModel.setName(name);
+        goodsCategoryModel.setCategoryIden(categoryIden);
+        goodsCategoryModel.setParentId(parentId);
+        List<QueryGoodsCategoryListVo> maps = scoreGoodsCategoryMapper.queryGoodsCategoryList(goodsCategoryModel);
+        if(CollUtil.isNotEmpty(maps)){
+            return JsonResult.failMessage("分类不能重复添加!");
+        }
+        goodsCategoryModel.setId(id);
+        goodsService.updateGoodsCategory(goodsCategoryModel);
+        OperationAppLog build = OperationAppLog.builder().appPrograme(CommonEnum.后台.getValue()).opreateName(getAdminName(request))
+                    .methodName(Constants.SCORESHOP_MODUL_NAME).operateAction("商品管理-更新商品分类-" + id).build();
+        mqUtil.sendApp(build);
+        return  JsonResult.success("操作成功!");
+    }
+
+
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/AddGoodsCategoryDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/AddGoodsCategoryDto.java
new file mode 100644
index 0000000..3af003a
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/AddGoodsCategoryDto.java
@@ -0,0 +1,21 @@
+package com.xzx.gc.shop.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class AddGoodsCategoryDto implements Serializable {
+
+    @ApiModelProperty(value="分类名称")
+    private String name;
+    @ApiModelProperty(value="类别标识")
+    private String categoryIden;
+    @ApiModelProperty(value="父分类")
+    private Long parentId;
+
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/DeleteGoodsCategoryDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/DeleteGoodsCategoryDto.java
new file mode 100644
index 0000000..6f5b7dc
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/DeleteGoodsCategoryDto.java
@@ -0,0 +1,8 @@
+package com.xzx.gc.shop.dto;
+
+import lombok.Data;
+
+@Data
+public class DeleteGoodsCategoryDto {
+    private long id;
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/QueryGoodsCategoryListDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/QueryGoodsCategoryListDto.java
new file mode 100644
index 0000000..12bf640
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/QueryGoodsCategoryListDto.java
@@ -0,0 +1,21 @@
+package com.xzx.gc.shop.dto;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+public class QueryGoodsCategoryListDto implements Serializable {
+
+    @ApiModelProperty(value="分类名称",required=true)
+    private String name;
+    @ApiModelProperty(value="第几页",required=true)
+    private int page;
+    @ApiModelProperty(value="每一页数量",required=true)
+    private int limit;
+
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/dto/UpdateGoodsCategoryDto.java b/gc-shop/src/main/java/com/xzx/gc/shop/dto/UpdateGoodsCategoryDto.java
new file mode 100644
index 0000000..c18d5c7
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/dto/UpdateGoodsCategoryDto.java
@@ -0,0 +1,16 @@
+package com.xzx.gc.shop.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class UpdateGoodsCategoryDto {
+
+    private long id;
+    @ApiModelProperty(value="分类名称")
+    private String name;
+    @ApiModelProperty(value="类别标识")
+    private String categoryIden;
+    @ApiModelProperty(value="父分类")
+    private Long parentId;
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsCategoryMapper.java b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsCategoryMapper.java
index 739c2e9..2f28934 100644
--- a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsCategoryMapper.java
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/ScoreGoodsCategoryMapper.java
@@ -1,7 +1,14 @@
 package com.xzx.gc.shop.mapper;
 
 import com.xzx.gc.entity.ScoreGoodsCategory;
+import com.xzx.gc.model.admin.GoodsCategoryModel;
+import com.xzx.gc.shop.vo.QueryGoodsCategoryListVo;
 import com.xzx.gc.util.GcMapper;
 
+import java.util.List;
+
 public interface ScoreGoodsCategoryMapper extends GcMapper<ScoreGoodsCategory> {
+
+    List<QueryGoodsCategoryListVo> queryGoodsCategoryList(GoodsCategoryModel goodsCategoryModel);
+
 }
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
new file mode 100644
index 0000000..59030c1
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/GoodsService.java
@@ -0,0 +1,92 @@
+package com.xzx.gc.shop.service;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.StrUtil;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.xzx.gc.common.constant.CommonEnum;
+import com.xzx.gc.common.constant.Constants;
+import com.xzx.gc.common.dto.log.OperationAppLog;
+import com.xzx.gc.common.utils.MqUtil;
+import com.xzx.gc.entity.CoreUser;
+import com.xzx.gc.entity.ScoreGoodsCategory;
+import com.xzx.gc.model.JsonResult;
+import com.xzx.gc.model.admin.GoodsCategoryModel;
+import com.xzx.gc.shop.dto.QueryGoodsCategoryListDto;
+import com.xzx.gc.shop.mapper.ScoreGoodsCategoryMapper;
+import com.xzx.gc.shop.vo.QueryGoodsCategoryListVo;
+import com.xzx.gc.shop.vo.ViewGoodsCategoryVo;
+import com.xzx.gc.util.SessionUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+@Transactional
+@Slf4j
+public class GoodsService {
+
+    @Resource
+    ScoreGoodsCategoryMapper scoreGoodsCategoryMapper;
+
+    @Autowired
+    private MqUtil mqUtil;
+
+    public Map<String, Object> queryGoodsCategoryList(QueryGoodsCategoryListDto model) {
+        String name = model.getName();
+        GoodsCategoryModel goodsCategoryModel = new GoodsCategoryModel();
+        goodsCategoryModel.setName(name);
+        PageHelper.startPage(model.getPage(), model.getLimit());
+
+        List<QueryGoodsCategoryListVo> maps = scoreGoodsCategoryMapper.queryGoodsCategoryList(goodsCategoryModel);
+        PageInfo pageInfo = new PageInfo(maps);
+        int count = Convert.toInt(pageInfo.getTotal());
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", maps);
+        map.put("count", count);
+        map.put("code", 0);
+        return map;
+    }
+
+    public Long addGoodsCategory(GoodsCategoryModel model) {
+        ScoreGoodsCategory scoreGoodsCategory = new ScoreGoodsCategory();
+        scoreGoodsCategory.setName(model.getName());
+        scoreGoodsCategory.setCategoryIden(model.getCategoryIden());
+        scoreGoodsCategory.setParentId(model.getParentId());
+        scoreGoodsCategory.setCreatedBy(model.getCreatedBy());
+        scoreGoodsCategory.setCreatedTime(model.getCreatedTime());
+        scoreGoodsCategoryMapper.insert(scoreGoodsCategory);
+        return scoreGoodsCategory.getId();
+    }
+
+    public void deleteGoodsCategory(long id) {
+        scoreGoodsCategoryMapper.deleteByPrimaryKey(id);
+    }
+
+    public ViewGoodsCategoryVo viewGoodsCategoryById(long id) {
+        ScoreGoodsCategory scoreGoodsCategory = scoreGoodsCategoryMapper.selectByPrimaryKey(id);
+        ViewGoodsCategoryVo viewGoodsCategoryVo = new ViewGoodsCategoryVo();
+        viewGoodsCategoryVo.setId(scoreGoodsCategory.getId());
+        viewGoodsCategoryVo.setName(scoreGoodsCategory.getName());
+        viewGoodsCategoryVo.setCategoryIden(scoreGoodsCategory.getCategoryIden());
+        viewGoodsCategoryVo.setParentId(scoreGoodsCategory.getParentId());
+        return viewGoodsCategoryVo;
+    }
+
+    public void updateGoodsCategory(GoodsCategoryModel model) {
+        long id = model.getId();
+        ScoreGoodsCategory scoreGoodsCategory = scoreGoodsCategoryMapper.selectByPrimaryKey(id);
+        scoreGoodsCategory.setName(model.getName());
+        scoreGoodsCategory.setCategoryIden(model.getCategoryIden());
+        scoreGoodsCategory.setParentId(model.getParentId());
+        scoreGoodsCategoryMapper.updateByPrimaryKey(scoreGoodsCategory);
+    }
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsCategoryListVo.java b/gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsCategoryListVo.java
new file mode 100644
index 0000000..b82208c
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/vo/QueryGoodsCategoryListVo.java
@@ -0,0 +1,30 @@
+package com.xzx.gc.shop.vo;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+@ApiModel(value = "QueryGoodsCategoryListVo", description = "信息返回")
+public class QueryGoodsCategoryListVo {
+
+    private long id ;
+    @ApiModelProperty(value="分类名称")
+    private String name;
+    @ApiModelProperty(value="类别标识")
+    private String categoryIden;
+    @ApiModelProperty(value="父分类")
+    private Long parentId;
+
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @ApiModelProperty(value="创建时间")
+    private Date createdTime;
+
+    @ApiModelProperty(value="创建人")
+    private String createdBy;
+}
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/vo/ViewGoodsCategoryVo.java b/gc-shop/src/main/java/com/xzx/gc/shop/vo/ViewGoodsCategoryVo.java
new file mode 100644
index 0000000..8371cb5
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/vo/ViewGoodsCategoryVo.java
@@ -0,0 +1,17 @@
+package com.xzx.gc.shop.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "ViewGoodsCategoryVo", description = "返回")
+public class ViewGoodsCategoryVo {
+    private long id ;
+    @ApiModelProperty(value="分类名称")
+    private String name;
+    @ApiModelProperty(value="类别标识")
+    private String categoryIden;
+    @ApiModelProperty(value="父分类")
+    private Long parentId;
+}
diff --git a/gc-shop/src/main/resources/mapper/shop/ScoreGoodsCategoryMapper.xml b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsCategoryMapper.xml
new file mode 100644
index 0000000..581a8ec
--- /dev/null
+++ b/gc-shop/src/main/resources/mapper/shop/ScoreGoodsCategoryMapper.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xzx.gc.shop.mapper.ScoreGoodsCategoryMapper">
+
+    <select id="queryGoodsCategoryList" resultType="com.xzx.gc.shop.vo.QueryGoodsCategoryListVo">
+        SELECT
+               *
+        FROM
+        xzx_score_goods_category a
+        WHERE 1 = 1
+        <if test="name != null and name != ''">
+            and a.name=#{name}
+        </if>
+        <if test="categoryIden != null and categoryIden != ''">
+            and a.category_iden=#{categoryIden}
+        </if>
+        <if test="parentId != null and parentId != ''">
+            and a.parent_id=#{parentId}
+        </if>
+        order by a.CREATED_TIME desc
+    </select>
+
+</mapper>
diff --git a/pom.xml b/pom.xml
index ac3a5f5..a0d43e8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,7 @@
         <module>gc-sys</module>
         <module>gc-pay</module>
         <module>gc-role</module>
+        <module>gc-shop</module>
         <!--<module>gc-admin</module>-->
     </modules>
     <packaging>pom</packaging>

--
Gitblit v1.9.1