|
@@ -0,0 +1,58 @@
|
|
|
+package com.chelvc.cloud.vehicle.server.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.chelvc.cloud.vehicle.api.dto.MerchantBalanceDetailDTO;
|
|
|
+import com.chelvc.cloud.vehicle.api.param.QueryMerchantBalanceParam;
|
|
|
+import com.chelvc.cloud.vehicle.api.service.MerchantBalanceDetailService;
|
|
|
+import com.chelvc.cloud.vehicle.server.dao.MerchantBalanceDetailMapper;
|
|
|
+import com.chelvc.cloud.vehicle.server.entity.MerchantBalanceDetail;
|
|
|
+import com.chelvc.framework.common.model.Pagination;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.dubbo.config.annotation.DubboService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+@Slf4j
|
|
|
+@Service
|
|
|
+@RequiredArgsConstructor(onConstructor = @__(@Autowired))
|
|
|
+@DubboService(interfaceClass = com.chelvc.cloud.vehicle.api.service.MerchantBalanceDetailService.class)
|
|
|
+public class MerchantBalanceDetailServiceImpl implements MerchantBalanceDetailService {
|
|
|
+
|
|
|
+ private final MerchantBalanceDetailMapper merchantBalanceDetailMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Pagination<MerchantBalanceDetailDTO> queryByUserId(QueryMerchantBalanceParam param,
|
|
|
+ Integer pageNum, Integer pageSize, Long userId) {
|
|
|
+ if(param == null || userId == null){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ Page<MerchantBalanceDetailDTO> page = new Page<>(pageNum, pageSize);
|
|
|
+ IPage<MerchantBalanceDetailDTO> result = merchantBalanceDetailMapper
|
|
|
+ .queryByUserId(page, queryWrapper(param, userId));
|
|
|
+ return Pagination.<MerchantBalanceDetailDTO>builder().total(result.getTotal()).pages(result.getPages())
|
|
|
+ .records(result.getRecords()).build();
|
|
|
+ }
|
|
|
+
|
|
|
+ public QueryWrapper<MerchantBalanceDetail> queryWrapper(QueryMerchantBalanceParam param, Long userId) {
|
|
|
+ QueryWrapper<MerchantBalanceDetail> lqw = Wrappers.query();
|
|
|
+ lqw.eq("t1.user_id", userId);
|
|
|
+ if(param.getType() != null){
|
|
|
+ lqw.eq("t1.type", param.getType());
|
|
|
+ }
|
|
|
+ if(param.getOperateType() != null){
|
|
|
+ lqw.eq("t1.operate_type", param.getOperateType());
|
|
|
+ }
|
|
|
+ if(param.getStartTime() != null){
|
|
|
+ lqw.ge("t1.create_time", param.getStartTime());
|
|
|
+ }
|
|
|
+ if(param.getEndTime() != null){
|
|
|
+ lqw.lt("t1.create_time", param.getEndTime());
|
|
|
+ }
|
|
|
+ lqw.orderByDesc("t1.create_time");
|
|
|
+ return lqw;
|
|
|
+ }
|
|
|
+}
|