diff --git a/src/main/java/com/ai/da/controller/AffiliateController.java b/src/main/java/com/ai/da/controller/AffiliateController.java index 1be751ac..c0c03a3d 100644 --- a/src/main/java/com/ai/da/controller/AffiliateController.java +++ b/src/main/java/com/ai/da/controller/AffiliateController.java @@ -1,8 +1,8 @@ package com.ai.da.controller; +import com.ai.da.common.response.PageBaseResponse; import com.ai.da.common.response.Response; -import com.ai.da.mapper.primary.entity.Affiliate; import com.ai.da.model.dto.AffiliateQueryDTO; import com.ai.da.model.vo.AffiliateInvitationDetailsVO; import com.ai.da.model.vo.AffiliateVO; @@ -15,7 +15,6 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; -import java.util.List; @Slf4j @RestController @@ -34,7 +33,7 @@ public class AffiliateController { @ApiOperation(value = "获取affiliate列表") @PostMapping("/list") - public Response> getAffiliateList(@Valid @RequestBody AffiliateQueryDTO affiliateQueryDTO) { + public Response> getAffiliateList(@Valid @RequestBody AffiliateQueryDTO affiliateQueryDTO) { return Response.success(affiliateService.getAffiliateList(affiliateQueryDTO)); } diff --git a/src/main/java/com/ai/da/mapper/primary/AffiliateMapper.java b/src/main/java/com/ai/da/mapper/primary/AffiliateMapper.java index 3974b904..1a53ca9f 100644 --- a/src/main/java/com/ai/da/mapper/primary/AffiliateMapper.java +++ b/src/main/java/com/ai/da/mapper/primary/AffiliateMapper.java @@ -1,11 +1,19 @@ package com.ai.da.mapper.primary; import com.ai.da.mapper.primary.entity.Affiliate; +import com.ai.da.model.vo.AffiliateVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; import java.util.Map; public interface AffiliateMapper extends BaseMapper { Map getMonthlyApprovedAffiliate(int year, int month); + + List getAffiliateList(String status, String startTime, String endTime, + String order, Long affiliateId, int size, int offset); + + int queryAffiliateTotalCount(String status, String startTime, String endTime, Long affiliateId); + } diff --git a/src/main/java/com/ai/da/model/vo/AffiliateVO.java b/src/main/java/com/ai/da/model/vo/AffiliateVO.java index 96177e1a..eedf5481 100644 --- a/src/main/java/com/ai/da/model/vo/AffiliateVO.java +++ b/src/main/java/com/ai/da/model/vo/AffiliateVO.java @@ -12,4 +12,6 @@ public class AffiliateVO extends Affiliate { private Long linkViewCount; + private String username; + } diff --git a/src/main/java/com/ai/da/service/AffiliateService.java b/src/main/java/com/ai/da/service/AffiliateService.java index 9ceb1cb1..fa03936f 100644 --- a/src/main/java/com/ai/da/service/AffiliateService.java +++ b/src/main/java/com/ai/da/service/AffiliateService.java @@ -1,5 +1,6 @@ package com.ai.da.service; +import com.ai.da.common.response.PageBaseResponse; import com.ai.da.mapper.primary.entity.Affiliate; import com.ai.da.model.dto.AffiliateQueryDTO; import com.ai.da.model.vo.AffiliateInvitationDetailsVO; @@ -11,7 +12,7 @@ public interface AffiliateService extends IService { Boolean registerAsAnAffiliate(String promotionMethod); - IPage getAffiliateList(AffiliateQueryDTO affiliateQueryDTO); + PageBaseResponse getAffiliateList(AffiliateQueryDTO affiliateQueryDTO); AffiliateVO personalAffiliateCenter(); diff --git a/src/main/java/com/ai/da/service/impl/AffiliateServiceImpl.java b/src/main/java/com/ai/da/service/impl/AffiliateServiceImpl.java index 220aefe6..97b464a7 100644 --- a/src/main/java/com/ai/da/service/impl/AffiliateServiceImpl.java +++ b/src/main/java/com/ai/da/service/impl/AffiliateServiceImpl.java @@ -3,11 +3,11 @@ package com.ai.da.service.impl; import com.ai.da.common.config.exception.BusinessException; import com.ai.da.common.constant.CommonConstant; import com.ai.da.common.context.UserContext; +import com.ai.da.common.response.PageBaseResponse; import com.ai.da.common.response.ResultEnum; import com.ai.da.common.utils.CopyUtil; import com.ai.da.common.utils.RedisUtil; import com.ai.da.common.utils.SendEmailUtil; -import com.ai.da.mapper.primary.AccountMapper; import com.ai.da.mapper.primary.AffiliateIncomeMapper; import com.ai.da.mapper.primary.AffiliateMapper; import com.ai.da.mapper.primary.SubscriptionInfoMapper; @@ -29,6 +29,7 @@ import com.mysql.cj.util.StringUtils; import io.netty.util.internal.StringUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -84,15 +85,47 @@ public class AffiliateServiceImpl extends ServiceImpl getAffiliateList(AffiliateQueryDTO affiliateQueryDTO){ + public PageBaseResponse getAffiliateList(AffiliateQueryDTO affiliateQueryDTO){ log.info("parameter => {}", affiliateQueryDTO.toString()); - QueryWrapper qw = new QueryWrapper<>(); + + int offset = (affiliateQueryDTO.getPage() - 1) * affiliateQueryDTO.getSize(); + List affiliateList = baseMapper.getAffiliateList(affiliateQueryDTO.getStatus(), + affiliateQueryDTO.getStartTime(), + affiliateQueryDTO.getEndTime(), + affiliateQueryDTO.getOrder(), + affiliateQueryDTO.getAffiliateId(), + affiliateQueryDTO.getSize(), + offset + ); + if (CollectionUtils.isEmpty(affiliateList)) { + return PageBaseResponse.success(new Page<>()); + }else { + int totalCount = baseMapper.queryAffiliateTotalCount(affiliateQueryDTO.getStatus(), + affiliateQueryDTO.getStartTime(), + affiliateQueryDTO.getEndTime(), + affiliateQueryDTO.getAffiliateId() + ); + IPage orderListVOIPage = new Page<>(); + Integer size = affiliateQueryDTO.getSize(); + orderListVOIPage.setSize(size); + orderListVOIPage.setRecords(affiliateList); + orderListVOIPage.setCurrent(affiliateQueryDTO.getPage()); + orderListVOIPage.setPages((long)Math.ceil((double) totalCount / size)); + orderListVOIPage.setTotal(totalCount); + return PageBaseResponse.success(orderListVOIPage); + } + /*QueryWrapper qw = new QueryWrapper<>(); qw.eq(!StringUtils.isNullOrEmpty(affiliateQueryDTO.getStatus()), "status", affiliateQueryDTO.getStatus()) .gt(!StringUtils.isNullOrEmpty(affiliateQueryDTO.getStartTime()), "create_time", affiliateQueryDTO.getStartTime()) .lt(!StringUtils.isNullOrEmpty(affiliateQueryDTO.getEndTime()), "create_time", affiliateQueryDTO.getEndTime()) .eq(!Objects.isNull(affiliateQueryDTO.getAffiliateId()), "id", affiliateQueryDTO.getAffiliateId()) .orderByDesc(affiliateQueryDTO.getOrder().equals("DESC"), "create_time"); - return baseMapper.selectPage(new Page<>(affiliateQueryDTO.getPage(), affiliateQueryDTO.getSize()), qw); + Page affiliatePage = baseMapper.selectPage(new Page<>(affiliateQueryDTO.getPage(), affiliateQueryDTO.getSize()), qw); + affiliatePage.convert((Function) affiliate-> { + AffiliateVO affiliateVO = CopyUtil.copyObject(affiliate, AffiliateVO.class); + affiliateVO.setUsername(); + }); + return affiliatePage;*/ } public AffiliateVO personalAffiliateCenter(){ diff --git a/src/main/resources/mapper/primary/AffiliateMapper.xml b/src/main/resources/mapper/primary/AffiliateMapper.xml index 8dbe92da..e2637ec0 100644 --- a/src/main/resources/mapper/primary/AffiliateMapper.xml +++ b/src/main/resources/mapper/primary/AffiliateMapper.xml @@ -13,4 +13,63 @@ AND status = 'Active' + + +