dev798
parent
cdb075caba
commit
966581668b
|
@ -0,0 +1,65 @@
|
|||
package com.muyu.common.core.utils;
|
||||
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @author DongZl
|
||||
* @description: 对象工具类
|
||||
* @Date 2023-10-9 下午 04:56
|
||||
*/
|
||||
public class ObjUtils {
|
||||
|
||||
/**
|
||||
* 兼容
|
||||
* CharSequence: 如果长度为零,则认为为空。
|
||||
* Array: 如果长度为零,则认为为空。
|
||||
* Collection: 如果元素为零,则认为为空。
|
||||
* Map: 如果键值映射为零,则认为为空。
|
||||
* @param o 对象
|
||||
* @return 如果对象具有受支持的类型并且为空或null,则为true,否则为false
|
||||
*/
|
||||
public static boolean notNull(Object o){
|
||||
return ObjectUtils.isNotEmpty(o);
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断long类型不为0
|
||||
* @param val 值
|
||||
* @return 返回值不为0
|
||||
*/
|
||||
public static boolean notNull(Long val){
|
||||
return ObjectUtils.isNotEmpty(val) && val != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断Integer类型不为0
|
||||
* @param val 值
|
||||
* @return 返回值不为0
|
||||
*/
|
||||
public static boolean notNull(Integer val){
|
||||
return ObjectUtils.isNotEmpty(val) && val != 0;
|
||||
}
|
||||
/**
|
||||
* 判断BigDecimal类型不为0
|
||||
* @param val 值
|
||||
* @return 返回值不为0
|
||||
*/
|
||||
public static boolean notNull(BigDecimal val){
|
||||
return ObjectUtils.isNotEmpty(val) && val.doubleValue() == 0.00;
|
||||
}
|
||||
/**
|
||||
* 判断BigDecimal类型不为0
|
||||
* @param val 值
|
||||
* @return 返回值不为0
|
||||
*/
|
||||
public static boolean notChildNull(Object[] val){
|
||||
for (Object o : val) {
|
||||
if (!notNull(o)){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -1,9 +1,17 @@
|
|||
package com.muyu.product.controller;
|
||||
|
||||
import com.muyu.common.core.domain.Result;
|
||||
import com.muyu.common.core.web.controller.BaseController;
|
||||
import com.muyu.common.core.web.page.TableDataInfo;
|
||||
import com.muyu.common.security.annotation.RequiresPermissions;
|
||||
import com.muyu.product.domain.AttributeGroup;
|
||||
import com.muyu.product.domain.req.AttributeGroupQueryReq;
|
||||
import com.muyu.product.domain.resp.AttributeGroupPageResp;
|
||||
import com.muyu.product.service.AttributeGroupService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
|
@ -14,4 +22,19 @@ public class AttributeGroupController extends BaseController {
|
|||
|
||||
@Autowired
|
||||
private AttributeGroupService attributeGroupService;
|
||||
|
||||
|
||||
/*
|
||||
* 查询属性组列表
|
||||
* */
|
||||
@ApiOperation("获取属性组列表")
|
||||
@RequiresPermissions("product:attributeGroup:list")
|
||||
@GetMapping("/list")
|
||||
public Result<TableDataInfo<AttributeGroupPageResp>>list(AttributeGroupQueryReq attributeGroupQueryReq){
|
||||
startPage();
|
||||
TableDataInfo<AttributeGroupPageResp>tableDataInfo=
|
||||
attributeGroupService.page(AttributeGroup.queryBuild(attributeGroupQueryReq));
|
||||
return Result.success(tableDataInfo);
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,5 +3,13 @@ package com.muyu.product.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.product.domain.AsAttributeGroup;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface AsAttributeGroupService extends IService<AsAttributeGroup> {
|
||||
|
||||
/*
|
||||
* 查询属性与组中间列表
|
||||
* */
|
||||
|
||||
public List<AsAttributeGroup>list(AsAttributeGroup attributeGroup);
|
||||
}
|
||||
|
|
|
@ -1,7 +1,23 @@
|
|||
package com.muyu.product.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.common.core.web.page.TableDataInfo;
|
||||
import com.muyu.product.domain.AttributeGroup;
|
||||
import com.muyu.product.domain.AttributeInfo;
|
||||
import com.muyu.product.domain.model.AttributeGroupSaveModel;
|
||||
import com.muyu.product.domain.resp.AttributeGroupPageResp;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface AttributeGroupService extends IService<AttributeGroup> {
|
||||
|
||||
public TableDataInfo<AttributeGroupPageResp>page(AttributeGroup attributeGroup);
|
||||
|
||||
|
||||
public List<AttributeGroup>list(AttributeGroup attributeGroup);
|
||||
|
||||
|
||||
public Boolean save(AttributeGroupSaveModel attributeGroupSaveModel);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -3,5 +3,15 @@ package com.muyu.product.service;
|
|||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.muyu.product.domain.AttributeInfo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface AttributeInfoService extends IService<AttributeInfo> {
|
||||
|
||||
|
||||
|
||||
public List<AttributeInfo>list(AttributeInfo attributeInfo);
|
||||
|
||||
public List<AttributeInfo>attributeListByGroupId(Long groupId);
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,15 +1,25 @@
|
|||
package com.muyu.product.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.muyu.common.core.utils.uuid.ObjUtils;
|
||||
import com.muyu.product.domain.AsAttributeGroup;
|
||||
import com.muyu.product.mapper.AsAttributeGroupMapper;
|
||||
import com.muyu.product.service.AsAttributeGroupService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/*
|
||||
* 属性与组中间Service业务层处理
|
||||
* */
|
||||
@Slf4j
|
||||
@Service
|
||||
public class AsAttributeGroupServiceimpl extends ServiceImpl<AsAttributeGroupMapper, AsAttributeGroup>implements AsAttributeGroupService {
|
||||
@Override
|
||||
public List<AsAttributeGroup> list(AsAttributeGroup attributeGroup) {
|
||||
LambdaQueryWrapper<AsAttributeGroup> queryWrapper = new LambdaQueryWrapper<>();
|
||||
return list(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,91 @@
|
|||
package com.muyu.product.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.muyu.common.core.utils.ObjUtils;
|
||||
import com.muyu.common.core.web.page.TableDataInfo;
|
||||
import com.muyu.product.domain.AsAttributeGroup;
|
||||
import com.muyu.product.domain.AttributeGroup;
|
||||
import com.muyu.product.domain.model.AttributeGroupSaveModel;
|
||||
import com.muyu.product.domain.resp.AttributeGroupPageResp;
|
||||
import com.muyu.product.mapper.AttributeGroupMapper;
|
||||
import com.muyu.product.service.AsAttributeGroupService;
|
||||
import com.muyu.product.service.AttributeGroupService;
|
||||
import com.muyu.product.service.AttributeInfoService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class AttributeGroupServiceimpl extends ServiceImpl<AttributeGroupMapper, AttributeGroup>implements AttributeGroupService {
|
||||
|
||||
@Autowired
|
||||
private AsAttributeGroupService attributeGroupService;
|
||||
|
||||
@Autowired
|
||||
private AttributeInfoService attributeInfoService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*
|
||||
* @param attributeGroupQuery 分组对象
|
||||
*
|
||||
* @return 返回结果
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<AttributeGroupPageResp> page (AttributeGroup attributeGroupQuery) {
|
||||
List<AttributeGroup> list = this.list(attributeGroupQuery);
|
||||
List<AttributeGroupPageResp> pageRespList = list.stream()
|
||||
.map(attributeGroup ->
|
||||
AttributeGroupPageResp.groupFunBuild(
|
||||
attributeGroup, groupId -> attributeInfoService.attributeListByGroupId(groupId)
|
||||
)
|
||||
)
|
||||
.toList();
|
||||
return TableDataInfo.<AttributeGroupPageResp>builder()
|
||||
.total(new PageInfo(list).getTotal())
|
||||
.rows(pageRespList)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* 查询属性组
|
||||
* */
|
||||
@Override
|
||||
public List<AttributeGroup> list(AttributeGroup attributeGroup) {
|
||||
LambdaQueryWrapper<AttributeGroup> queryWrapper = new LambdaQueryWrapper<>();
|
||||
if(ObjUtils.notNull(attributeGroup.getName())){
|
||||
queryWrapper.like(AttributeGroup::getName,attributeGroup.getName());
|
||||
}
|
||||
if (ObjUtils.notNull(attributeGroup.getStates())) {
|
||||
queryWrapper.eq(AttributeGroup::getStates, attributeGroup.getStates());
|
||||
}
|
||||
return this.list(queryWrapper);
|
||||
}
|
||||
|
||||
/*
|
||||
* 是否成功
|
||||
* */
|
||||
@Override
|
||||
public Boolean save(AttributeGroupSaveModel attributeGroupSaveModel) {
|
||||
AttributeGroup attributeGroup=attributeGroupSaveModel.buildAttributeGroup();
|
||||
boolean save=this.save(attributeGroup);
|
||||
Long attributeGroupId=attributeGroup.getId();
|
||||
List<Long>attributeIdList=attributeGroupSaveModel.getAttributeIdList();
|
||||
|
||||
attributeGroupService.saveBatch(
|
||||
attributeIdList.stream()
|
||||
.map(attributeId-> AsAttributeGroup.buildGroup(attributeGroupId,attributeId))
|
||||
.toList()
|
||||
);
|
||||
return save;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,13 +1,44 @@
|
|||
package com.muyu.product.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.muyu.common.core.utils.ObjUtils;
|
||||
import com.muyu.product.domain.AttributeInfo;
|
||||
import com.muyu.product.mapper.AttributeInfoMapper;
|
||||
import com.muyu.product.service.AsAttributeGroupService;
|
||||
import com.muyu.product.service.AttributeInfoService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class AttributeInfoServiceimpl extends ServiceImpl<AttributeInfoMapper, AttributeInfo>implements AttributeInfoService {
|
||||
|
||||
|
||||
@Autowired
|
||||
private AsAttributeGroupService attributeGroupService;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public List<AttributeInfo> list(AttributeInfo attributeInfo) {
|
||||
LambdaQueryWrapper<AttributeInfo> queryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
if(ObjUtils.notNull(attributeInfo.getName())){
|
||||
queryWrapper.like(AttributeInfo::getName,attributeInfo.getName());
|
||||
}
|
||||
|
||||
if (ObjUtils.notNull(attributeInfo.getCode())){
|
||||
queryWrapper.like(AttributeInfo::getCode, attributeInfo.getCode());
|
||||
}
|
||||
|
||||
return this.list(queryWrapper);
|
||||
}
|
||||
@Override
|
||||
public List<AttributeInfo> attributeListByGroupId(Long groupId) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue