/** * */ package com.zteits.pay.dao.impl; import java.math.BigDecimal; import java.util.List; import com.clouds.common.utils.DateUtil; import com.zteits.clouds.api.apibase.constants.ErrorType; import com.zteits.clouds.api.apibase.exception.BizException; import com.zteits.clouds.api.dto.pay.AcctRechargeStatisticDTO; import com.zteits.clouds.api.dto.pay.QueryRechargeByPhoneNumOrCustIdDTO; import com.zteits.clouds.api.dto.pay.param.QueryRechargeByPhoneNumOrCustIdReq; import com.zteits.pay.domain.TdCAcctPerson; import com.zteits.pay.domain.TdCAcctSourceExample; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.dto.pay.AcctSourceQueryRechargeDetailDTO; import com.zteits.clouds.api.dto.pay.AcctSourceQueryRechargeStaticDTO; import com.zteits.clouds.api.dto.pay.param.AcctPayoutForPageRequest; import com.zteits.clouds.api.dto.pay.param.QueryAcctSourceStaticRequest; import com.zteits.pay.dao.TdCAcctSourceDao; import com.zteits.pay.domain.TdCAcctSource; import com.zteits.pay.mapper.TdCAcctSourceMapper; import com.zteits.pay.mapper.smapper.TdCAcctSourceSMapper; import org.springframework.util.CollectionUtils; /** * @author hxz * */ @Component public class TdCAcctSourceDaoImpl implements TdCAcctSourceDao { @Autowired private TdCAcctSourceSMapper tdCAcctSourceSMapper; @Autowired private TdCAcctSourceMapper tdCAcctSourceMapper; @Override public Integer insertAcctSource(TdCAcctSource tdCAcctSource) { return tdCAcctSourceMapper.insertSelective(tdCAcctSource); } /* @Override public Boolean updateAcctSource(AcctSourceDo acctSourceDo) { try { int updateResult = tdCAcctSourceSMapper.updateAcctSource(acctSourceDo); if (updateResult > 0) { return true; } return false; } catch (Exception e) { return false; } } */ @Override public List getAcctSource(TdCAcctSource tdCAcctSource) { return tdCAcctSourceSMapper.getAcctSource(tdCAcctSource); } @Override public Boolean deleteAcctSource(TdCAcctSource tdCAcctSource) { try { int deleteResult = tdCAcctSourceSMapper.deleteAcctSource(tdCAcctSource); if (deleteResult > 0) { return true; } return false; } catch (Exception e) { return false; } } @Override public Long queryShareBerthActFee(TdCAcctSource tdCAcctSource) { return tdCAcctSourceSMapper.queryShareBerthActFee(tdCAcctSource); } @Override public PageInfo queryCustRechargeFeeStatic(QueryAcctSourceStaticRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List list = tdCAcctSourceSMapper.queryCustRechargeFeeStatic(request); return new PageInfo<>(list); } @Override public PageInfo queryCustRechargeFeeStaticMsg(QueryAcctSourceStaticRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List list = tdCAcctSourceSMapper.queryCustRechargeFeeStaticMsg(request); return new PageInfo<>(list); } @Override public PageInfo queryAcctRechargeForPage(AcctPayoutForPageRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List list = tdCAcctSourceSMapper.queryAcctRechargeForPage(request); return new PageInfo<>(list); } @Override public AcctRechargeStatisticDTO statisticAcctRecharge(AcctPayoutForPageRequest request) { return tdCAcctSourceSMapper.statisticAcctRecharge(request); } /** * 针对赠送金额,包含代金券插入收入流水 * @param rechargeFee * @param acctPersonDTO */ @Override public void insertAcctSourceForPresent(Long rechargeFee, TdCAcctPerson acctPersonDTO, Integer presentDetailType, String outNo) { TdCAcctSource acctSourceRequest =new TdCAcctSource(); // 账户id acctSourceRequest.setAcctId(acctPersonDTO.getAcctId()); // 个人客户id acctSourceRequest.setCustId(acctPersonDTO.getCustId()); // 充值类型 -99 -赠送金额 acctSourceRequest.setRechargeType(-99); //赠送来源 acctSourceRequest.setPresentSourceDetailType(presentDetailType); // 充值金额 acctSourceRequest.setRechargeFee(BigDecimal.valueOf(rechargeFee)); // 充值后余额 acctSourceRequest.setRechargeBalance(acctPersonDTO.getAcctBalance()); // 充值人id acctSourceRequest.setRechargeId(acctPersonDTO.getAcctId()); // 充值人姓名 acctSourceRequest.setRechargeName(acctPersonDTO.getAcctName()); // 充值时间 acctSourceRequest.setRechargeTime(DateUtil.getSysDate()); // 保存赠送的唯一标识,用于判断是否重复赠送 acctSourceRequest.setRltPayorderId(outNo); // 账户更新状态 ??? 默认为 1 acctSourceRequest.setAcctUptState(1); // 数据状态:1有效,0无效 acctSourceRequest.setDataState(1); acctSourceRequest.setAcctType(acctPersonDTO.getAcctType()); // 创建时间 acctSourceRequest.setCreateEmpid(acctPersonDTO.getCustId()); acctSourceRequest.setCreateDate(DateUtil.getSysDate()); acctSourceRequest.setOrgId(acctPersonDTO.getOrgId()); Integer flg = this.insertAcctSource(acctSourceRequest); if(flg<=0){ throw new BizException(ErrorType.APP_ERROR,"保存个人收入流水失败",false); } } @Override public long countByExample(TdCAcctSourceExample example) { return tdCAcctSourceMapper.countByExample(example); } /** * 通过支付单id查询充值记录 * @param rltPayorderId * @return */ @Override public TdCAcctSource queryTdCAcctSourceByRltPayorderId(String rltPayorderId) { TdCAcctSource acctSource = new TdCAcctSource(); TdCAcctSourceExample example = new TdCAcctSourceExample(); example.createCriteria().andDataStateEqualTo(1) .andRltPayorderIdEqualTo(rltPayorderId); List list = tdCAcctSourceMapper.selectByExample(example); if(!CollectionUtils.isEmpty(list)){ acctSource =list.get(0); } return acctSource; } /** * 通过手机号、cust_id 查询用户充值明细记录 * @Auther: wangfs * @param * @return */ @Override public PageInfo queryCustRechargeByPhoneNumOrCustId(QueryRechargeByPhoneNumOrCustIdReq request) { //1.设置分页 PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List list = tdCAcctSourceSMapper.queryCustRechargeByPhoneNumOrCustId(request); return new PageInfo<>(list); } }