|  | @@ -0,0 +1,108 @@
 | 
											
												
													
														|  | 
 |  | +package com.zanxiang.game.data.serve.service.impl;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import com.zanxiang.erp.security.util.SecurityUtil;
 | 
											
												
													
														|  | 
 |  | +import com.zanxiang.game.data.serve.pojo.dto.AdsOrderDetailListDTO;
 | 
											
												
													
														|  | 
 |  | +import com.zanxiang.game.data.serve.pojo.entity.AdsOrderDetail;
 | 
											
												
													
														|  | 
 |  | +import com.zanxiang.game.data.serve.pojo.vo.AdsOrderDetailVO;
 | 
											
												
													
														|  | 
 |  | +import com.zanxiang.game.data.serve.service.IAdsOrderDetailService;
 | 
											
												
													
														|  | 
 |  | +import com.zanxiang.game.data.serve.utils.Page;
 | 
											
												
													
														|  | 
 |  | +import com.zanxiang.module.util.bean.BeanUtil;
 | 
											
												
													
														|  | 
 |  | +import lombok.extern.slf4j.Slf4j;
 | 
											
												
													
														|  | 
 |  | +import org.apache.commons.lang3.StringUtils;
 | 
											
												
													
														|  | 
 |  | +import org.nutz.dao.Cnd;
 | 
											
												
													
														|  | 
 |  | +import org.nutz.dao.Dao;
 | 
											
												
													
														|  | 
 |  | +import org.nutz.dao.pager.Pager;
 | 
											
												
													
														|  | 
 |  | +import org.nutz.dao.util.cri.Exps;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.beans.factory.annotation.Autowired;
 | 
											
												
													
														|  | 
 |  | +import org.springframework.stereotype.Service;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +import java.util.List;
 | 
											
												
													
														|  | 
 |  | +import java.util.stream.Collectors;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +@Slf4j
 | 
											
												
													
														|  | 
 |  | +@Service
 | 
											
												
													
														|  | 
 |  | +public class AdsOrderDetailService implements IAdsOrderDetailService {
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    @Autowired
 | 
											
												
													
														|  | 
 |  | +    private Dao dao;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    @Override
 | 
											
												
													
														|  | 
 |  | +    public Page<AdsOrderDetailVO> listOfPage(AdsOrderDetailListDTO dto) {
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isBlank(dto.getZxPitcherId()) && !SecurityUtil.isManager()) {
 | 
											
												
													
														|  | 
 |  | +            // 只有管理员才能查看全部数据
 | 
											
												
													
														|  | 
 |  | +            dto.setZxPitcherId(SecurityUtil.getUserId().toString());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        Pager pager = dto.toPage();
 | 
											
												
													
														|  | 
 |  | +        Cnd cnd = Cnd.where(Exps.isNull(AdsOrderDetail::getZxPitcherId).setNot(true));
 | 
											
												
													
														|  | 
 |  | +        if (dto.getBeginOrderTime() != null) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getOrderCreateTime, ">=", dto.getBeginOrderTime());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (dto.getEndOrderTime() != null) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getOrderCreateTime, "<=", dto.getEndOrderTime());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getOrderId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getOrderId, "=", dto.getOrderId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getCpOrderId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getCpOrderId, "=", dto.getCpOrderId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getMerchantOrderNo())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getMerchantOrderNo, "=", dto.getMerchantOrderNo());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getZxPitcherId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getZxPitcherId, "=", dto.getZxPitcherId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getGameUserId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getGameUserId, "=", dto.getGameUserId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getUsername())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getUsername, "like", "%" + dto.getUsername() + "%");
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getParentId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getParentId, "=", dto.getParentId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getOrderGameId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getOrderGameId, "=", dto.getOrderGameId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getGameId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getGameId, "=", dto.getGameId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getAccountId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getAccountId, "=", dto.getAccountId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getAgentId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getAgentId, "=", dto.getAgentId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getOs())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getOs, "=", dto.getOs());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getOrderStatus())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getOrderStatus, "=", dto.getOrderStatus());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getPayway())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getPayway, "=", dto.getPayway());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getRoleId())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getRoleId, "=", dto.getRoleId());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (StringUtils.isNotBlank(dto.getRoleName())) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getRoleName, "=", dto.getRoleName());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (dto.getBeginRegTime() != null) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getRegTime, ">=", dto.getBeginRegTime());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        if (dto.getEndRegTime() != null) {
 | 
											
												
													
														|  | 
 |  | +            cnd.and(AdsOrderDetail::getRegTime, "<=", dto.getEndRegTime());
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        List<AdsOrderDetailVO> records = dao.query(AdsOrderDetail.class, cnd, pager).stream().map(this::toVO).collect(Collectors.toList());
 | 
											
												
													
														|  | 
 |  | +        pager.setRecordCount(dao.count(AdsOrderDetail.class, cnd));
 | 
											
												
													
														|  | 
 |  | +        return new Page<>(records, pager);
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +    private AdsOrderDetailVO toVO(AdsOrderDetail gameOrder) {
 | 
											
												
													
														|  | 
 |  | +        if (gameOrder == null) {
 | 
											
												
													
														|  | 
 |  | +            return null;
 | 
											
												
													
														|  | 
 |  | +        }
 | 
											
												
													
														|  | 
 |  | +        return BeanUtil.copy(gameOrder, AdsOrderDetailVO.class);
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +}
 |