package com.java110.acct.bmo.accountWithdrawalApply.impl; import com.alibaba.fastjson.JSONObject; import com.java110.acct.bmo.accountWithdrawalApply.ISaveAccountWithdrawalApplyBMO; import com.java110.core.annotation.Java110Transactional; import com.java110.core.factory.GenerateCodeFactory; import com.java110.dto.accountDetail.AccountDetailDto; import com.java110.dto.user.UserDto; import com.java110.intf.acct.IAccountInnerServiceSMO; import com.java110.intf.acct.IAccountWithdrawalApplyInnerServiceSMO; import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.po.accountDetail.AccountDetailPo; import com.java110.po.accountWithdrawalApply.AccountWithdrawalApplyPo; import com.java110.vo.ResultVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import java.util.List; @Service("saveAccountWithdrawalApplyBMOImpl") public class SaveAccountWithdrawalApplyBMOImpl implements ISaveAccountWithdrawalApplyBMO { @Autowired private IAccountWithdrawalApplyInnerServiceSMO accountWithdrawalApplyInnerServiceSMOImpl; @Autowired private IUserInnerServiceSMO userInnerServiceSMOImpl; @Autowired private IAccountInnerServiceSMO accountInnerServiceSMOImpl; /** * 添加小区信息 * * @param accountWithdrawalApplyPo * @return 订单服务能够接受的报文 */ @Java110Transactional public ResponseEntity save(AccountWithdrawalApplyPo accountWithdrawalApplyPo, String userId,JSONObject reqJson) { UserDto userDto = new UserDto(); userDto.setUserId( userId ); //根据登录用户查询用户详细信息 List userDtoList = userInnerServiceSMOImpl.getUsers( userDto ); if(null != userDtoList && userDtoList.size() > 0){ accountWithdrawalApplyPo.setApplyUserName( userDtoList.get( 0 ).getUserName() ); accountWithdrawalApplyPo.setApplyUserTel( userDtoList.get( 0 ).getTel() ); accountWithdrawalApplyPo.setApplyUserId( userDtoList.get( 0 ).getUserId() ); accountWithdrawalApplyPo.setApplyId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_applyId)); AccountDetailPo accountDetailPo = new AccountDetailPo(); accountDetailPo.setAcctId( accountWithdrawalApplyPo.getAcctId() ); accountDetailPo.setAmount( accountWithdrawalApplyPo.getAmount() ); accountDetailPo.setRemark( accountWithdrawalApplyPo.getContext() ); accountDetailPo.setObjId( reqJson.getString( "acctObjId" ) ); //商户类型 accountDetailPo.setObjType( "7007"); //调用扣款接口进行扣款 int acctflag = accountInnerServiceSMOImpl.withholdAccount( accountDetailPo ); if (acctflag < 1) { return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "扣款失败"); } //报存提现信息 int flag = accountWithdrawalApplyInnerServiceSMOImpl.saveAccountWithdrawalApply(accountWithdrawalApplyPo); if (flag < 1) { return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存提现失败"); } return ResultVo.createResponseEntity(ResultVo.CODE_OK, "提现成功"); } return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败,检查用户信息是否完整"); } }