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("操作成功!");
|
}
|
|
|
}
|