7cec7e07 by 李仁豪

[feat] 策略增删改查相关接口

1 parent 4cacc271
package com.ql.backend.ploycenter.application;
import com.ql.backend.core.interfaces.vo.ApiResponse;
import com.ql.backend.core.interfaces.vo.PageVO;
import com.ql.backend.ploycenter.domain.condition.PloyCondition;
import com.ql.backend.ploycenter.interfaces.request.PloyCreateRequest;
import com.ql.backend.ploycenter.interfaces.request.PloyUpdateRequest;
import com.ql.backend.ploycenter.interfaces.vo.PloyVO;
import com.ql.backend.taskmanager.common.dto.TaskDTO;
/**
......@@ -10,7 +14,25 @@ import com.ql.backend.taskmanager.common.dto.TaskDTO;
*/
public interface PloyService {
/**
* 创建策略
*/
String createPloy(PloyCreateRequest request);
/**
* 更新策略
*/
void updatePloy(String ployId, PloyUpdateRequest request);
/**
* 查询策略列表
*/
PageVO<PloyVO> findPloy(PloyCondition condition);
/**
* 查询策略详情
*/
PloyVO getPloy(String ployId);
ApiResponse<String> fire(TaskDTO taskDTO);
}
......
package com.ql.backend.ploycenter.application;
import com.ql.backend.core.interfaces.vo.PageVO;
import com.ql.backend.ploycenter.domain.condition.ShopCondition;
import com.ql.backend.ploycenter.interfaces.request.ShopCreateRequest;
import com.ql.backend.ploycenter.interfaces.request.ShopUpdateRequest;
import com.ql.backend.ploycenter.interfaces.vo.ShopVO;
/**
* @author lirenhao
* date: 2022/9/14 12:04
*/
public interface ShopService {
/**
* 创建店铺
*/
String createShop(ShopCreateRequest request);
/**
* 更新店铺信息
*/
void updateShop(String id, ShopUpdateRequest request);
/**
* 查询店铺列表
*/
PageVO<ShopVO> findShop(ShopCondition condition);
/**
* 查询店铺详情
*/
ShopVO getShop(String id);
}
......@@ -2,19 +2,26 @@ package com.ql.backend.ploycenter.application.impl;
import com.alibaba.fastjson.JSON;
import com.ql.backend.core.interfaces.vo.ApiResponse;
import com.ql.backend.core.interfaces.vo.PageVO;
import com.ql.backend.ploycenter.application.PloyService;
import com.ql.backend.ploycenter.domain.condition.PloyCondition;
import com.ql.backend.ploycenter.domain.po.PloyPO;
import com.ql.backend.ploycenter.infrastructure.adapter.ControlCenterAdapter;
import com.ql.backend.ploycenter.infrastructure.converter.mapper.PloyConverter;
import com.ql.backend.ploycenter.infrastructure.persistence.dao.PloyDao;
import com.ql.backend.ploycenter.interfaces.request.PloyCreateRequest;
import com.ql.backend.ploycenter.interfaces.request.PloyUpdateRequest;
import com.ql.backend.ploycenter.interfaces.vo.PloyVO;
import com.ql.backend.taskmanager.common.dto.TaskDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
......@@ -32,6 +39,7 @@ public class PloyServiceImpl implements PloyService {
private PloyDao ployDao;
@Override
@Transactional
public String createPloy(PloyCreateRequest request) {
PloyPO po = PloyConverter.INSTANCE.convertRequest2Po(request);
po.setPloyId(UUID.randomUUID().toString());
......@@ -39,10 +47,48 @@ public class PloyServiceImpl implements PloyService {
po.setGmtModified(new Date());
po.setIsDeleted(Boolean.FALSE);
ployDao.save(po);
if (!CollectionUtils.isEmpty(request.getBindShopIds())) {
/* todo 绑定店铺 */
}
return po.getPloyId();
}
@Override
@Transactional
public void updatePloy(String ployId, PloyUpdateRequest request) {
PloyPO po = PloyConverter.INSTANCE.convertRequest2Po(request);
po.setPloyId(ployId);
po.setGmtModified(new Date());
ployDao.updateById(po);
if (!CollectionUtils.isEmpty(request.getBindShopIds())) {
/* todo 绑定店铺 */
}
}
@Override
public PageVO<PloyVO> findPloy(PloyCondition condition) {
long total = ployDao.countByCondition(condition);
List<PloyPO> list = ployDao.listByCondition(condition);
return PageVO.<PloyVO>builder()
.page(condition.getPage())
.size(condition.getSize())
.total(total)
.list(PloyConverter.INSTANCE.convertPo2Vo(list))
.build();
}
@Override
public PloyVO getPloy(String ployId) {
PloyPO po = ployDao.getPloyById(ployId);
PloyVO vo = PloyConverter.INSTANCE.convertPo2Vo(po);
/* todo 查询策略详情, 并查询绑定的店铺信息 */
return vo;
}
@Override
public ApiResponse<String> fire(TaskDTO taskDTO) {
/* 执行策略, 创建任务 */
if (!ObjectUtils.isEmpty(taskDTO.getPloyId())) {
......
package com.ql.backend.ploycenter.application.impl;
import com.ql.backend.core.interfaces.vo.PageVO;
import com.ql.backend.ploycenter.application.ShopService;
import com.ql.backend.ploycenter.domain.condition.ShopCondition;
import com.ql.backend.ploycenter.interfaces.request.ShopCreateRequest;
import com.ql.backend.ploycenter.interfaces.request.ShopUpdateRequest;
import com.ql.backend.ploycenter.interfaces.vo.ShopVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* @author lirenhao
* date: 2022/9/14 12:07
*/
@Slf4j
@Service
public class ShopServiceImpl implements ShopService {
@Override
public String createShop(ShopCreateRequest request) {
/* todo 创建店铺 */
return null;
}
@Override
public void updateShop(String id, ShopUpdateRequest request) {
/* todo 更新店铺信息 */
}
@Override
public PageVO<ShopVO> findShop(ShopCondition condition) {
/* todo 查询店铺列表 */
return null;
}
@Override
public ShopVO getShop(String id) {
/* todo 查询店铺详情 */
return null;
}
}
......@@ -3,6 +3,7 @@ package com.ql.backend.ploycenter.infrastructure.converter.mapper;
import com.ql.backend.ploycenter.common.dto.PloyDTO;
import com.ql.backend.ploycenter.domain.po.PloyPO;
import com.ql.backend.ploycenter.interfaces.request.PloyCreateRequest;
import com.ql.backend.ploycenter.interfaces.request.PloyUpdateRequest;
import com.ql.backend.ploycenter.interfaces.vo.PloyVO;
import org.mapstruct.Mapper;
import org.mapstruct.NullValueCheckStrategy;
......@@ -10,6 +11,8 @@ import org.mapstruct.NullValuePropertyMappingStrategy;
import org.mapstruct.ReportingPolicy;
import org.mapstruct.factory.Mappers;
import java.util.List;
/**
* @author lirenhao
* date: 2022/9/5 17:45
......@@ -22,4 +25,10 @@ public interface PloyConverter extends CommonConverter<PloyPO, PloyDTO, PloyVO>
PloyConverter INSTANCE = Mappers.getMapper(PloyConverter.class);
PloyPO convertRequest2Po(PloyCreateRequest request);
PloyPO convertRequest2Po(PloyUpdateRequest request);
PloyVO convertPo2Vo(PloyPO po);
List<PloyVO> convertPo2Vo(List<PloyPO> pos);
}
......
package com.ql.backend.ploycenter.infrastructure.persistence.dao;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ql.backend.ploycenter.domain.condition.PloyCondition;
import com.ql.backend.ploycenter.domain.po.PloyPO;
import java.util.List;
/**
* @author lirenhao
* date: 2022/9/5 16:41
......@@ -10,4 +13,8 @@ import com.ql.backend.ploycenter.domain.po.PloyPO;
public interface PloyDao extends IService<PloyPO> {
PloyPO getPloyById(String ployId);
long countByCondition(PloyCondition condition);
List<PloyPO> listByCondition(PloyCondition condition);
}
......
......@@ -2,11 +2,14 @@ package com.ql.backend.ploycenter.infrastructure.persistence.dao.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ql.backend.ploycenter.domain.condition.PloyCondition;
import com.ql.backend.ploycenter.domain.po.PloyPO;
import com.ql.backend.ploycenter.infrastructure.persistence.dao.PloyDao;
import com.ql.backend.ploycenter.infrastructure.persistence.mapper.PloyMapper;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author lirenhao
* date: 2022/9/5 16:41
......@@ -20,4 +23,17 @@ public class PloyDaoImpl extends ServiceImpl<PloyMapper, PloyPO> implements Ploy
wrapper.eq(PloyPO::getPloyId, ployId);
return this.baseMapper.selectOne(wrapper);
}
@Override
public long countByCondition(PloyCondition condition) {
LambdaQueryWrapper<PloyPO> wrapper = new LambdaQueryWrapper<>();
return count(wrapper);
}
@Override
public List<PloyPO> listByCondition(PloyCondition condition) {
LambdaQueryWrapper<PloyPO> wrapper = new LambdaQueryWrapper<>();
wrapper.last("LIMIT " + (condition.getPage() * condition.getSize()) + ", " + condition.getSize());
return this.list(wrapper);
}
}
......
......@@ -37,7 +37,7 @@ public class PloyFacade {
*/
@PutMapping("/{id}")
public ApiResponse<Void> updatePloy(@PathVariable("id") String id, @RequestBody PloyUpdateRequest request) {
/* todo 更新策略 */
ployService.updatePloy(id, request);
return ApiResponse.ok();
}
......@@ -46,8 +46,7 @@ public class PloyFacade {
*/
@GetMapping
public ApiResponse<PageVO<PloyVO>> findPloy(PloyCondition condition) {
/* todo 查询策略列表 */
return ApiResponse.ok();
return ApiResponse.ok(ployService.findPloy(condition));
}
/**
......@@ -55,7 +54,6 @@ public class PloyFacade {
*/
@GetMapping("/{id}")
public ApiResponse<PloyVO> getPloy(@PathVariable("id") String id) {
/* todo 查询策略详情 */
return ApiResponse.ok();
return ApiResponse.ok(ployService.getPloy(id));
}
}
......
......@@ -2,12 +2,15 @@ package com.ql.backend.ploycenter.interfaces.facade;
import com.ql.backend.core.interfaces.vo.ApiResponse;
import com.ql.backend.core.interfaces.vo.PageVO;
import com.ql.backend.ploycenter.application.ShopService;
import com.ql.backend.ploycenter.domain.condition.ShopCondition;
import com.ql.backend.ploycenter.interfaces.request.ShopCreateRequest;
import com.ql.backend.ploycenter.interfaces.request.ShopUpdateRequest;
import com.ql.backend.ploycenter.interfaces.vo.ShopVO;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* @author lirenhao
* date: 2022/9/5 15:56
......@@ -16,16 +19,18 @@ import org.springframework.web.bind.annotation.*;
@RequestMapping("/ploy-center/v1/shops")
public class ShopFacade {
@Resource
private ShopService shopService;
@PostMapping
public ApiResponse<String> createShop(@RequestBody ShopCreateRequest request) {
/* todo 创建店铺 */
return ApiResponse.ok();
return ApiResponse.ok(shopService.createShop(request));
}
@PutMapping("/{id}")
public ApiResponse<String> updateShop(@PathVariable("id") String id, @RequestBody ShopUpdateRequest request) {
/* todo 更新店铺信息 */
public ApiResponse<Void> updateShop(@PathVariable("id") String id, @RequestBody ShopUpdateRequest request) {
shopService.updateShop(id,request);
return ApiResponse.ok();
}
......@@ -34,8 +39,7 @@ public class ShopFacade {
*/
@GetMapping
public ApiResponse<PageVO<ShopVO>> findShop(ShopCondition condition) {
/* todo 查询店铺列表 */
return ApiResponse.ok();
return ApiResponse.ok(shopService.findShop(condition));
}
/**
......@@ -43,7 +47,6 @@ public class ShopFacade {
*/
@GetMapping("/{id}")
public ApiResponse<ShopVO> getShop(@PathVariable("id") String id) {
/* todo 查询店铺详情 */
return ApiResponse.ok();
return ApiResponse.ok(shopService.getShop(id));
}
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!