1、多条件分页查询page
@ApiOperation("多条件分页查询xxxx")
@GetMapping("page")
@PreAuthorize("hasAuthority('模块权限:权限:page')")
public ResponseEntity<Page<实体类>> load'xxxx'Page(Page<实体类> page,实体类 domain) {
page = 'xxxx'Service.page(page,new LambdaQueryWrapper<实体类>()
.like(条件)
.eq(条件)
.orderByDesc(条件)
);
return ResponseEntity.ok(page);
}
=================================================================================================
项目实例:
2、新增save
controller
:
@ApiOperation("新增xxxx")
@PostMapping
@PreAuthorize("hasAuthority('模块权限:权限:save')")
@Log(operation = "新增xxxx")
public ResponseEntity<Void> save'xxxx'(@RequestBody 实体类 domain) {
// 获取当前用户
//String userId = AuthUtil.getLoginUserId();
//domain.setUserId(Long.valueof(userId));
// 执行业务
'xxxx'Service.save(domain);
// 响应
return ResponseEntity.ok().build();
}
serviceimpl
:
@Override
@Transactional(rollbackFor = RuntimeException.class)
@CacheEvict(key = xxxConstant.xxx)
public boolean save(实体类 domain) {
// 1、补充一些信息
//1) 时间
domain.setCreateTime(new Date());
domain.setUpdateTime(new Date());
//2) 密码加密(新增用户需要)
sysUser.setPassword(passwordEncoder.encode(sysUser.getPassword()));
//3) 状态、版本号
domain.setStatus(1);
domain.setVersion(1);
//4) 分类层级
domain.setGrade(1);
//5) 初始数量为0
domain.setXxxCount(0L);
// 2、校验和处理
// 比如添加用户收货地址时,会判断有没有默认收获地址,没有则默认将该新增地址设置为默认收货地址
// 3、将上面补充的信息,利用mybatis新增对象
int i = 'xxxx'Mapper.insert(domain);
// 4、如果新增这个对象,在表中的属性有多表操作/
if (i > 0) {
// 比如新增一个用户,这个用户表和角色表还有一个用户角色表(3张表)
// 除了操作sys_user表外,还要操作sys_user_role表
...
}
}
return i > 0;
}
=================================================================================================
项目实例
新增管理员:
新增角色:
新增商品类目:
新增商品分组标签:
新增商品规格:
新增商品:
@Override
@Transactional(rollbackFor = RuntimeException.class)
public boolean save(Prod prod) {
//新增商品对象
prod.setShopId(1L);
prod.setSoldNum(0);
prod.setVersion(0);
prod.setCreateTime(new Date());
prod.setUpdateTime(new Date());
Integer status = prod.getStatus();
if (1 == status) {
prod.setPutawayTime(new Date());
}
Prod.DeliveryModeVo deliveryModeVo = prod.getDeliveryModeVo();
prod.setDeliveryMode(JSON.toJSONString(deliveryModeVo));
int i = prodMapper.insert(prod);
if (i > 0) {
Long prodId = prod.getProdId();
//获取商品sku对象集合
List<Sku> skuList = prod.getSkuList();
//判断商品sku对象集合是否有值
if (!CollectionUtils.isEmpty(skuList) && skuList.size() != 0) {
//循环遍历商品sku对象集合
skuList.forEach(sku -> {
sku.setProdId(prodId);
sku.setActualStocks(sku.getStocks());
sku.setStocks(0);
sku.setVersion(0);
sku.setRecTime(new Date());
sku.setUpdateTime(new Date());
sku.setIsDelete(0);
});
//批量添加商品sku对象集合
skuService.saveBatch(skuList);
}
//获取商品与分组标签的关系集合
List<Long> tagIdList = prod.getTagList();
//判断是否有值
if (!CollectionUtils.isEmpty(tagIdList) && tagIdList.size() != 0) {
//循环遍历
List<ProdTagReference> prodTagReferenceList = new ArrayList<>();
tagIdList.forEach(tagId -> {
ProdTagReference prodTagReference = new ProdTagReference();
prodTagReference.setProdId(prodId);
prodTagReference.setTagId(tagId);
prodTagReference.setShopId(1L);
prodTagReference.setStatus(1);
prodTagReference.setCreateTime(new Date());
prodTagReferenceList.add(prodTagReference);
});
//批量添加商品与分组标签的关系
prodTagReferenceService.saveBatch(prodTagReferenceList);
}
}
return i>0;
}
新增公告:
新增自提点:
新增轮播图:
新增用户收货地址:
3、 查询详情info/{…}
查询管理员详情:
查询角色详情:
根据标识查询商品类目详情
根据标识查询商品分组标签详情
根据标识查询评论详情
查询商品详情
查看公告详情
查询自提点详情
查询收货地址详情