|
@@ -5,19 +5,25 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.zanxiang.common.enums.DeleteEnum;
|
|
|
+import com.zanxiang.common.enums.PayWayEnum;
|
|
|
import com.zanxiang.common.exception.ParamNullException;
|
|
|
+import com.zanxiang.common.utils.JsonUtil;
|
|
|
import com.zanxiang.common.utils.bean.BeanUtils;
|
|
|
import com.zanxiang.manage.domain.mapper.GamePayWayListMapper;
|
|
|
+import com.zanxiang.manage.domain.params.GameAnalogPayParam;
|
|
|
import com.zanxiang.manage.domain.params.GamePayWayListParam;
|
|
|
import com.zanxiang.manage.domain.params.GamePayWayParam;
|
|
|
+import com.zanxiang.manage.domain.vo.GameAnalogPayVO;
|
|
|
import com.zanxiang.manage.domain.vo.GamePayWayListVO;
|
|
|
import com.zanxiang.manage.domain.vo.GamePayWayVO;
|
|
|
import com.zanxiang.manage.service.GamePayWayService;
|
|
|
import com.zanxiang.mybatis.entity.GamePayWay;
|
|
|
import com.zanxiang.mybatis.mapper.GamePayWayMapper;
|
|
|
+import org.apache.logging.log4j.util.Strings;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
@@ -58,4 +64,53 @@ public class GamePayWayServiceImpl extends ServiceImpl<GamePayWayMapper, GamePay
|
|
|
String status = param.getStatus() == null ? null : String.valueOf(param.getStatus());
|
|
|
return gamePayWayListMapper.List(page, param.getGameName(), payWayId, status);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ * 根据游戏id获取虚拟支付配置
|
|
|
+ *
|
|
|
+ * @param id : 游戏id
|
|
|
+ * @return : 返回游戏虚拟支付配置
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public GameAnalogPayVO getGameAnalogPay(Long id) {
|
|
|
+ GamePayWay gamePayWay = super.getOne(new LambdaQueryWrapper<GamePayWay>()
|
|
|
+ .eq(GamePayWay::getPayWayId, PayWayEnum.UNIONPAY.getNum())
|
|
|
+ .eq(GamePayWay::getGameId, id));
|
|
|
+ if (gamePayWay == null || Strings.isBlank(gamePayWay.getPayConfig())) {
|
|
|
+ return GameAnalogPayVO.builder().gameId(id).build();
|
|
|
+ }
|
|
|
+ return GameAnalogPayVO.builder()
|
|
|
+ .id(gamePayWay.getId())
|
|
|
+ .gameId(id)
|
|
|
+ .payConfig(JsonUtil.toObj(gamePayWay.getPayConfig(), GameAnalogPayVO.PayConfigBean.class))
|
|
|
+ .build();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 虚拟支付更新或者新增
|
|
|
+ *
|
|
|
+ * @param payParam : 新增或者更新参数
|
|
|
+ * @return : 返回新增或者更新的结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Boolean gameAnalogPayAddOrUpdate(GameAnalogPayParam payParam) {
|
|
|
+ GamePayWay gamePayWay = super.getOne(new LambdaQueryWrapper<GamePayWay>()
|
|
|
+ .eq(GamePayWay::getPayWayId, PayWayEnum.UNIONPAY.getNum())
|
|
|
+ .eq(GamePayWay::getGameId, payParam.getGameId()));
|
|
|
+ if (gamePayWay == null) {
|
|
|
+ gamePayWay = GamePayWay.builder()
|
|
|
+ .gameId(payParam.getGameId())
|
|
|
+ .payWayId(PayWayEnum.UNIONPAY.getNum())
|
|
|
+ .payWayCode(PayWayEnum.UNIONPAY.getCode())
|
|
|
+ .payWayName(PayWayEnum.UNIONPAY.getName())
|
|
|
+ .payConfig(JsonUtil.toString(payParam.getPayConfig()))
|
|
|
+ .createTime(LocalDateTime.now())
|
|
|
+ .updateTime(LocalDateTime.now())
|
|
|
+ .build();
|
|
|
+ } else {
|
|
|
+ gamePayWay.setPayConfig(JsonUtil.toString(payParam.getPayConfig()));
|
|
|
+ gamePayWay.setUpdateTime(LocalDateTime.now());
|
|
|
+ }
|
|
|
+ return super.saveOrUpdate(gamePayWay);
|
|
|
+ }
|
|
|
}
|