|
|
@@ -1,14 +1,18 @@
|
|
|
package com.izouma.awesomeadmin.service.impl;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
|
|
|
-import com.izouma.awesomeadmin.model.HouseInfo;
|
|
|
+import com.izouma.awesomeadmin.dao.MemberCoinMapper;
|
|
|
+import com.izouma.awesomeadmin.dao.SystemNoticeMapper;
|
|
|
+import com.izouma.awesomeadmin.dao.UserInfoMapper;
|
|
|
+import com.izouma.awesomeadmin.dto.Result;
|
|
|
+import com.izouma.awesomeadmin.model.*;
|
|
|
import org.apache.log4j.Logger;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.izouma.awesomeadmin.constant.AppConstant;
|
|
|
import com.izouma.awesomeadmin.dto.Page;
|
|
|
-import com.izouma.awesomeadmin.model.PlayerInfo;
|
|
|
import com.izouma.awesomeadmin.service.PlayerInfoService;
|
|
|
import com.izouma.awesomeadmin.dao.PlayerInfoMapper;
|
|
|
|
|
|
@@ -23,6 +27,15 @@ public class PlayerInfoServiceImpl implements PlayerInfoService {
|
|
|
@Autowired
|
|
|
private PlayerInfoMapper playerInfoMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private UserInfoMapper userInfoMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MemberCoinMapper memberCoinMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private SystemNoticeMapper systemNoticeMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public List<PlayerInfo> getPlayerInfoList(PlayerInfo record) {
|
|
|
|
|
|
@@ -221,5 +234,78 @@ public class PlayerInfoServiceImpl implements PlayerInfoService {
|
|
|
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 领取奖励
|
|
|
+ *
|
|
|
+ * @param record
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Result receiveBonus(PlayerInfo record) {
|
|
|
+
|
|
|
+ logger.info("receiveBonus");
|
|
|
+ try {
|
|
|
+ PlayerInfo playerInfo = playerInfoMapper.queryPlayerInfo(record);
|
|
|
+ if (playerInfo != null) {
|
|
|
+ if (AppConstant.PlayerStatus.SETTLEMENT != playerInfo.getStatusFlag()) {//结算完成
|
|
|
+ return new Result(false, "玩家处于非结算状态,不能领取!");
|
|
|
+ }
|
|
|
+
|
|
|
+ double money = playerInfo.getBonus().doubleValue();
|
|
|
+ if (money > 0) {
|
|
|
+ MemberCoin memberCoin = new MemberCoin();
|
|
|
+ memberCoin.setUserId(record.getId());
|
|
|
+ memberCoin.setMoney(BigDecimal.valueOf(money));
|
|
|
+
|
|
|
+ int userId = Integer.valueOf(playerInfo.getUserId());
|
|
|
+ UserInfo userInfo = userInfoMapper.selectByPrimaryKey(record.getId());
|
|
|
+
|
|
|
+
|
|
|
+ double balance = userInfo.getMoneyCoin();
|
|
|
+ double moneyCoin = balance + money;
|
|
|
+
|
|
|
+ memberCoin.setPlayerId(playerInfo.getId());
|
|
|
+ memberCoin.setHouseId(playerInfo.getHouseId());
|
|
|
+ memberCoin.setGameId(playerInfo.getGameId());
|
|
|
+ memberCoin.setSeasonId(playerInfo.getSeasonId());
|
|
|
+
|
|
|
+ memberCoin.setCreateUser("系统");
|
|
|
+ memberCoin.setBalance(BigDecimal.valueOf(moneyCoin));
|
|
|
+ memberCoin.setTypeFlag(AppConstant.CoinType.BONUS);
|
|
|
+ memberCoin.setRemark("参加比赛获取奖励:" + money + "余额");
|
|
|
+ memberCoinMapper.insertSelective(memberCoin);
|
|
|
+
|
|
|
+ UserInfo updateUser = new UserInfo();
|
|
|
+ updateUser.setId(userId);
|
|
|
+ updateUser.setMoneyCoin(moneyCoin);
|
|
|
+ userInfoMapper.updateByPrimaryKeySelective(updateUser);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ playerInfo.setStatusFlag(AppConstant.PlayerStatus.RECEIVE);
|
|
|
+ playerInfoMapper.updateByPrimaryKeySelective(playerInfo);
|
|
|
+
|
|
|
+ //更新领取状态。
|
|
|
+ SystemNotice systemNotice = new SystemNotice();
|
|
|
+ systemNotice.setStatusFlag(1);
|
|
|
+ systemNotice.setPlayerId(playerInfo.getId());
|
|
|
+ systemNotice.setHouseId(playerInfo.getHouseId());
|
|
|
+ systemNotice.setSeasonId(playerInfo.getSeasonId());
|
|
|
+ systemNotice.setUserId(playerInfo.getUserId());
|
|
|
+ systemNotice.setTypeFlag(AppConstant.NoticeType.RECEIVE);
|
|
|
+ systemNoticeMapper.receiveBonus(systemNotice);
|
|
|
+
|
|
|
+ return new Result(true, "领取成功");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.error("receiveBonus", e);
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Result(false, "领取失败");
|
|
|
+ }
|
|
|
}
|
|
|
|