抽奖 获取抽奖次数

This commit is contained in:
2024-12-06 10:04:16 +08:00
parent ada714d68e
commit ece33e9299
7 changed files with 72 additions and 5 deletions

View File

@@ -25,6 +25,7 @@ import com.sqx.modules.pay.wuyou.BaseResp;
import com.sqx.modules.pay.wuyou.WuyouPay; import com.sqx.modules.pay.wuyou.WuyouPay;
import com.sqx.modules.utils.AliPayOrderUtil; import com.sqx.modules.utils.AliPayOrderUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -123,17 +124,34 @@ public class DiscSpinningController {
return Result.success().put("data", discSpinningService.page(new Page<>(0, 8), new QueryWrapper<DiscSpinning>().orderByAsc("odds"))); return Result.success().put("data", discSpinningService.page(new Page<>(0, 8), new QueryWrapper<DiscSpinning>().orderByAsc("odds")));
} }
@Login
@GetMapping("/app/discSpinning/drawCount")
@ApiOperation("获取大转盘抽奖机会")
@ApiModelProperty
public Result drawCount(@RequestAttribute("userId") Long userId) {
int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue());
int i = recordService.countDraw(userId);
if (drawCount - i > 0) {
return new Result().put("data", ordersService.selectOrdersCountStatisticsByDay(userId, drawCount - i));
} else {
return new Result().put("data", 0);
}
}
@Login @Login
@GetMapping("/app/discSpinning/draw") @GetMapping("/app/discSpinning/draw")
@ApiOperation("抽取大转盘") @ApiOperation("抽取大转盘")
public Result draw(Long orderId, @RequestAttribute("userId") Long userId) { public Result draw(@RequestAttribute("userId") Long userId) {
int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue()); int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue());
Integer i = recordService.countDraw(userId); Integer i = recordService.countDraw(userId);
if (i != null && i > drawCount) { if (i != null && i > drawCount) {
return Result.error("当日可抽奖次数已超限"); return Result.error("当日可抽奖次数已超限");
} }
Orders order = ordersService.selectOrderById(orderId); Orders orders = ordersService.selectOrdersByDay(userId);
return new Result().put("data", draws(order.getPayMoney().doubleValue(), order.getOrdersId(), userId)); if (orders == null) {
return Result.error("无可抽奖机会");
}
return new Result().put("data", draws(orders.getPayMoney().doubleValue(), orders.getOrdersId(), userId));
} }
@PostMapping("/app/discSpinning/receive") @PostMapping("/app/discSpinning/receive")
@@ -145,7 +163,7 @@ public class DiscSpinningController {
receive.setTarget("1"); receive.setTarget("1");
//提现 //提现
withdraw(receive, receive.getUserId(), receive.getNumber().doubleValue()); withdraw(receive, receive.getUserId(), receive.getNumber().doubleValue());
}else { } else {
UserMoneyDetails userMoneyDetails = new UserMoneyDetails(); UserMoneyDetails userMoneyDetails = new UserMoneyDetails();
userMoneyDetails.setClassify(5); userMoneyDetails.setClassify(5);
userMoneyDetails.setMoney(receive.getNumber()); userMoneyDetails.setMoney(receive.getNumber());

View File

@@ -4,6 +4,7 @@ package com.sqx.modules.discSpinning.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sqx.common.utils.Result; import com.sqx.common.utils.Result;
import com.sqx.modules.app.annotation.Login;
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord; import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService; import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -29,6 +30,7 @@ public class DiscSpinningRecordController {
return Result.success().put("data", discSpinningRecordService.getById(id)); return Result.success().put("data", discSpinningRecordService.getById(id));
} }
@Login
@GetMapping("/selectDiscSpinningRecord") @GetMapping("/selectDiscSpinningRecord")
@ApiOperation("查询大转盘抽奖记录") @ApiOperation("查询大转盘抽奖记录")
public Result selectDiscSpinningRecord(Integer page, Integer limit,@RequestAttribute("userId") Long userId) { public Result selectDiscSpinningRecord(Integer page, Integer limit,@RequestAttribute("userId") Long userId) {

View File

@@ -36,4 +36,7 @@ public interface OrdersDao extends BaseMapper<Orders> {
Integer selectOrdersCountStatisticsByYear(Integer flag,String time,Integer status); Integer selectOrdersCountStatisticsByYear(Integer flag,String time,Integer status);
Integer selectOrdersCountStatisticsByDay(Long userId,Integer limit);
Orders selectOrdersByDay(Long userId);
} }

View File

@@ -49,5 +49,9 @@ public interface OrdersService extends IService<Orders> {
Integer selectOrdersCountStatisticsByYear(Integer flag,String time,Integer status); Integer selectOrdersCountStatisticsByYear(Integer flag,String time,Integer status);
Integer selectOrdersCountStatisticsByDay(Long userId,Integer limit);
Orders selectOrdersByDay(Long userId);
} }

View File

@@ -549,5 +549,14 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersDao, Orders> implements
return baseMapper.selectOrdersCountStatisticsByYear(flag, time, status); return baseMapper.selectOrdersCountStatisticsByYear(flag, time, status);
} }
@Override
public Integer selectOrdersCountStatisticsByDay(Long userId,Integer limit) {
return baseMapper.selectOrdersCountStatisticsByDay(userId,limit);
}
@Override
public Orders selectOrdersByDay(Long userId) {
return baseMapper.selectOrdersByDay(userId);
}
} }

View File

@@ -4,6 +4,6 @@
<select id="countDraw" resultType="int"> <select id="countDraw" resultType="int">
SELECT count(1) FROM `disc_spinning_record` where user_id = 99 and draw_day = DATE_FORMAT(CURDATE(), '%Y-%m-%d');; SELECT count(1) FROM `disc_spinning_record` where user_id = 99 and draw_day = DATE_FORMAT(CURDATE(), '%Y-%m-%d');
</select> </select>
</mapper> </mapper>

View File

@@ -278,4 +278,35 @@
</select> </select>
<select id="selectOrdersCountStatisticsByDay" resultType="Integer">
SELECT
count(*)
FROM
orders
LEFT JOIN disc_spinning_record record ON orders.orders_id = record.order_id
WHERE
orders.user_id = #{userId}
AND orders.`status` = 1
AND orders.create_time > DATE_FORMAT( CURDATE(), '%Y-%m-%d 00:00:00' )
AND record.order_id IS NULL
ORDER BY
orders.create_time
LIMIT #{limit}
</select>
<select id="selectOrdersByDay" resultType="com.sqx.modules.orders.entity.Orders">
SELECT
orders.*
FROM
orders
LEFT JOIN disc_spinning_record record ON orders.orders_id = record.order_id
WHERE
orders.user_id = #{userId}
AND orders.`status` = 1
AND orders.create_time > DATE_FORMAT( CURDATE(), '%Y-%m-%d 00:00:00' )
AND record.order_id IS NULL
ORDER BY
orders.create_time
LIMIT 1
</select>
</mapper> </mapper>