package com.sys.service; import java.math.BigDecimal; import java.util.Date; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.cab.dao.CabThirdPartyMapper; import com.cab.model.CabThirdParty; import com.cku.dao.CkuDvUserMapper; import com.cku.dao.CkuMemberBalanMapper; import com.cku.dao.CkuUserPayListMapper; import com.cku.model.CkuDvUserModel; import com.cku.model.CkuMemberBalance; import com.cku.model.CkuUserPayList; @Service("alipayService") public class AlipayServiceImpl { @Autowired public CkuUserPayListMapper ckuUserPayListMapper; @Autowired public CabThirdPartyMapper cabThirdPartyMapper; @Autowired public CkuDvUserMapper ckuDvUserMapper; @Autowired public CkuMemberBalanMapper ckuMemberBalanMapper; /** * 更改余额 * @param userId * @param money * @return */ @Transactional public boolean rechargeBanlance(Long userId,String order ,String money){ boolean result = false; String dvUserId = "-1"; String ckuUserId = "-1"; //根据cab用户id查询出第三方表中对应的CKU账号信息 CabThirdParty cabThirdParty = cabThirdPartyMapper.selectByUserId(Integer.parseInt(userId.toString())); if(cabThirdParty != null){ dvUserId = cabThirdParty.getCkuUserId(); } //根据CKU账号id查询出CKU账号信息 CkuDvUserModel ckuDvUserModel = ckuDvUserMapper.getckuMemberByUserId(dvUserId); if(ckuDvUserModel != null){ ckuUserId = ckuDvUserModel.getCkuId(); } //根据CKU会员号查询出对应用户的余额信息 CkuMemberBalance ckuMemberBalance = ckuMemberBalanMapper.getCkuMemberBalance(ckuUserId); //根据CKU会员号查询出对应用户的余额信息 CkuUserPayList ckuUserPayList = new CkuUserPayList(); ckuUserPayList.setUserId(ckuUserId); ckuUserPayList.setMoneyType("0"); ckuUserPayList.setMoneyDate(new Date()); ckuUserPayList.setMoneyAmount(new BigDecimal(money)); ckuUserPayList.setMoneyWay("1"); ckuUserPayList.setRunningNumber(order); ckuUserPayList.setPayState("1"); ckuUserPayList.setOutTradeNo(order); ckuUserPayList.setAlipayS("caib"); ckuUserPayList.setAddTime(new Date()); ckuUserPayList.setOperater(ckuUserId); ckuUserPayListMapper.insertSelective(ckuUserPayList); if(ckuMemberBalance!=null){ String dbMoney = ckuMemberBalance.getMoneyAmount(); BigDecimal bigDbMoney = new BigDecimal(dbMoney); BigDecimal lastMoney = bigDbMoney.add(new BigDecimal(money)); if(ckuMemberBalanMapper.updateMemberBalance(lastMoney, ckuUserId)>0){ result = true; }; } return result; } }