记得上下班打卡 | git大法好,push需谨慎

Commit a81c891a authored by 张国柄's avatar 张国柄

~admin:+标签管理;

parent 75015bcb
package com.liquidnet.client.admin.web.controller.zhengzai.goblin;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.service.goblin.entity.GoblinSelfGoodsCategory;
import com.liquidnet.service.goblin.entity.GoblinStoreInfo;
import io.swagger.annotations.Api;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("goblin/category")
public class GoblinSelfCategoryController extends BaseController {
private final String prefix = "zhengzai/goblin/category";
@GetMapping()
public String category() {
return prefix.concat("/category");
}
@RequiresPermissions("goblin:category:list")
@RequestMapping("/list")
@ResponseBody
public TableDataInfo list(GoblinStoreInfo storeInfo) {
LambdaQueryWrapper<GoblinSelfGoodsCategory> lambdaQueryWrapper = Wrappers.lambdaQuery(GoblinSelfGoodsCategory.class);
lambdaQueryWrapper.eq(GoblinSelfGoodsCategory::getDelFlg, "0");
PageHelper.startPage(0, 1000, "mid desc");
return getDataTable(null);
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.goblin;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.core.text.Convert;
import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.goblin.dto.GoblinSelfExtagExcelDto;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinSelfTagService;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.goblin.entity.GoblinSelfTag;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@Api(tags = "音乐人标签库")
@Controller
@RequestMapping("goblin/extag")
public class GoblinSelfExtagController extends BaseController {
private final String prefix = "zhengzai/goblin/extag";
@Autowired
IGoblinSelfTagService goblinSelfTagService;
@GetMapping()
public String extag() {
return prefix.concat("/extag");
}
@RequiresPermissions("goblin:extag:list")
@RequestMapping("list")
@ResponseBody
public TableDataInfo list(GoblinSelfTag selfTag) {
startPage();
return getDataTable(listQuery(selfTag));
}
private List<GoblinSelfTag> listQuery(GoblinSelfTag selfTag) {
LambdaQueryWrapper<GoblinSelfTag> lambdaQueryWrapper = Wrappers.lambdaQuery(GoblinSelfTag.class);
lambdaQueryWrapper.eq(GoblinSelfTag::getDelFlg, "0");
lambdaQueryWrapper.eq(GoblinSelfTag::getTagBelong, "1");
if (StringUtils.isNotBlank(selfTag.getTagName())) {
lambdaQueryWrapper.like(GoblinSelfTag::getTagName, selfTag.getTagName());
}
if (StringUtils.isNotBlank(selfTag.getTagType())) {
lambdaQueryWrapper.eq(GoblinSelfTag::getTagType, selfTag.getTagType());
}
lambdaQueryWrapper.select(
GoblinSelfTag::getTagId,
GoblinSelfTag::getTagName,
GoblinSelfTag::getTagPic,
GoblinSelfTag::getTagType,
GoblinSelfTag::getCounts
);
return goblinSelfTagService.list(lambdaQueryWrapper);
}
@RequiresPermissions("goblin:extag:export")
@Log(title = "店铺管理:音乐人标签库:导出", businessType = BusinessType.EXPORT)
@PostMapping("export")
@ResponseBody
public AjaxResult export(GoblinSelfTag selfTag) {
List<GoblinSelfTag> list = listQuery(selfTag);
ExcelUtil<GoblinSelfExtagExcelDto> excelUtil = new ExcelUtil<>(GoblinSelfExtagExcelDto.class);
List<GoblinSelfExtagExcelDto> excelList = new ArrayList<>();
list.forEach(r -> excelList.add(GoblinSelfExtagExcelDto.getNew().copy(r)));
return excelUtil.exportExcel(excelList, "音乐人标签库");
}
@ApiOperation(value = "新建")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "tagName", value = "标签名称[50]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "tagPic", value = "标签图片[256]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "tagType", value = "标签类型[1-音乐人|2-艺术家|3-品牌方|4-厂牌]", allowableValues = "1,2,3,4"),
})
@Log(title = "店铺管理:音乐人标签库:新建", businessType = BusinessType.INSERT)
@RequiresPermissions("goblin:extag:add")
@PostMapping("addSave")
@ResponseBody
public AjaxResult addSave(String tagName, String tagPic, String tagType) {
GoblinSelfTag selfTag = new GoblinSelfTag();
selfTag.setTagId(IDGenerator.nextMilliId2());
selfTag.setTagName(tagName);
selfTag.setTagPic(tagPic);
selfTag.setTagType(tagType);
selfTag.setTagBelong("1");
return toAjax(goblinSelfTagService.save(selfTag));
}
@Log(title = "店铺管理:音乐人标签库:删除", businessType = BusinessType.DELETE)
@RequiresPermissions("goblin:extag:rmv")
@PostMapping("rmv")
@ResponseBody
public AjaxResult rmv(String extagIds) {
return toAjax(goblinSelfTagService.update(
Wrappers.lambdaUpdate(GoblinSelfTag.class).in(GoblinSelfTag::getTagId, Convert.toStrArray(extagIds)).set(GoblinSelfTag::getDelFlg, "1")
));
}
}
package com.liquidnet.client.admin.web.controller.zhengzai.goblin;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.client.admin.common.annotation.Log;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.core.text.Convert;
import com.liquidnet.client.admin.common.enums.BusinessType;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.zhengzai.goblin.dto.GoblinSelfExtagExcelDto;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinSelfGoodsCategoryService;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinSelfTagService;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.goblin.entity.GoblinSelfTag;
import com.liquidnet.service.goblin.entity.GoblinStoreCertification;
import com.liquidnet.service.goblin.entity.GoblinStoreInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@Api(tags = "标签管理")
@Controller
@RequestMapping("goblin/tag")
public class GoblinSelfTagController extends BaseController {
private final String prefix = "zhengzai/goblin/tag";
@Autowired
IGoblinSelfTagService goblinSelfTagService;
@GetMapping("tag")
public String tag() {
return prefix.concat("/tag");
}
@RequiresPermissions("goblin:tag:list")
@RequestMapping("list")
@ResponseBody
public TableDataInfo list(GoblinSelfTag selfTag) {
startPage();
return getDataTable(listQuery(selfTag));
}
private List<GoblinSelfTag> listQuery(GoblinSelfTag selfTag) {
LambdaQueryWrapper<GoblinSelfTag> lambdaQueryWrapper = Wrappers.lambdaQuery(GoblinSelfTag.class);
lambdaQueryWrapper.eq(GoblinSelfTag::getDelFlg, "0");
lambdaQueryWrapper.eq(GoblinSelfTag::getTagBelong, "0");
if (StringUtils.isNotBlank(selfTag.getTagName())) {
lambdaQueryWrapper.like(GoblinSelfTag::getTagName, selfTag.getTagName());
}
if (StringUtils.isNotBlank(selfTag.getTagType())) {
lambdaQueryWrapper.eq(GoblinSelfTag::getTagType, selfTag.getTagType());
}
lambdaQueryWrapper.select(
GoblinSelfTag::getTagId,
GoblinSelfTag::getTagName,
GoblinSelfTag::getTagPic,
GoblinSelfTag::getTagType,
GoblinSelfTag::getCounts
);
return goblinSelfTagService.list(lambdaQueryWrapper);
}
// @RequiresPermissions("goblin:tag:export")
// @Log(title = "店铺管理:标签库:导出", businessType = BusinessType.EXPORT)
// @PostMapping("export")
// @ResponseBody
// public AjaxResult export(GoblinSelfTag selfTag) {
// List<GoblinSelfTag> list = listQuery(selfTag);
// ExcelUtil<GoblinSelfExtagExcelDto> excelUtil = new ExcelUtil<>(GoblinSelfExtagExcelDto.class);
// List<GoblinSelfExtagExcelDto> excelList = new ArrayList<>();
// list.forEach(r -> excelList.add(GoblinSelfExtagExcelDto.getNew().copy(r)));
// return excelUtil.exportExcel(excelList, "音乐人标签库");
// }
@ApiOperation(value = "新建")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "tagName", value = "标签名称[50]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "tagPic", value = "标签图片[256]"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "tagType", value = "标签类型[1-音乐人|2-艺术家|3-品牌方|4-厂牌]", allowableValues = "1,2,3,4"),
})
@Log(title = "店铺管理:标签库:新建", businessType = BusinessType.INSERT)
@RequiresPermissions("goblin:tag:add")
@PostMapping("addSave")
@ResponseBody
public AjaxResult addSave(String tagName, String tagPic, String tagType) {
GoblinSelfTag selfTag = new GoblinSelfTag();
selfTag.setTagId(IDGenerator.nextMilliId2());
selfTag.setTagName(tagName);
selfTag.setTagPic(tagPic);
selfTag.setTagType(tagType);
selfTag.setTagBelong("1");
return toAjax(goblinSelfTagService.save(selfTag));
}
@ApiOperation(value = "编辑")
@Log(title = "店铺管理:标签库:编辑", businessType = BusinessType.UPDATE)
@RequiresPermissions("goblin:tag:edit")
@PostMapping("editSave")
@ResponseBody
public AjaxResult editSave(GoblinSelfTag selfTag) {
// TODO: 2022/1/13 zhanggb valid
LambdaUpdateWrapper<GoblinSelfTag> updateWrapper = Wrappers.lambdaUpdate(GoblinSelfTag.class);
updateWrapper.eq(GoblinSelfTag::getTagId, selfTag.getTagId());
updateWrapper.eq(GoblinSelfTag::getTagBelong, "1");
updateWrapper.set(GoblinSelfTag::getTagType, selfTag.getTagType());
updateWrapper.set(GoblinSelfTag::getTagName, selfTag.getTagName());
updateWrapper.set(GoblinSelfTag::getTagPic, selfTag.getTagPic());
return toAjax(goblinSelfTagService.update(updateWrapper));
}
@Log(title = "店铺管理:标签库:删除", businessType = BusinessType.DELETE)
@RequiresPermissions("goblin:tag:rmv")
@PostMapping("rmv")
@ResponseBody
public AjaxResult rmv(String tagIds) {
return toAjax(goblinSelfTagService.update(
Wrappers.lambdaUpdate(GoblinSelfTag.class).in(GoblinSelfTag::getTagId, Convert.toStrArray(tagIds)).set(GoblinSelfTag::getDelFlg, "1")
));
}
}
......@@ -71,6 +71,7 @@ public class GoblinStoreAdminController extends BaseController {
storeInfoLambdaQueryWrapper.eq(GoblinStoreInfo::getStoreId, storeId);
storeInfoLambdaQueryWrapper.select(
GoblinStoreInfo::getStoreId,
GoblinStoreInfo::getStoreName,
GoblinStoreInfo::getLogoPic,
GoblinStoreInfo::getBackgroundPic,
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('音乐人标签列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="role-form">
<div class="select-list">
<ul>
<li>
名称:<input type="text" name="tagName"/>
</li>
<li>
类型:<select name="tagType" th:with="type=${@dict.getType('zhengzai_store_cert_type')}">
<option value="">全部</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="#" shiro:hasPermission="goblin:extag:add">
<i class="fa fa-plus"></i> 新增
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="goblin:extag:rmv">
<i class="fa fa-remove"></i> 删除
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var dicSelfExtagType = [[${@dict.getType('zhengzai_self_extag_type')}]];
var rmvFlg = [[${@permission.hasPermi('goblin:extag:rmv')}]];
var prefix = ctx + "goblin/extag";
$(function () {
var options = {
url: prefix + "/list",
removeUrl: prefix + "/rmv",
sortName: "mid desc",
modalName: "音乐人标签库",
columns: [{
checkbox: true
},
{
field: 'tagPic',
title: '头像',
formatter: function (value, row, index) {
return $.table.imageView(value);
}
},
{
field: 'tagName',
title: '名称'
},
{
field: 'tagType',
title: '类型',
formatter: function (value, row, index) {
return $.table.selectDictLabel(dicSelfExtagType, value);
}
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-danger btn-xs ' + rmvFlg + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.tagId + '\')"><i class="fa fa-trash"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
\ No newline at end of file
......@@ -121,10 +121,10 @@
</select>
</li>
<li>
店铺名称:<input type="text" name="roleName"/>
店铺名称:<input type="text" name="storeName"/>
</li>
<li>
认证类型:<select name="status" th:with="type=${@dict.getType('zhengzai_store_cert_type')}">
认证类型:<select name="certType" th:with="type=${@dict.getType('zhengzai_store_cert_type')}">
<option value="">全部</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
......@@ -177,7 +177,7 @@
},
{
field: 'certType',
title: '店铺类型',
title: '认证类型',
formatter: function(value, row, index) {
return $.table.selectDictLabel(dicStoreCertType, value);
}
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('标签列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="role-form">
<div class="select-list">
<ul>
<li>
名称:<input type="text" name="tagName"/>
</li>
<li>
类型:<select name="tagType" th:with="type=${@dict.getType('zhengzai_store_cert_type')}">
<option value="">全部</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="" shiro:hasPermission="goblin:extag:add">
<i class="fa fa-plus"></i> 新增
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()"
shiro:hasPermission="goblin:extag:rmv">
<i class="fa fa-remove"></i> 删除
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var editFlg = [[${@permission.hasPermi('goblin:tag:edit')}]];
var rmvFlg = [[${@permission.hasPermi('goblin:extag:rmv')}]];
var prefix = ctx + "goblin/tag";
$(function () {
var options = {
url: prefix + "/list",
removeUrl: prefix + "/rmv",
sortName: "mid desc",
modalName: "标签库",
columns: [{
checkbox: true
},
{
field: 'tagName',
title: '名称'
},
{
field: 'tagPic',
title: '图标',
formatter: function (value, row, index) {
return $.table.imageView(value);
}
},
{
field: 'counts',
title: '关联商品数量'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlg + '" href="javascript:void(0)" onclick=""><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + rmvFlg + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.tagId + '\')"><i class="fa fa-trash"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
\ No newline at end of file
package com.liquidnet.client.admin.zhengzai.goblin.dto;
import com.liquidnet.client.admin.common.annotation.Excel;
import com.liquidnet.service.goblin.entity.GoblinSelfTag;
import lombok.Data;
import java.io.Serializable;
@Data
public class GoblinSelfExtagExcelDto implements Serializable, Cloneable {
private static final long serialVersionUID = -8546526848518431986L;
@Excel(name = "标签名称")
private String tagName;
@Excel(name = "标签图片")
private String tagPic;
@Excel(name = "标签类型")
private String tagType;
private static final GoblinSelfExtagExcelDto obj = new GoblinSelfExtagExcelDto();
public static GoblinSelfExtagExcelDto getNew() {
try {
return (GoblinSelfExtagExcelDto) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinSelfExtagExcelDto();
}
}
public GoblinSelfExtagExcelDto copy(GoblinSelfTag source) {
if (null == source) return this;
this.setTagName(source.getTagName());
this.setTagPic(source.getTagPic());
switch (source.getTagType()) {
case "1":
this.setTagType("音乐人");
break;
case "2":
this.setTagType("艺术家");
break;
case "3":
this.setTagType("品牌方");
break;
case "4":
this.setTagType("厂牌");
break;
default:
this.setTagType("其它");
break;
}
return this;
}
}
package com.liquidnet.client.admin.zhengzai.goblin.service;
import com.liquidnet.service.goblin.entity.GoblinSelfGoodsCategory;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 平台商品分类 服务类
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
public interface IGoblinSelfGoodsCategoryService extends IService<GoblinSelfGoodsCategory> {
}
package com.liquidnet.client.admin.zhengzai.goblin.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.goblin.entity.GoblinSelfTag;
/**
* <p>
* 平台商品标签 服务类
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
public interface IGoblinSelfTagService extends IService<GoblinSelfTag> {
}
package com.liquidnet.client.admin.zhengzai.goblin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinSelfGoodsCategoryService;
import com.liquidnet.service.goblin.entity.GoblinSelfGoodsCategory;
import com.liquidnet.service.goblin.mapper.GoblinSelfGoodsCategoryMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 平台商品分类 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
@Service
public class GoblinSelfGoodsCategoryServiceImpl extends ServiceImpl<GoblinSelfGoodsCategoryMapper, GoblinSelfGoodsCategory> implements IGoblinSelfGoodsCategoryService {
}
package com.liquidnet.client.admin.zhengzai.goblin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinSelfTagService;
import com.liquidnet.service.goblin.entity.GoblinSelfTag;
import com.liquidnet.service.goblin.mapper.GoblinSelfTagMapper;
import org.springframework.stereotype.Service;
/**
* <p>
* 平台商品标签 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-12-27
*/
@Service
public class GoblinSelfGoodsTagServiceImpl extends ServiceImpl<GoblinSelfTagMapper, GoblinSelfTag> implements IGoblinSelfTagService {
}
......@@ -64,6 +64,11 @@ public class GoblinSelfGoodsCategory implements Serializable {
*/
private String delFlg;
/**
* 关联商品计数
*/
private Integer counts;
private String createdBy;
private LocalDateTime createdAt;
......
......@@ -58,6 +58,11 @@ public class GoblinSelfTag implements Serializable {
*/
private String delFlg;
/**
* 关联商品计数
*/
private Integer counts;
private String comment;
......
......@@ -64,6 +64,11 @@ public class GoblinStoreGoodsCategory implements Serializable {
*/
private String delFlg;
/**
* 关联商品计数
*/
private Integer counts;
private String createdBy;
private LocalDateTime createdAt;
......
......@@ -28,9 +28,10 @@ create table goblin_self_tag
tag_name varchar(50) not null comment '标签名称',
tag_desc varchar(128) null comment '标签描述',
tag_pic varchar(256) null comment '标签图片',
tag_type char null comment '标签类型[0-商品标签|1-音乐人|2-艺术家|3-IP]',
tag_type char null comment '标签类型[0-商品标签|1-音乐人|2-艺术家|3-品牌方|4-厂牌]',
tag_belong char default '0' comment '标签所属[0-普通标签|1-专属标签]',
del_flg char default '0' comment '删除标记[0-未删除|1-删除]',
counts int default 0 comment '关联商品计数',
comment varchar(255)
) engine = InnoDB comment '平台标签库';
......@@ -79,6 +80,7 @@ create table goblin_self_goods_category
cate_pid varchar(30) null comment '分类父id',
ne_isbn char default '0' comment '是否需要填写ISBN[0-否|1-是]',
del_flg char default '0' comment '删除标记[0-未删除|1-删除]',
counts int default 0 comment '关联商品计数',
created_by varchar(64) not null,
created_at datetime not null,
updated_by varchar(64) null,
......@@ -215,6 +217,7 @@ create table goblin_store_goods_category
cate_pid varchar(30) null comment '父级分类id',
ne_isbn char default '0' comment '是否需要填写ISBN[0-否|1-是]',
del_flg char default '0' comment '删除标记[0-未删除|1-删除]',
counts int default 0 comment '关联商品计数',
created_by varchar(64) not null,
created_at datetime not null,
updated_by varchar(64) null,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment