diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxPressBatchController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxPressBatchController.java index 2633b5fda..8de6e4f3b 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxPressBatchController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxPressBatchController.java @@ -42,6 +42,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -99,13 +101,16 @@ public class WxPressBatchController extends BaseController { @ApiOperation("砍价券接口") @GetMapping("itemList") @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true)}) - public ResultData itemList(Long id) { + @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true), + @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), + @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) + public ResultData itemList(Long id, Integer pageNum, Integer pageSize) { if (null == id) { return new ResultData(Result.ERROR,"参数错误"); } TenantEntity tenantEntity = getTenantInfo(); - List items = wxPressBatchService.getItemList(id, tenantEntity.getTenantId()); + PageInfo itemPage = wxPressBatchService.getItemPage(id, tenantEntity.getTenantId(),pageNum,pageSize); + List items = itemPage.getList(); if (null != items && items.size() > 0 ) { List couponIdList = wxPressBatchService.getItemCouponIdList(id, tenantEntity.getTenantId()); WxCoupon record = new WxCoupon(); @@ -127,7 +132,7 @@ public class WxPressBatchController extends BaseController { pbi.setCoupon(coupon); } } - return new ResultData(items); + return new ResultData(itemPage); } @ApiOperation("删除接口") @@ -180,7 +185,17 @@ public class WxPressBatchController extends BaseController { } String[] cids = cidstr.split(","); WxPressBatch order = wxPressBatchService.getById(record.getId(), tenantEntity.getTenantId()); - wxPressBatchService.saveItems(order, cids); + List existsCids = wxPressBatchService.getItemCouponIdList(record.getId(), tenantEntity.getTenantId()); + if (null != cids && cids.length > 0 ) { + List rcids = new ArrayList(); + for (String cid: cids) { + rcids.add(Long.parseLong(cid)); + } + if (null != existsCids && existsCids.size() > 0 ) { + rcids.removeAll(existsCids); + } + wxPressBatchService.saveItems(order, rcids); + } return new ResultData(); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxPressBatchService.java b/mallinkService/src/main/java/com/iformall/service/WxPressBatchService.java index 143a61507..26b2b1c1c 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxPressBatchService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxPressBatchService.java @@ -39,10 +39,11 @@ public interface WxPressBatchService { WxPressBatch getById(Long id,String tenantId); + PageInfo getItemPage(Long batchId,String tenantId, Integer pageIndex, Integer pageSize); List getItemList(Long batchId,String tenantId); List getItemCouponIdList(Long batchId,String tenantId); - void saveItems(WxPressBatch pressBatch,String[] couponIds); + void saveItems(WxPressBatch pressBatch,List couponIds); void deleteBatch(Long id,String tenantId); void deleteItemById(Long itemId,String tenantId); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxPressBatchServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxPressBatchServiceImpl.java index cafa1dbe6..87849dfc4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxPressBatchServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxPressBatchServiceImpl.java @@ -86,6 +86,14 @@ public class WxPressBatchServiceImpl implements WxPressBatchService { return wxPressBatchMapper.getById(id, tenantId); } + @Override + public PageInfo getItemPage(Long batchId,String tenantId, Integer pageIndex, Integer pageSize) { + WxPressBatchItem iteq = new WxPressBatchItem(); + iteq.setTenantId(tenantId); + iteq.setPressBatchId(batchId); + return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxPressBatchItemMapper.findList(iteq)); + } + @Override public List getItemList(Long batchId, String tenantId) { WxPressBatchItem iteq = new WxPressBatchItem(); @@ -104,12 +112,12 @@ public class WxPressBatchServiceImpl implements WxPressBatchService { @Override @Transactional(propagation = Propagation.REQUIRED, readOnly = false, rollbackFor = {Exception.class}) - public void saveItems(WxPressBatch pressBatch, String[] couponIds) { - for (String cid : couponIds) { + public void saveItems(WxPressBatch pressBatch, List couponIds) { + for (Long cid : couponIds) { WxPressBatchItem iteq = new WxPressBatchItem(); iteq.updateTenantInfo(pressBatch); iteq.setPressBatchId(pressBatch.getId()); - iteq.setCouponId(Long.parseLong(cid)); + iteq.setCouponId(cid); iteq.setPressBatchStatus(pressBatch.getStatus()); iteq.setCreateDate(new Date()); iteq.setUpdateDate(new Date());