package com.zteits.pay.biz; import org.apache.commons.collections4.CollectionUtils; import com.alibaba.fastjson.JSONObject; import com.xiaoleilu.hutool.util.CollectionUtil; import com.zteits.clouds.api.apibase.bean.BizResult; import com.zteits.clouds.api.apibase.constants.AccountTypeNoSecretEnum; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.apibase.constants.ErrorType; import com.zteits.clouds.api.apibase.exception.BizException; import com.zteits.clouds.api.dto.pay.TdCAcctNoSecretDTO; import com.zteits.clouds.api.dto.pay.param.IsOpenAutoPayRequest; import com.zteits.clouds.api.dto.pay.param.TdCAcctNoSecretListRequest; import com.zteits.clouds.api.dto.pay.param.TdCAcctNoSecretRequest; import com.zteits.clouds.api.service.pay.AcctNoSecretService; import com.zteits.pay.dao.AcctNoSecretDao; import com.zteits.pay.dao.TdCCarDao; import com.zteits.pay.domain.TdCAcctNoSecret; import com.zteits.pay.domain.TdCCar; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * * .
* * Copyright: Copyright (c) 2017 zteits * * @ClassName: AcctNoSecretServiceImplO * @Description: * @version: v1.0.0 * @author: xiejianpeng * @date: 2017年12月5日 上午11:45:31 * Modification History: * Date Author Version Description *---------------------------------------------------------* * 2017年12月5日 xiejianpeng v1.0.0 创建 */ @Service("com.zteits.pay.biz.AcctNoSecretServiceImpl") public class AcctNoSecretServiceImpl implements AcctNoSecretService{ private static final Logger logger = LoggerFactory.getLogger(AcctNoSecretServiceImpl.class); @Autowired private AcctNoSecretDao acctNoSecretDao; @Autowired private TdCCarDao tdCCarDao; @Override public BizResult> getAllAcctNoSecret(TdCAcctNoSecretRequest request) { List list = acctNoSecretDao.getAllAcctNoSecret(request); return new BizResult>(list); } @Transactional @Override public BizResult saveAcctNoSecretBindAcctType(TdCAcctNoSecretRequest request) { logger.info("开通免密支付-开始--"+request); TdCAcctNoSecret tdCAcctNoSecret = new TdCAcctNoSecret(); BeanUtils.copyProperties(request, tdCAcctNoSecret); tdCAcctNoSecret.setAcctOrder(AccountTypeNoSecretEnum.ACC_SORT_TALL.val());//当排序为1时,优先级最高 tdCAcctNoSecret.setCreateEmpid(tdCAcctNoSecret.getCustId()); tdCAcctNoSecret.setCreateDate(new Date()); tdCAcctNoSecret.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); //先查询之前的 List list = acctNoSecretDao.getAcctNoSecret(request); tdCAcctNoSecret.setIsOpen(1); Integer flg = acctNoSecretDao.saveAcctNoSecretBindAcctType(tdCAcctNoSecret); if(flg>0){ //其他的优先级都加1 if(CollectionUtils.isNotEmpty(list)){ for(int i= 0;i(flg >0 ?true:false); } @Transactional @Override public BizResult deleteAcctNoSecretBindAcctType(TdCAcctNoSecretRequest request) { TdCAcctNoSecret tdCAcctNoSecret = new TdCAcctNoSecret(); BeanUtils.copyProperties(request, tdCAcctNoSecret); Integer flg = acctNoSecretDao.deleteAcctNoSecretBindAcctType(tdCAcctNoSecret); if(flg>0){ List list = acctNoSecretDao.getAcctNoSecret(request); if(CollectionUtils.isNotEmpty(list)){ for(int i= 0;i(flg >0 ?true:false); } @Override public BizResult sortAcctNoSecret(TdCAcctNoSecretListRequest request) { logger.info("开始设置支付类型的优先级排序--"+request); List list = new ArrayList(); if(request != null){ List sortlist = request.getSortlist(); if(CollectionUtils.isNotEmpty(sortlist)){ for(TdCAcctNoSecretRequest tdCAcctNoSecretRequest:sortlist ){ TdCAcctNoSecret tdCAcctNoSecret = new TdCAcctNoSecret(); BeanUtils.copyProperties(tdCAcctNoSecretRequest, tdCAcctNoSecret); tdCAcctNoSecret.setModfiyEmpid(tdCAcctNoSecret.getCustId()); tdCAcctNoSecret.setModfiyDate(new Date()); list.add(tdCAcctNoSecret); } } } //修改其他的优先级 Integer flg = acctNoSecretDao.updateAcctNoSecretBindAcctType(list); logger.info("结束设置支付类型的优先级排序--返回结果"+flg); return new BizResult(flg >0 ?true:false); } @Override public BizResult> getAcctNoSecret(TdCAcctNoSecretRequest request) { List acctNoSecretList = new ArrayList<>(); List list = acctNoSecretDao.getAcctNoSecret(request); if(CollectionUtils.isNotEmpty(list)){ for(TdCAcctNoSecret tdCAcctNoSecret : list){ TdCAcctNoSecretDTO tdCAcctNoSecretDTO = new TdCAcctNoSecretDTO(); BeanUtils.copyProperties(tdCAcctNoSecret, tdCAcctNoSecretDTO); acctNoSecretList.add(tdCAcctNoSecretDTO); } } return new BizResult>(acctNoSecretList); } @Override public BizResult isOpenAutoPay(IsOpenAutoPayRequest request) { logger.debug("查询用户是否开通自动扣款:{}", JSONObject.toJSON(request)); String custId = request.getCustId(); if(StringUtils.isBlank(custId)){ //根据车牌号查询custId if(StringUtils.isBlank(request.getCarNumber())){ throw new BizException(ErrorType.PARAM_NOT_VALID); } TdCCar reqcar = new TdCCar(); reqcar.setCarNumber(request.getCarNumber()); List carlist = tdCCarDao.selectCustInfo(reqcar); if(CollectionUtil.isEmpty(carlist)){ return new BizResult<>(false); } custId = carlist.get(0).getCustId(); } TdCAcctNoSecretRequest accreq = new TdCAcctNoSecretRequest(); accreq.setCustId(custId); List list = acctNoSecretDao.getAllAcctNoSecret(accreq); if (CollectionUtils.isNotEmpty(list)) { for (TdCAcctNoSecretDTO dto : list) { if (dto.getAcctType() == 5 && dto.getIsOpen() == 1) { /**是否开通自动扣款,0-否,1-是*/ return new BizResult<>(true); } } } return new BizResult<>(false); } }