商品模块代码提交
This commit is contained in:
parent
ae7e9c6b12
commit
37affc558d
|
|
@ -21,11 +21,11 @@ import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品
|
* 商品
|
||||||
*
|
*
|
||||||
* @author Tankaikai tankaikai@aliyun.com
|
* @author Tankaikai tankaikai@aliyun.com
|
||||||
* @since 1.0 2025-02-10
|
* @since 1.0 2025-02-10
|
||||||
*/
|
*/
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/prod/product")
|
@RequestMapping("/prod/product")
|
||||||
|
|
@ -35,7 +35,7 @@ public class ProductController {
|
||||||
@GetMapping("page")
|
@GetMapping("page")
|
||||||
@LogOperation("分页")
|
@LogOperation("分页")
|
||||||
@SaAdminCheckPermission("prod:product:all")
|
@SaAdminCheckPermission("prod:product:all")
|
||||||
public CzgResult<Page<ProductDTO>> page(@RequestParam Map<String, Object> params){
|
public CzgResult<Page<ProductDTO>> page(@RequestParam Map<String, Object> params) {
|
||||||
Page<ProductDTO> data = productService.pageAs(null, null, ProductDTO.class);
|
Page<ProductDTO> data = productService.pageAs(null, null, ProductDTO.class);
|
||||||
return CzgResult.success(data);
|
return CzgResult.success(data);
|
||||||
}
|
}
|
||||||
|
|
@ -43,7 +43,7 @@ public class ProductController {
|
||||||
@GetMapping("list")
|
@GetMapping("list")
|
||||||
@LogOperation("列表")
|
@LogOperation("列表")
|
||||||
@SaAdminCheckPermission("prod:product:all")
|
@SaAdminCheckPermission("prod:product:all")
|
||||||
public CzgResult<List<ProductDTO>> list(@RequestParam Map<String, Object> params){
|
public CzgResult<List<ProductDTO>> list(@RequestParam Map<String, Object> params) {
|
||||||
List<ProductDTO> data = null;
|
List<ProductDTO> data = null;
|
||||||
|
|
||||||
return CzgResult.success(data);
|
return CzgResult.success(data);
|
||||||
|
|
@ -52,7 +52,7 @@ public class ProductController {
|
||||||
@GetMapping("{id}")
|
@GetMapping("{id}")
|
||||||
@LogOperation("信息")
|
@LogOperation("信息")
|
||||||
@SaAdminCheckPermission("prod:product:all")
|
@SaAdminCheckPermission("prod:product:all")
|
||||||
public CzgResult<ProductDTO> get(@PathVariable("id") Long id){
|
public CzgResult<ProductDTO> get(@PathVariable("id") Long id) {
|
||||||
ProductDTO data = null;
|
ProductDTO data = null;
|
||||||
|
|
||||||
return CzgResult.success(data);
|
return CzgResult.success(data);
|
||||||
|
|
@ -61,7 +61,7 @@ public class ProductController {
|
||||||
@PostMapping
|
@PostMapping
|
||||||
@LogOperation("保存")
|
@LogOperation("保存")
|
||||||
@SaAdminCheckPermission("prod:product:all")
|
@SaAdminCheckPermission("prod:product:all")
|
||||||
public CzgResult<Void> save(@RequestBody ProductDTO dto){
|
public CzgResult<Void> save(@RequestBody ProductDTO dto) {
|
||||||
//效验数据
|
//效验数据
|
||||||
ValidatorUtil.validateEntity(dto, InsertGroup.class, DefaultGroup.class);
|
ValidatorUtil.validateEntity(dto, InsertGroup.class, DefaultGroup.class);
|
||||||
|
|
||||||
|
|
@ -73,7 +73,7 @@ public class ProductController {
|
||||||
@PutMapping
|
@PutMapping
|
||||||
@LogOperation("修改")
|
@LogOperation("修改")
|
||||||
@SaAdminCheckPermission("prod:product:all")
|
@SaAdminCheckPermission("prod:product:all")
|
||||||
public CzgResult<Void> update(@RequestBody ProductDTO dto){
|
public CzgResult<Void> update(@RequestBody ProductDTO dto) {
|
||||||
//效验数据
|
//效验数据
|
||||||
ValidatorUtil.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
|
ValidatorUtil.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
|
||||||
|
|
||||||
|
|
@ -85,7 +85,7 @@ public class ProductController {
|
||||||
@DeleteMapping
|
@DeleteMapping
|
||||||
@LogOperation("删除")
|
@LogOperation("删除")
|
||||||
@SaAdminCheckPermission("prod:product:all")
|
@SaAdminCheckPermission("prod:product:all")
|
||||||
public CzgResult<Void> delete(@RequestBody Long[] ids){
|
public CzgResult<Void> delete(@RequestBody Long[] ids) {
|
||||||
//效验数据
|
//效验数据
|
||||||
Assert.notNull(ids, "{}不能为空", "id");
|
Assert.notNull(ids, "{}不能为空", "id");
|
||||||
AssertUtil.isArrayEmpty(ids, "请求id数组不能为空");
|
AssertUtil.isArrayEmpty(ids, "请求id数组不能为空");
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,6 @@ import lombok.AllArgsConstructor;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -33,16 +32,16 @@ public class ShopProdUnitController {
|
||||||
@GetMapping("page")
|
@GetMapping("page")
|
||||||
@LogOperation("分页")
|
@LogOperation("分页")
|
||||||
@SaAdminCheckPermission("prod:unit:all")
|
@SaAdminCheckPermission("prod:unit:all")
|
||||||
public CzgResult<Page<ShopProdUnitDTO>> page(@RequestParam Map<String, Object> params) {
|
public CzgResult<Page<ShopProdUnitDTO>> page(@RequestParam ShopProdUnitDTO param) {
|
||||||
Page<ShopProdUnitDTO> data = shopProdUnitService.page(params);
|
Page<ShopProdUnitDTO> data = shopProdUnitService.page(param);
|
||||||
return CzgResult.success(data);
|
return CzgResult.success(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("list")
|
@GetMapping("list")
|
||||||
@LogOperation("列表")
|
@LogOperation("列表")
|
||||||
@SaAdminCheckPermission("prod:unit:all")
|
@SaAdminCheckPermission("prod:unit:all")
|
||||||
public CzgResult<List<ShopProdUnitDTO>> list(@RequestParam Map<String, Object> params) {
|
public CzgResult<List<ShopProdUnitDTO>> list(@RequestParam ShopProdUnitDTO param) {
|
||||||
List<ShopProdUnitDTO> data = shopProdUnitService.list(params);
|
List<ShopProdUnitDTO> data = shopProdUnitService.list(param);
|
||||||
return CzgResult.success(data);
|
return CzgResult.success(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,6 @@ import com.czg.product.entity.ShopProdUnit;
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品单位Service接口
|
* 商品单位Service接口
|
||||||
|
|
@ -16,9 +15,9 @@ import java.util.Map;
|
||||||
*/
|
*/
|
||||||
public interface ShopProdUnitService extends IBaseService<ShopProdUnit> {
|
public interface ShopProdUnitService extends IBaseService<ShopProdUnit> {
|
||||||
|
|
||||||
Page<ShopProdUnitDTO> page(Map<String, Object> params);
|
Page<ShopProdUnitDTO> page(ShopProdUnitDTO param);
|
||||||
|
|
||||||
List<ShopProdUnitDTO> list(Map<String, Object> params);
|
List<ShopProdUnitDTO> list(ShopProdUnitDTO param);
|
||||||
|
|
||||||
ShopProdUnitDTO get(Long id);
|
ShopProdUnitDTO get(Long id);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,95 +1,65 @@
|
||||||
package com.czg.core.page;
|
package com.czg.core.page;
|
||||||
|
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import io.micrometer.common.util.StringUtils;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页数据
|
* 分页数据
|
||||||
*
|
*
|
||||||
* @author cashier
|
* @author cashier
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
public class PageDomain {
|
public class PageDomain {
|
||||||
/**
|
/**
|
||||||
* 当前记录起始索引
|
* 当前记录起始索引
|
||||||
*/
|
*/
|
||||||
private Integer pageNum;
|
private Integer page;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 每页显示记录数
|
* 每页显示记录数
|
||||||
*/
|
*/
|
||||||
private Integer pageSize;
|
private Integer size;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排序列
|
* 排序列,多个用逗号隔开
|
||||||
*/
|
*/
|
||||||
private String orderByColumn;
|
private String orderField;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排序的方向desc或者asc
|
* 排序方式,多个用逗号分隔,asc:升序,desc:降序
|
||||||
*/
|
*/
|
||||||
private String isAsc = "asc";
|
private String order;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页参数合理化
|
* 组合后的排序规则
|
||||||
*/
|
*/
|
||||||
private Boolean reasonable = true;
|
private String orderBy;
|
||||||
|
|
||||||
|
|
||||||
public String getOrderBy() {
|
public String getOrderBy() {
|
||||||
if (StrUtil.isEmpty(orderByColumn)) {
|
if (StrUtil.isEmpty(orderField)) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
return StrUtil.toUnderlineCase(orderByColumn) + " " + isAsc;
|
if (StrUtil.isEmpty(orderBy)) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
String[] orderFields = orderField.split(",");
|
||||||
|
String[] orders = orderBy.split(",");
|
||||||
|
if (orderFields.length != orders.length) {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
List<String> orderBy = new ArrayList<>();
|
||||||
|
for (int i = 0; i < orderFields.length; i++) {
|
||||||
|
String orderField = orderFields[i];
|
||||||
|
String order = orders[i];
|
||||||
|
orderBy.add(StrUtil.toUnderlineCase(orderField) + " " + order);
|
||||||
|
}
|
||||||
|
return CollUtil.join(orderBy, ",");
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getPageNum() {
|
|
||||||
return pageNum;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPageNum(Integer pageNum) {
|
|
||||||
this.pageNum = pageNum;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Integer getPageSize() {
|
|
||||||
return pageSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPageSize(Integer pageSize) {
|
|
||||||
this.pageSize = pageSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getOrderByColumn() {
|
|
||||||
return orderByColumn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setOrderByColumn(String orderByColumn) {
|
|
||||||
this.orderByColumn = orderByColumn;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIsAsc() {
|
|
||||||
return isAsc;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIsAsc(String isAsc) {
|
|
||||||
if (StringUtils.isNotEmpty(isAsc)) {
|
|
||||||
// 兼容前端排序类型
|
|
||||||
if ("ascending".equals(isAsc)) {
|
|
||||||
isAsc = "asc";
|
|
||||||
} else if ("descending".equals(isAsc)) {
|
|
||||||
isAsc = "desc";
|
|
||||||
}
|
|
||||||
this.isAsc = isAsc;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Boolean getReasonable() {
|
|
||||||
if (reasonable == null) {
|
|
||||||
return Boolean.TRUE;
|
|
||||||
}
|
|
||||||
return reasonable;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setReasonable(Boolean reasonable) {
|
|
||||||
this.reasonable = reasonable;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -61,8 +61,9 @@ public class PageQuery implements Serializable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造分页查询参数
|
* 构造分页查询参数
|
||||||
* @return
|
*
|
||||||
* @param <T>
|
* @param <T>
|
||||||
|
* @return
|
||||||
*/
|
*/
|
||||||
public static <T> Page<T> build() {
|
public static <T> Page<T> build() {
|
||||||
Integer pageNum = Convert.toInt(TableSupport.getHttpServletRequest().getParameter(PAGE_NUM), DEFAULT_PAGE_NUM);
|
Integer pageNum = Convert.toInt(TableSupport.getHttpServletRequest().getParameter(PAGE_NUM), DEFAULT_PAGE_NUM);
|
||||||
|
|
|
||||||
|
|
@ -11,58 +11,49 @@ import org.springframework.web.context.request.ServletRequestAttributes;
|
||||||
*
|
*
|
||||||
* @author Cashier
|
* @author Cashier
|
||||||
*/
|
*/
|
||||||
public class TableSupport
|
public class TableSupport {
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* 当前记录起始索引
|
* 当前记录起始索引
|
||||||
*/
|
*/
|
||||||
public static final String PAGE_NUM = "pageNum";
|
public static final String PAGE = "page";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 每页显示记录数
|
* 每页显示记录数
|
||||||
*/
|
*/
|
||||||
public static final String PAGE_SIZE = "pageSize";
|
public static final String SIZE = "size";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排序列
|
* 排序字段,多个用逗号分隔
|
||||||
*/
|
*/
|
||||||
public static final String ORDER_BY_COLUMN = "orderByColumn";
|
public static final String ORDER_FIELD = "orderField";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排序的方向 "desc" 或者 "asc".
|
* 排序方式,多个用逗号分隔,asc:升序,desc:降序
|
||||||
*/
|
*/
|
||||||
public static final String IS_ASC = "isAsc";
|
public static final String ORDER = "order";
|
||||||
|
|
||||||
/**
|
|
||||||
* 分页参数合理化
|
|
||||||
*/
|
|
||||||
public static final String REASONABLE = "reasonable";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 封装分页对象
|
* 封装分页对象
|
||||||
*/
|
*/
|
||||||
public static PageDomain getPageDomain()
|
public static PageDomain getPageDomain() {
|
||||||
{
|
|
||||||
PageDomain pageDomain = new PageDomain();
|
PageDomain pageDomain = new PageDomain();
|
||||||
pageDomain.setPageNum(Convert.toInt(getHttpServletRequest().getParameter(PAGE_NUM), 1));
|
pageDomain.setPage(Convert.toInt(getHttpServletRequest().getParameter(PAGE), 1));
|
||||||
pageDomain.setPageSize(Convert.toInt(getHttpServletRequest().getParameter(PAGE_SIZE), 10));
|
pageDomain.setPage(Convert.toInt(getHttpServletRequest().getParameter(SIZE), 10));
|
||||||
pageDomain.setOrderByColumn(getHttpServletRequest().getParameter(ORDER_BY_COLUMN));
|
pageDomain.setOrderField(getHttpServletRequest().getParameter(ORDER_FIELD));
|
||||||
pageDomain.setIsAsc(getHttpServletRequest().getParameter(IS_ASC));
|
pageDomain.setOrder(getHttpServletRequest().getParameter(ORDER));
|
||||||
pageDomain.setReasonable(Convert.toBool(getHttpServletRequest().getParameter(REASONABLE)));
|
|
||||||
return pageDomain;
|
return pageDomain;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static PageDomain buildPageRequest()
|
public static PageDomain buildPageRequest() {
|
||||||
{
|
|
||||||
return getPageDomain();
|
return getPageDomain();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static HttpServletRequest getHttpServletRequest() {
|
public static HttpServletRequest getHttpServletRequest() {
|
||||||
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
|
||||||
if(requestAttributes == null){
|
if (requestAttributes == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ((ServletRequestAttributes) requestAttributes).getRequest();
|
return ((ServletRequestAttributes) requestAttributes).getRequest();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,54 +1,12 @@
|
||||||
package com.czg.core.service;
|
package com.czg.core.service;
|
||||||
|
|
||||||
import com.mybatisflex.core.BaseMapper;
|
|
||||||
import com.mybatisflex.core.row.Db;
|
|
||||||
import com.mybatisflex.core.service.IService;
|
import com.mybatisflex.core.service.IService;
|
||||||
import com.mybatisflex.core.util.ClassUtil;
|
|
||||||
import com.mybatisflex.core.util.SqlUtil;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自定义的服务基类接口
|
* 自定义的服务基类接口
|
||||||
*
|
*
|
||||||
* @author dataprince数据小王子
|
* @author Cashier
|
||||||
*/
|
*/
|
||||||
public interface IBaseService<T> extends IService<T> {
|
public interface IBaseService<T> extends IService<T> {
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>带主键保存实体类对象数据,适用于中间表有联合主键场合但是不通过主键生成器生成主键值,而是程序自己提供主键值。
|
|
||||||
*
|
|
||||||
* @param entity 实体类对象
|
|
||||||
* @return 受影响的行数
|
|
||||||
* @apiNote 默认调用的是 {@link BaseMapper#insertSelectiveWithPk(Object)} 方法,忽略实体类
|
|
||||||
* {@code null} 属性的数据,使数据库配置的默认值生效。
|
|
||||||
*/
|
|
||||||
default int saveWithPk(T entity) {
|
|
||||||
return getMapper().insertSelectiveWithPk(entity);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* <p>带主键批量保存实体类对象数据,适用于中间表有联合主键场合但是不通过主键生成器生成主键值,而是程序自己提供主键值,例如sys_role_menu。
|
|
||||||
*
|
|
||||||
* @param entities 实体类对象
|
|
||||||
* @return {@code true} 保存成功,{@code false} 保存失败。
|
|
||||||
* @apiNote 默认调用的是 {@link BaseMapper#insertSelectiveWithPk(Object)} 方法,忽略实体类
|
|
||||||
* {@code null} 属性的数据,使数据库配置的默认值生效。
|
|
||||||
*/
|
|
||||||
default boolean saveBatchWithPk(Collection<T> entities) {
|
|
||||||
return saveBatchWithPk(entities, DEFAULT_BATCH_SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>带主键批量保存实体类对象数据,适用于中间表有联合主键场合但是不通过主键生成器生成主键值,而是程序自己提供主键值,例如sys_role_menu。
|
|
||||||
*
|
|
||||||
* @param entities 实体类对象
|
|
||||||
* @param batchSize 每次保存切分的数量
|
|
||||||
* @return {@code true} 保存成功,{@code false} 保存失败。
|
|
||||||
* @apiNote 默认调用的是 {@link BaseMapper#insertSelectiveWithPk(Object)} 方法,忽略实体类
|
|
||||||
* {@code null} 属性的数据,使数据库配置的默认值生效。
|
|
||||||
*/
|
|
||||||
default boolean saveBatchWithPk(Collection<T> entities, int batchSize) {
|
|
||||||
Class<BaseMapper<T>> usefulClass = (Class<BaseMapper<T>>) ClassUtil.getUsefulClass(getMapper().getClass());
|
|
||||||
return SqlUtil.toBool(Db.executeBatch(entities, batchSize, usefulClass, BaseMapper::insertSelectiveWithPk));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
/**
|
/**
|
||||||
* 自定义的服务基类接口实现
|
* 自定义的服务基类接口实现
|
||||||
*
|
*
|
||||||
* @author dataprince数据小王子
|
* @author Cashier
|
||||||
*/
|
*/
|
||||||
public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M , T> implements IBaseService<T> {
|
public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M , T> implements IBaseService<T> {
|
||||||
|
|
||||||
|
|
@ -20,7 +20,7 @@ public class BaseServiceImpl<M extends BaseMapper<T>, T> extends ServiceImpl<M ,
|
||||||
* 构造基本查询条件
|
* 构造基本查询条件
|
||||||
* @return QueryWrapper
|
* @return QueryWrapper
|
||||||
*/
|
*/
|
||||||
protected QueryWrapper buildBaseQueryWrapper(){
|
protected QueryWrapper buildPageQueryWrapper(){
|
||||||
QueryWrapper queryWrapper = query();
|
QueryWrapper queryWrapper = query();
|
||||||
PageDomain pageDomain = TableSupport.buildPageRequest();
|
PageDomain pageDomain = TableSupport.buildPageRequest();
|
||||||
if (StrUtil.isNotEmpty(pageDomain.getOrderBy())) {
|
if (StrUtil.isNotEmpty(pageDomain.getOrderBy())) {
|
||||||
|
|
|
||||||
|
|
@ -14,15 +14,11 @@ import com.czg.product.service.ShopProdUnitService;
|
||||||
import com.czg.sa.StpKit;
|
import com.czg.sa.StpKit;
|
||||||
import com.czg.service.product.mapper.ShopProdUnitMapper;
|
import com.czg.service.product.mapper.ShopProdUnitMapper;
|
||||||
import com.mybatisflex.core.paginate.Page;
|
import com.mybatisflex.core.paginate.Page;
|
||||||
import com.mybatisflex.core.query.QueryChain;
|
|
||||||
import com.mybatisflex.core.query.QueryWrapper;
|
import com.mybatisflex.core.query.QueryWrapper;
|
||||||
import com.mybatisflex.core.update.UpdateChain;
|
import com.mybatisflex.core.update.UpdateChain;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import static com.czg.product.entity.table.ShopProdUnitTableDef.SHOP_PROD_UNIT;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -34,48 +30,40 @@ import static com.czg.product.entity.table.ShopProdUnitTableDef.SHOP_PROD_UNIT;
|
||||||
@Service
|
@Service
|
||||||
public class ShopProdUnitServiceImpl extends BaseServiceImpl<ShopProdUnitMapper, ShopProdUnit> implements ShopProdUnitService {
|
public class ShopProdUnitServiceImpl extends BaseServiceImpl<ShopProdUnitMapper, ShopProdUnit> implements ShopProdUnitService {
|
||||||
|
|
||||||
@Override
|
private QueryWrapper buildQueryWrapper(ShopProdUnitDTO param) {
|
||||||
public QueryWrapper query() {
|
QueryWrapper queryWrapper = super.buildPageQueryWrapper();
|
||||||
return super.query().from(SHOP_PROD_UNIT);
|
|
||||||
}
|
|
||||||
|
|
||||||
private QueryWrapper buildQueryWrapper(Map<String, Object> params) {
|
|
||||||
QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
|
|
||||||
ShopProdUnit param = BeanUtil.toBean(params, ShopProdUnit.class);
|
|
||||||
if (StrUtil.isEmpty(param.getName())) {
|
if (StrUtil.isEmpty(param.getName())) {
|
||||||
queryWrapper.and(SHOP_PROD_UNIT.NAME.like(param.getName()));
|
queryWrapper.like(ShopProdUnit::getName, param.getName());
|
||||||
}
|
}
|
||||||
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
||||||
queryWrapper.and(SHOP_PROD_UNIT.SHOP_ID.eq(shopId));
|
queryWrapper.eq(ShopProdUnit::getShopId, shopId);
|
||||||
queryWrapper.orderBy(SHOP_PROD_UNIT.ID.desc());
|
queryWrapper.orderBy(ShopProdUnit::getId, false);
|
||||||
return queryWrapper;
|
return queryWrapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Page<ShopProdUnitDTO> page(Map<String, Object> params) {
|
public Page<ShopProdUnitDTO> page(ShopProdUnitDTO param) {
|
||||||
QueryWrapper queryWrapper = buildQueryWrapper(params);
|
QueryWrapper queryWrapper = buildQueryWrapper(param);
|
||||||
Page<ShopProdUnitDTO> page = super.pageAs(PageQuery.build(), queryWrapper, ShopProdUnitDTO.class);
|
return super.pageAs(PageQuery.build(), queryWrapper, ShopProdUnitDTO.class);
|
||||||
return page;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ShopProdUnitDTO> list(Map<String, Object> params) {
|
public List<ShopProdUnitDTO> list(ShopProdUnitDTO param) {
|
||||||
QueryWrapper queryWrapper = buildQueryWrapper(params);
|
QueryWrapper queryWrapper = buildQueryWrapper(param);
|
||||||
return super.listAs(queryWrapper, ShopProdUnitDTO.class);
|
return super.listAs(queryWrapper, ShopProdUnitDTO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ShopProdUnitDTO get(Long id) {
|
public ShopProdUnitDTO get(Long id) {
|
||||||
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
||||||
ShopProdUnitDTO data = super.getOneAs(query().where(SHOP_PROD_UNIT.ID.eq(id).and(SHOP_PROD_UNIT.SHOP_ID.eq(shopId))), ShopProdUnitDTO.class);
|
return super.getOneAs(query().eq(ShopProdUnit::getId, id).eq(ShopProdUnit::getShopId, shopId), ShopProdUnitDTO.class);
|
||||||
return data;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean save(ShopProdUnitDTO dto) {
|
public boolean save(ShopProdUnitDTO dto) {
|
||||||
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
||||||
long count = QueryChain.of(ShopProdUnit.class).where(ShopProdUnit::getName).eq(dto.getName()).and(ShopProdUnit::getShopId).eq(shopId).count();
|
boolean exists = super.exists(query().eq(ShopProdUnit::getName, dto.getName()).eq(ShopProdUnit::getShopId, shopId));
|
||||||
if(count > 0){
|
if (exists) {
|
||||||
throw new CzgException("单位名称已存在");
|
throw new CzgException("单位名称已存在");
|
||||||
}
|
}
|
||||||
ShopProdUnit entity = BeanUtil.copyProperties(dto, ShopProdUnit.class);
|
ShopProdUnit entity = BeanUtil.copyProperties(dto, ShopProdUnit.class);
|
||||||
|
|
@ -91,12 +79,8 @@ public class ShopProdUnitServiceImpl extends BaseServiceImpl<ShopProdUnitMapper,
|
||||||
@Override
|
@Override
|
||||||
public boolean update(ShopProdUnitDTO dto) {
|
public boolean update(ShopProdUnitDTO dto) {
|
||||||
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
||||||
long count = QueryChain.of(ShopProdUnit.class)
|
boolean exists = super.exists(query().eq(ShopProdUnit::getName, dto.getName()).eq(ShopProdUnit::getShopId, shopId).ne(ShopProdUnit::getId, dto.getId()));
|
||||||
.where(ShopProdUnit::getName).eq(dto.getName())
|
if (exists) {
|
||||||
.and(ShopProdUnit::getShopId).eq(shopId)
|
|
||||||
.and(ShopProdUnit::getId).ne(dto.getId())
|
|
||||||
.count();
|
|
||||||
if(count > 0){
|
|
||||||
throw new CzgException("单位名称已存在");
|
throw new CzgException("单位名称已存在");
|
||||||
}
|
}
|
||||||
ShopProdUnit entity = BeanUtil.copyProperties(dto, ShopProdUnit.class);
|
ShopProdUnit entity = BeanUtil.copyProperties(dto, ShopProdUnit.class);
|
||||||
|
|
@ -106,22 +90,20 @@ public class ShopProdUnitServiceImpl extends BaseServiceImpl<ShopProdUnitMapper,
|
||||||
@Override
|
@Override
|
||||||
public boolean disable(Long id) {
|
public boolean disable(Long id) {
|
||||||
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
||||||
boolean ret = UpdateChain.of(ShopProdUnit.class)
|
return UpdateChain.of(ShopProdUnit.class)
|
||||||
.set(ShopProdUnit::getStatus, StatusEnum.DISABLE.value())
|
.set(ShopProdUnit::getStatus, StatusEnum.DISABLE.value())
|
||||||
.where(ShopProdUnit::getId).eq(id)
|
.eq(ShopProdUnit::getId, id)
|
||||||
.and(ShopProdUnit::getShopId).eq(shopId)
|
.eq(ShopProdUnit::getShopId, shopId)
|
||||||
.update();
|
.update();
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean enable(Long id) {
|
public boolean enable(Long id) {
|
||||||
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
Long shopId = StpKit.ADMIN.getLoginIdAsLong();
|
||||||
boolean ret = UpdateChain.of(ShopProdUnit.class)
|
return UpdateChain.of(ShopProdUnit.class)
|
||||||
.set(ShopProdUnit::getStatus, StatusEnum.ENABLED.value())
|
.set(ShopProdUnit::getStatus, StatusEnum.ENABLED.value())
|
||||||
.where(ShopProdUnit::getId).eq(id)
|
.where(ShopProdUnit::getId).eq(id)
|
||||||
.eq(ShopProdUnit::getShopId, shopId)
|
.eq(ShopProdUnit::getShopId, shopId)
|
||||||
.update();
|
.update();
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue