From 03bc927fdb8469c1417f75c2a25a06a0d6b1ae61 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期四, 21 三月 2024 14:44:48 +0800
Subject: [PATCH] 修改bug
---
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java | 4
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/GetTGameRecord.java | 28 ++
cloud-server-other/src/main/java/com/dsh/other/feignclient/communityWorldCup/model/WorldCup.java | 148 ++++++++++++++
cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java | 6
cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java | 50 +++-
cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java | 139 ++++++++++++-
cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java | 6
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/GameRecordClient.java | 20 ++
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/TGameRecord.java | 57 +++++
cloud-server-other/src/main/java/com/dsh/other/model/GetTGameRecord.java | 28 ++
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java | 32 ++
cloud-server-other/src/main/java/com/dsh/other/feignclient/communityWorldCup/WorldCupClient.java | 22 ++
cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java | 8
13 files changed, 502 insertions(+), 46 deletions(-)
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java
index fe2f7ec..8b9940c 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/activity/model/IntegralCommodity.java
@@ -18,9 +18,15 @@
@ApiModelProperty(value = "商品名称")
private String commodityName;
+ @ApiModelProperty(value = "1=积分,2=现金+积分, 3=现金")
+ private Integer redemptionMethod;
+
@ApiModelProperty(value = "商品价格")
private BigDecimal commodityPrice;
+ @ApiModelProperty(value = "支付积分")
+ private Integer integral;
+
@ApiModelProperty(value = "商品类型")
private Integer goodsType;
@ApiModelProperty(value = "排序")
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/GameRecordClient.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/GameRecordClient.java
new file mode 100644
index 0000000..09a8704
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/GameRecordClient.java
@@ -0,0 +1,20 @@
+package com.dsh.account.feignclient.other;
+
+import com.dsh.account.feignclient.other.model.GetTGameRecord;
+import com.dsh.account.feignclient.other.model.TGameRecord;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+import java.util.List;
+
+/**
+ * @author zhibing.pu
+ * @date 2024/3/21 14:24
+ */
+@FeignClient("mb-cloud-other")
+public interface GameRecordClient {
+
+
+ @PostMapping("/base/game/getTGameRecord")
+ List<TGameRecord> getTGameRecord(GetTGameRecord getTGameRecord);
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/GetTGameRecord.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/GetTGameRecord.java
new file mode 100644
index 0000000..c147ee0
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/GetTGameRecord.java
@@ -0,0 +1,28 @@
+package com.dsh.account.feignclient.other.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @date 2024/3/21 14:27
+ */
+@Data
+public class GetTGameRecord {
+ /**
+ * 用户id
+ */
+ private Integer appUserId;
+ /**
+ * 开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date startTiem;
+ /**
+ * 结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date endTime;
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/TGameRecord.java b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/TGameRecord.java
new file mode 100644
index 0000000..da50128
--- /dev/null
+++ b/cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/TGameRecord.java
@@ -0,0 +1,57 @@
+package com.dsh.account.feignclient.other.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author administrator
+ * @since 2023-10-07
+ */
+@Data
+public class TGameRecord {
+
+ private Integer id;
+
+ private Integer userId;
+
+ private Integer gameId;
+
+ /**
+ * 1玩湃币 2微信 3支付宝
+ */
+ private Integer payType;
+
+ /**
+ * 金额
+ */
+ private BigDecimal money;
+
+ /**
+ * 0待支付 1已支付
+ */
+ private Integer status;
+
+ private String number;
+
+ private String orderNo;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date time;
+
+
+}
diff --git a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
index 1214233..a120571 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -29,13 +29,8 @@
import com.dsh.account.feignclient.course.CoursePaymentClient;
import com.dsh.account.feignclient.course.VideoOfCourseListClient;
import com.dsh.account.feignclient.course.model.*;
-import com.dsh.account.feignclient.other.ImgConfigClient;
-import com.dsh.account.feignclient.other.RechargeConfigClient;
-import com.dsh.account.feignclient.other.SiteClient;
-import com.dsh.account.feignclient.other.StoreClient;
-import com.dsh.account.feignclient.other.model.Store;
-import com.dsh.account.feignclient.other.model.StoreDetailOfCourse;
-import com.dsh.account.feignclient.other.model.TImgConfig;
+import com.dsh.account.feignclient.other.*;
+import com.dsh.account.feignclient.other.model.*;
import com.dsh.account.mapper.*;
import com.dsh.account.model.*;
import com.dsh.account.model.AppUserByNameAndPhoneDTO;
@@ -190,6 +185,9 @@
@Autowired
private UserIntegralChangesService userIntegralChangesService;
+
+ @Resource
+ private GameRecordClient gameRecordClient;
@@ -883,6 +881,21 @@
}
// 5.智慧球场
+ GetTGameRecord getTGameRecord = new GetTGameRecord();
+ getTGameRecord.setAppUserId(appUserId);
+ getTGameRecord.setStartTiem(monthStart);
+ getTGameRecord.setEndTime(monthEnd);
+ List<TGameRecord> tGameRecord = gameRecordClient.getTGameRecord(getTGameRecord);
+ for (TGameRecord gameRecord : tGameRecord) {
+ ConsumeDetail consumeDetail = new ConsumeDetail();
+ consumeDetail.setConsumeName(RechargeRecordEnum.SMART_STADIUM.getMsg());
+ consumeDetail.setConsumeTime(simpleDateFormat.format(gameRecord.getTime()));
+ consumeDetail.setConsumeAmount("-" + gameRecord.getMoney());
+ consumeDetail.setType(2);
+ consumeDetail.setDateTime(gameRecord.getTime().getTime());
+ details.add(consumeDetail);
+ }
+
// 6.年度会员
List<VipPayment> vipPayments = vipPaymentMapper.selectList(new QueryWrapper<VipPayment>()
.eq("payStatus", 2)
@@ -956,6 +969,7 @@
details.add(consumeDetail);
}
}
+
if (details.size() > 0) {
Collections.sort(details, new Comparator<ConsumeDetail>() {
@@ -1503,7 +1517,9 @@
pointsMerchandise.setCode(code);
pointsMerchandise.setInsertTime(new Date());
pointsMerchandise.setPayType(exchangeType.getExchangeType());
- pointsMerchandise.setIntegral(merchandise.getIntegral() * goodsNums);
+ if(null != merchandise.getIntegral()){
+ pointsMerchandise.setIntegral(merchandise.getIntegral() * goodsNums);
+ }
if(exchangeType.getExchangeType() == 2){
pointsMerchandise.setCash(merchandise.getCash());
pointsMerchandise.setCashPayType(exchangeType.getPayType());
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
index b3ea633..6c47051 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/PointMercharsController.java
@@ -326,7 +326,8 @@
QueryWrapper<PointsMerchandise> wrapper = new QueryWrapper<PointsMerchandise>()
.eq("state", 1)
.eq("shelves", 1)
- .gt("endTime", new Date());
+ .gt("endTime", new Date())
+ .eq("status", 1);
if(cIds.size() > 0){
wrapper.in("id", cIds);
}
@@ -337,7 +338,17 @@
integralCommodity.setCommodityId(merchandise.getId());
integralCommodity.setCommodityImg(merchandise.getCover());
integralCommodity.setCommodityName(merchandise.getName());
- integralCommodity.setCommodityPrice(merchandise.getPrice());
+ if(merchandise.getRedemptionMethod() == 1){
+ integralCommodity.setIntegral(merchandise.getIntegral());
+ }
+ if(merchandise.getRedemptionMethod() == 2){
+ integralCommodity.setCommodityPrice(merchandise.getPrice());
+ integralCommodity.setIntegral(merchandise.getIntegral());
+ }
+ if(merchandise.getRedemptionMethod() == 3){
+ integralCommodity.setCommodityPrice(merchandise.getPrice());
+ }
+ integralCommodity.setRedemptionMethod(merchandise.getRedemptionMethod());
integralCommodity.setGoodsType(merchandise.getType());
integralCommodity.setSort(merchandise.getSort());
commodity.add(integralCommodity);
@@ -350,27 +361,30 @@
storeCoupons.add(couponStore.getCouponId());
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- QueryWrapper<Coupon> queryWrapper = new QueryWrapper<Coupon>().eq("state", 1).gt("endTime", sdf.format(new Date()));
+ QueryWrapper<Coupon> queryWrapper = new QueryWrapper<Coupon>()
+ .eq("state", 1).gt("endTime", sdf.format(new Date()));
if(storeCoupons.size() > 0){
queryWrapper.in("id", storeCoupons);
}
List<Coupon> list = couponService.list(queryWrapper.last(" ORDER BY insertTime desc"));
if (!list.isEmpty()){
for (Coupon coupon : list) {
- IntegralCommodity integralCommodity = new IntegralCommodity();
- integralCommodity.setCommodityId(coupon.getId());
- integralCommodity.setCommodityImg(coupon.getCover());
- integralCommodity.setCommodityName(coupon.getName());
- integralCommodity.setCommodityPrice(coupon.getIntegral());
- integralCommodity.setGoodsType(coupon.getType());
-// integralCommodity.setSort(coupon.getSort());
- commodity.add(integralCommodity);
+ IntegralCommodity integralCommodity = new IntegralCommodity();
+ integralCommodity.setCommodityId(coupon.getId());
+ integralCommodity.setCommodityImg(coupon.getCover());
+ integralCommodity.setCommodityName(coupon.getName());
+ if(coupon.getRedemptionMethod() == 1){
+ integralCommodity.setIntegral(coupon.getIntegral().intValue());
+ }
+ if(coupon.getRedemptionMethod() == 2){
+ integralCommodity.setCommodityPrice(coupon.getCash());
+ integralCommodity.setIntegral(coupon.getIntegral().intValue());
+ }
+ integralCommodity.setRedemptionMethod(coupon.getRedemptionMethod());
+ integralCommodity.setGoodsType(4);
+ commodity.add(integralCommodity);
}
-
}
-
-
- System.out.println(commodity);
return commodity;
}
@@ -396,7 +410,11 @@
list = pmdsService.list(new QueryWrapper<PointsMerchandise>()
.eq("state", 1)
- .eq("shelves", 1).le("startTime", new Date()).ge("endTime", new Date()));
+ .eq("shelves", 1)
+ .le("startTime", new Date())
+ .ge("endTime", new Date())
+ .eq("status", 1)
+ );
if (list.size() > 0) {
Iterator<PointsMerchandise> iterator = list.iterator();
while (iterator.hasNext()) {
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java
index 183ed83..2a11feb 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/feignclient/model/IntegralCommodity.java
@@ -19,9 +19,15 @@
@ApiModelProperty(value = "商品名称")
private String commodityName;
+ @ApiModelProperty(value = "1=积分,2=现金+积分, 3=现金")
+ private Integer redemptionMethod;
+
@ApiModelProperty(value = "商品价格")
private BigDecimal commodityPrice;
+ @ApiModelProperty(value = "支付积分")
+ private Integer integral;
+
@ApiModelProperty(value = "商品类型")
private Integer goodsType;
diff --git a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
index e753e6e..d13cbad 100644
--- a/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
+++ b/cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -537,7 +537,7 @@
worldCupPayment.setUnitPrice(worldCupPayment.getAmount().divide(new BigDecimal(num)));
worldCupPaymentService.save(worldCupPayment);
return payMoneyUtil.weixinpay("社区世界杯报名", "", worldCupPayment.getCode(),
- worldCup.getCash().toString(), "/base/worldCup/wxPayWorldCupCallback", "APP", "");
+ worldCupPayment.getAmount().toString(), "/base/worldCup/wxPayWorldCupCallback", "APP", "");
}
//支付宝
if(payType == 2){
@@ -545,7 +545,7 @@
worldCupPayment.setUnitPrice(worldCupPayment.getAmount().divide(new BigDecimal(num)));
worldCupPaymentService.save(worldCupPayment);
return payMoneyUtil.alipay("2088330203191220", "社区世界杯报名", "世界杯报名", "", worldCupPayment.getCode(),
- worldCup.getCash().toString(), "/base/worldCup/aliPayWorldCupCallback");
+ worldCupPayment.getAmount().toString(), "/base/worldCup/aliPayWorldCupCallback");
}
//玩湃币
if(payType == 3){
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
index c2abaf0..3d1174c 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/GameController.java
@@ -9,6 +9,7 @@
import com.dsh.other.feignclient.CourseRecordClient;
import com.dsh.other.feignclient.account.AppUserClient;
import com.dsh.other.feignclient.account.model.AppUser;
+import com.dsh.other.model.GetTGameRecord;
import com.dsh.other.model.QueryMySiteVo;
import com.dsh.other.model.User;
import com.dsh.other.service.*;
@@ -21,13 +22,17 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.PrintWriter;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@RestController
-@RequestMapping("/api/game")
+@RequestMapping("")
public class GameController {
@Autowired
@@ -60,7 +65,7 @@
@ResponseBody
- @PostMapping("/getIntro")
+ @PostMapping("/api/game/getIntro")
@ApiOperation(value = "获取步骤说明", tags = {"用户—游戏"})
@ApiImplicitParams({
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
@@ -80,7 +85,7 @@
@ResponseBody
- @PostMapping("/queryGameList")
+ @PostMapping("/api/game/queryGameList")
@ApiOperation(value = "获取当前场地的游戏列表配置", tags = {"用户—游戏"})
@ApiImplicitParams({
@ApiImplicitParam(value = "siteId", name = "siteId", dataType = "int", required = true),
@@ -118,7 +123,7 @@
@ResponseBody
- @PostMapping("/gameStartupCheck")
+ @PostMapping("/api/game/gameStartupCheck")
@ApiOperation(value = "扫码启动游戏前的校验(0=不通过,1=通过)", tags = {"用户—游戏"})
@ApiImplicitParams({
@ApiImplicitParam(value = "三方游戏id", name = "gameId", dataType = "int", required = true),
@@ -162,7 +167,7 @@
@ResponseBody
- @PostMapping("/payGame")
+ @PostMapping("/api/game/payGame")
@ApiOperation(value = "支付游戏", tags = {"用户—游戏"})
@ApiImplicitParams({
@ApiImplicitParam(value = "三方游戏id", name = "gameId", dataType = "int", required = true),
@@ -197,7 +202,11 @@
gameRecordService.save(tGameRecord);
if (type == 1) {
- ResultUtil weixinpay = payMoneyUtil.weixinpay("游戏支付", "", code, config.getCash().toString(), "/base/course/weChatPaymentCourseCallback", "APP", "");
+ tGameRecord.setMoney(config.getCash());
+ gameRecordService.updateById(tGameRecord);
+ String params = uid + "_" + gameId + "_" + spaceId + "_" + sutuId+"_"+code+"_"+configId;
+ ResultUtil weixinpay = payMoneyUtil.weixinpay("游戏支付", params, code, config.getCash().toString(),
+ "/base/game/wechatPaymentGameCallback", "APP", "");
if (weixinpay.getCode() == 200) {
new Thread(new Runnable() {
@Override
@@ -234,11 +243,9 @@
break;
}
if ("SUCCESS".equals(s)) {
- for (TGameRecord coursePackagePayment : list) {
- coursePackagePayment.setStatus(1);
- coursePackagePayment.setMoney(config.getCash());
- coursePackagePayment.setOrderNo(transaction_id);
-
+ for (TGameRecord gameRecord : list) {
+ gameRecord.setStatus(1);
+ gameRecord.setOrderNo(transaction_id);
}
gameRecordService.updateBatchById(list);
Integer integer = startGame(uid, gameId, spaceId, sutuId);
@@ -257,11 +264,12 @@
}
return weixinpay;
} else if (type == 2) {
+ tGameRecord.setMoney(config.getCash());
+ gameRecordService.updateById(tGameRecord);
String smid1="";
String params = uid + "_" + gameId + "_" + spaceId + "_" + sutuId+"_"+code+"_"+configId;
// 判断这个课包属于哪个门店 属于哪个运营商 根据运营商 id 获取对应的商户号
- TGame game = gameService.getById(gameId);
-
+ TGame game = gameService.getOne(new QueryWrapper<TGame>().eq("blue", sutuId).or().eq("red", sutuId));
Integer operationId = game.getOperationId();
if (operationId==0){
// 是平台的
@@ -271,7 +279,8 @@
smid1 = smidByOperatorId;
}
- ResultUtil alipay = payMoneyUtil.alipay(smid1,"游戏支付", "游戏支付", params, code, config.getCash().toString(), "/base/site/gameCallback");
+ ResultUtil alipay = payMoneyUtil.alipay(smid1,"游戏支付", "游戏支付", params, code, config.getCash().toString(),
+ "/base/game/aliPaymentGameCallback");
if (alipay.getCode() == 200) {
new Thread(new Runnable() {
@Override
@@ -302,10 +311,9 @@
break;
}
if ("TRADE_SUCCESS".equals(s)) {
- for (TGameRecord coursePackagePayment : list) {
- coursePackagePayment.setStatus(1);
- coursePackagePayment.setMoney(config.getCash());
- coursePackagePayment.setOrderNo(tradeNo);
+ for (TGameRecord gameRecord : list) {
+ gameRecord.setStatus(1);
+ gameRecord.setOrderNo(tradeNo);
CourseCounsum courseCounsum = new CourseCounsum();
courseCounsum.setChangeType(3);
@@ -409,9 +417,102 @@
* @return
*/
@ResponseBody
- @PostMapping("/getTGameBySutuId")
+ @PostMapping("/api/game/getTGameBySutuId")
public TGame getTGameBySutuId(@RequestBody String sutuId){
return gameService.getOne(new QueryWrapper<TGame>().eq("blue", sutuId).or()
.eq("red", sutuId).eq("state", 0));
}
+
+
+
+ @ResponseBody
+ @PostMapping("/base/game/wechatPaymentGameCallback")
+ public void wechatPaymentGameCallback(HttpServletRequest request, HttpServletResponse response){
+ Map<String, String> map = payMoneyUtil.weixinpayCallback(request);
+ if(null != map){
+ String out_trade_no = map.get("out_trade_no");
+ String transaction_id = map.get("transaction_id");
+ String result = map.get("result");
+ //String params = uid + "_" + gameId + "_" + spaceId + "_" + sutuId+"_"+code+"_"+configId;
+ String attach = map.get("attach");
+
+ List<TGameRecord> list = gameRecordService.list(new QueryWrapper<TGameRecord>().eq("number", out_trade_no).eq("payType", 1));
+ for (TGameRecord gameRecord : list) {
+ gameRecord.setStatus(1);
+ gameRecord.setOrderNo(transaction_id);
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setChangeType(3);
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("智慧球场;" + gameRecord.getMoney());
+ courseCounsum.setAppUserId(gameRecord.getUserId());
+ courseRecordClient.save(courseCounsum);
+
+ }
+ gameRecordService.updateBatchById(list);
+ String[] s = attach.split("_");
+ Integer integer = startGame(Integer.valueOf(s[0]), Integer.valueOf(s[1]), Integer.valueOf(s[2]), Integer.valueOf(s[3]));
+
+ PrintWriter out = null;
+ try {
+ out = response.getWriter();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ out.print(result);
+ out.flush();
+ out.close();
+ }
+ }
+
+ @ResponseBody
+ @PostMapping("/base/game/aliPaymentGameCallback")
+ public void aliPaymentGameCallback(HttpServletRequest request, HttpServletResponse response){
+ Map<String, String> map = payMoneyUtil.alipayCallback(request);
+ if(null != map){
+ String out_trade_no = map.get("out_trade_no");
+ String transaction_id = map.get("trade_no");
+ //String params = uid + "_" + gameId + "_" + spaceId + "_" + sutuId+"_"+code+"_"+configId;
+ String attach = map.get("passback_params");
+
+ List<TGameRecord> list = gameRecordService.list(new QueryWrapper<TGameRecord>().eq("number", out_trade_no).eq("payType", 2));
+ for (TGameRecord gameRecord : list) {
+ gameRecord.setStatus(1);
+ gameRecord.setOrderNo(transaction_id);
+
+
+ CourseCounsum courseCounsum = new CourseCounsum();
+ courseCounsum.setChangeType(3);
+ courseCounsum.setInsertTime(new Date());
+ courseCounsum.setReason("智慧球场;" + gameRecord.getMoney());
+ courseCounsum.setAppUserId(gameRecord.getUserId());
+ courseRecordClient.save(courseCounsum);
+
+ }
+ gameRecordService.updateBatchById(list);
+ String[] s = attach.split("_");
+ Integer integer = startGame(Integer.valueOf(s[0]), Integer.valueOf(s[1]), Integer.valueOf(s[2]), Integer.valueOf(s[3]));
+
+ PrintWriter out = null;
+ try {
+ out = response.getWriter();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ out.print("success");
+ out.flush();
+ out.close();
+ }
+ }
+
+
+
+ @ResponseBody
+ @PostMapping("/base/game/getTGameRecord")
+ public List<TGameRecord> getTGameRecord(@RequestBody GetTGameRecord getTGameRecord){
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ return gameRecordService.list(new QueryWrapper<TGameRecord>().eq("userId", getTGameRecord.getAppUserId()).eq("status", 1).in("payType", Arrays.asList(1, 2))
+ .last(" and DATE_FORMAT(time, '%Y-%m-%d %H:%i:%s') between '" + sdf.format(getTGameRecord.getStartTiem()) +"' and '" + sdf.format(getTGameRecord.getEndTime()) + "'"));
+ }
}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
index c809190..2b5e035 100644
--- a/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
+++ b/cloud-server-other/src/main/java/com/dsh/other/controller/StoreConfigController.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.dsh.other.entity.HomeModule;
import com.dsh.other.entity.StoreConfig;
+import com.dsh.other.feignclient.communityWorldCup.WorldCupClient;
import com.dsh.other.feignclient.communityWorldCup.WorldCupStoreClient;
+import com.dsh.other.feignclient.communityWorldCup.model.WorldCup;
import com.dsh.other.feignclient.communityWorldCup.model.WorldCupStore;
import com.dsh.other.model.StoreConfigVo;
import com.dsh.other.service.IHomeModuleService;
@@ -41,6 +43,9 @@
@Resource
private WorldCupStoreClient worldCupStoreClient;
+
+ @Resource
+ private WorldCupClient worldCupClient;
@@ -118,10 +123,11 @@
List<WorldCupStore> worldCupStoreList = worldCupStoreClient.getWorldCupStoreList(storeId);
for (WorldCupStore worldCupStore : worldCupStoreList) {
+ WorldCup worldCup = worldCupClient.getWorldCup(worldCupStore.getWorldCupId());
StoreConfigVo storeConfigVo = new StoreConfigVo();
storeConfigVo.setIsTop(0);
storeConfigVo.setId(worldCupStore.getWorldCupId());
- storeConfigVo.setBackgroundImage(ToolUtil.isNotEmpty(worldCupStore.getBackgroundImage()) ? worldCupStore.getBackgroundImage() : "https://we-park-life.oss-cn-beijing.aliyuncs.com/img/760934115ff6468591ed51f0d760a989.jpg");
+ storeConfigVo.setBackgroundImage(ToolUtil.isNotEmpty(worldCupStore.getBackgroundImage()) ? worldCupStore.getBackgroundImage() : worldCup.getHomeBackdropImg());
storeConfigVo.setType(9);
storeConfigVo.setIsOpen(worldCupStore.getIsOpen());
storeConfigVo.setSort(worldCupStore.getSort());
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/communityWorldCup/WorldCupClient.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/communityWorldCup/WorldCupClient.java
new file mode 100644
index 0000000..eb3b888
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/communityWorldCup/WorldCupClient.java
@@ -0,0 +1,22 @@
+package com.dsh.other.feignclient.communityWorldCup;
+
+import com.dsh.other.feignclient.communityWorldCup.model.WorldCup;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+
+/**
+ * @author zhibing.pu
+ * @date 2024/3/21 11:28
+ */
+@FeignClient("mb-cloud-communityWorldCup")
+public interface WorldCupClient {
+
+
+ /**
+ * 根据id获取详情
+ * @param id
+ * @return
+ */
+ @PostMapping("/worldCup/getWorldCupById")
+ WorldCup getWorldCup(Integer id);
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/feignclient/communityWorldCup/model/WorldCup.java b/cloud-server-other/src/main/java/com/dsh/other/feignclient/communityWorldCup/model/WorldCup.java
new file mode 100644
index 0000000..d466035
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/feignclient/communityWorldCup/model/WorldCup.java
@@ -0,0 +1,148 @@
+package com.dsh.other.feignclient.communityWorldCup.model;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 社区世界杯
+ * @author zhibing.pu
+ * @Date 2024/2/18 16:58
+ */
+@Data
+public class WorldCup {
+ /**
+ * 主键
+ */
+ private Integer id;
+ /**
+ * 名称
+ */
+ private String name;
+ /**
+ * 开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date startTime;
+ /**
+ * 结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date endTime;
+ /**
+ * 报名结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date registrationClosingTime;
+ /**
+ * 开始年龄
+ */
+ private Integer startAge;
+ /**
+ * 结束年龄
+ */
+ private Integer endAge;
+ /**
+ * 报名性别(0=全部,1=男,2=女)
+ */
+ private Integer gender;
+ /**
+ * 支付方式(1=免费,2=现金支付,3=玩湃币支付,4=课时支付)
+ */
+ private String payType;
+ /**
+ * 现金
+ */
+ private BigDecimal cash;
+ /**
+ * 玩湃币
+ */
+ private Integer paiCoin;
+ /**
+ * 课时
+ */
+ private Integer classHour;
+ /**
+ * 最多报名人数
+ */
+ private Integer maxPeople;
+ /**
+ * 基础报名人数
+ */
+ private Integer basePeople;
+ /**
+ * 参赛获得积分
+ */
+ private Integer participationIntegral;
+ /**
+ * 胜利获得积分
+ */
+ private Integer winIntegral;
+ /**
+ * 省
+ */
+ private String province;
+ /**
+ * 省
+ */
+ private String provinceCode;
+ /**
+ * 市
+ */
+ private String city;
+ /**
+ * 市
+ */
+ private String cityCode;
+ /**
+ * 参赛地址
+ */
+ private String address;
+ /**
+ * 经度
+ */
+ private String lon;
+ /**
+ * 纬度
+ */
+ private String lat;
+ /**
+ * 封面图
+ */
+ private String coverImg;
+ /**
+ * 首页默认背景图
+ */
+ private String homeBackdropImg;
+ /**
+ * 比赛图片
+ */
+ private String infoImg;
+ /**
+ * 比赛简介
+ */
+ private String intro;
+ /**
+ * 比赛详情
+ */
+ private String content;
+ /**
+ * 比赛状态(1=未开始,2=已开始,3=已结束,4=已取消)
+ */
+ private Integer status;
+ /**
+ * 添加时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
+ /**
+ * 已比赛次数
+ */
+ private Integer matchNumber;
+}
diff --git a/cloud-server-other/src/main/java/com/dsh/other/model/GetTGameRecord.java b/cloud-server-other/src/main/java/com/dsh/other/model/GetTGameRecord.java
new file mode 100644
index 0000000..41a40a0
--- /dev/null
+++ b/cloud-server-other/src/main/java/com/dsh/other/model/GetTGameRecord.java
@@ -0,0 +1,28 @@
+package com.dsh.other.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author zhibing.pu
+ * @date 2024/3/21 14:27
+ */
+@Data
+public class GetTGameRecord {
+ /**
+ * 用户id
+ */
+ private Integer appUserId;
+ /**
+ * 开始时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date startTiem;
+ /**
+ * 结束时间
+ */
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date endTime;
+}
--
Gitblit v1.7.1