Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
149eec4363
|
|
@ -32,8 +32,8 @@
|
||||||
- 执行db/mysql.sql文件,初始化数据
|
- 执行db/mysql.sql文件,初始化数据
|
||||||
- 修改application-dev.yml,更新MySQL账号和密码
|
- 修改application-dev.yml,更新MySQL账号和密码
|
||||||
- Eclipse、IDEA运行sqxApplication.java,则可启动项目
|
- Eclipse、IDEA运行sqxApplication.java,则可启动项目
|
||||||
- Swagger文档路径:http://localhost:8080/sqx_fast/swagger/index.html
|
- Swagger文档路径:http://localhost:8100/sqx_fast/swagger/index.html
|
||||||
- Swagger注解路径:http://localhost:8080/sqx_fast/swagger-ui.html
|
- Swagger注解路径:http://localhost:8100/sqx_fast/swagger-ui.html
|
||||||
|
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
|
||||||
5
pom.xml
5
pom.xml
|
|
@ -178,6 +178,11 @@
|
||||||
<artifactId>aliyun-sdk-oss</artifactId>
|
<artifactId>aliyun-sdk-oss</artifactId>
|
||||||
<version>3.4.0</version>
|
<version>3.4.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.aliyun</groupId>
|
||||||
|
<artifactId>sts20150401</artifactId>
|
||||||
|
<version>1.1.4</version>
|
||||||
|
</dependency>
|
||||||
<!-- 集成支付宝sdk -->
|
<!-- 集成支付宝sdk -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alipay.sdk</groupId>
|
<groupId>com.alipay.sdk</groupId>
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,11 @@ public class DateUtils {
|
||||||
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
|
/** 时间格式(yyyy-MM-dd HH:mm:ss) */
|
||||||
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
|
||||||
|
|
||||||
|
|
||||||
|
public static String formatYMD(Date date) {
|
||||||
|
return format(date, DATE_PATTERN);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日期格式化 日期格式为:yyyy-MM-dd
|
* 日期格式化 日期格式为:yyyy-MM-dd
|
||||||
* @param date 日期
|
* @param date 日期
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,163 @@
|
||||||
|
package com.sqx.modules.discSpinning.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.sqx.common.utils.DateUtils;
|
||||||
|
import com.sqx.common.utils.Result;
|
||||||
|
import com.sqx.modules.common.service.CommonInfoService;
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinning;
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
|
||||||
|
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
|
||||||
|
import com.sqx.modules.discSpinning.service.DiscSpinningService;
|
||||||
|
import com.sqx.modules.orders.entity.Orders;
|
||||||
|
import com.sqx.modules.orders.service.OrdersService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.math.RoundingMode;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@Api(value = "大转盘", tags = {"大转盘"})
|
||||||
|
@RequestMapping(value = "/discSpinning")
|
||||||
|
public class DiscSpinningController {
|
||||||
|
|
||||||
|
private final DiscSpinningService discSpinningService;
|
||||||
|
private final CommonInfoService commonRepository;
|
||||||
|
private final OrdersService ordersService;
|
||||||
|
private final DiscSpinningRecordService recordService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public DiscSpinningController(CommonInfoService commonRepository, DiscSpinningService discSpinningService,OrdersService ordersService,DiscSpinningRecordService recordService) {
|
||||||
|
this.commonRepository = commonRepository;
|
||||||
|
this.discSpinningService = discSpinningService;
|
||||||
|
this.ordersService = ordersService;
|
||||||
|
this.recordService = recordService;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/insertDiscSpinning")
|
||||||
|
@ApiOperation("添加大转盘")
|
||||||
|
public Result insertDiscSpinning(@RequestBody DiscSpinning discSpinning) {
|
||||||
|
discSpinning.setCreateTime(DateUtils.format(new Date()));
|
||||||
|
discSpinningService.save(discSpinning);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
@ApiOperation("通过Id查询详情")
|
||||||
|
public Result selectOne(@PathVariable Integer id) {
|
||||||
|
return Result.success().put("data", discSpinningService.getById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/updateDiscSpinning")
|
||||||
|
@ApiOperation("修改大转盘")
|
||||||
|
public Result updateDiscSpinning(@RequestBody DiscSpinning discSpinning) {
|
||||||
|
List<DiscSpinning> prizes = discSpinningService.list(new QueryWrapper<DiscSpinning>().orderByAsc("type","id"));
|
||||||
|
BigDecimal number = BigDecimal.ZERO;
|
||||||
|
List<DiscSpinning> prizesResult = new ArrayList<>();
|
||||||
|
for (DiscSpinning prize : prizes) {
|
||||||
|
if (discSpinning.getId().equals(prize.getId())) {
|
||||||
|
number = prize.getNumber().add(discSpinning.getOdds().subtract(prize.getOdds()));
|
||||||
|
discSpinning.setNumber(number);
|
||||||
|
prize.setOdds(discSpinning.getOdds());
|
||||||
|
prizesResult.add(discSpinning);
|
||||||
|
}else if (number.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
number = number.add(prize.getOdds());
|
||||||
|
prize.setNumber(number);
|
||||||
|
prizesResult.add(prize);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
BigDecimal totalOdds = prizes.stream()
|
||||||
|
.map(DiscSpinning::getOdds)
|
||||||
|
.filter(Objects::nonNull)
|
||||||
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||||
|
if (totalOdds.compareTo(new BigDecimal(100)) > 0) {
|
||||||
|
return Result.error("中奖概率总和 不可超过100");
|
||||||
|
}
|
||||||
|
discSpinningService.updateBatchById(prizesResult);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/deleteDiscSpinning")
|
||||||
|
@ApiOperation("删除大转盘")
|
||||||
|
public Result deleteDiscSpinning(Long id) {
|
||||||
|
discSpinningService.removeById(id);
|
||||||
|
return Result.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/selectDiscSpinning")
|
||||||
|
@ApiOperation("查询大转盘")
|
||||||
|
public Result selectDiscSpinning() {
|
||||||
|
return Result.success().put("data", discSpinningService.page(new Page<>(0, 8), new QueryWrapper<DiscSpinning>().orderByAsc("odds")));
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/draw")
|
||||||
|
@ApiOperation("抽取大转盘")
|
||||||
|
public Result draw(Long orderId, @RequestAttribute("userId") Long userId) {
|
||||||
|
int drawCount = Integer.parseInt(commonRepository.findOne(901).getValue());
|
||||||
|
Integer i = recordService.countDraw(userId);
|
||||||
|
if (i != null && i > drawCount) {
|
||||||
|
return Result.error("当日可抽奖次数已超限");
|
||||||
|
}
|
||||||
|
Orders order = ordersService.selectOrderById(orderId);
|
||||||
|
return new Result().put("data", draws(order.getPayMoney().doubleValue(),order.getOrdersId(), userId));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public DiscSpinning draws(double orderAmount,Long orderId,Long userId) {
|
||||||
|
DiscSpinning result = new DiscSpinning("谢谢惠顾",1,null);
|
||||||
|
List<DiscSpinning> prizes = discSpinningService.list();
|
||||||
|
Random random = new Random();
|
||||||
|
double randomDouble;
|
||||||
|
do {
|
||||||
|
randomDouble = random.nextDouble();
|
||||||
|
} while (randomDouble == 0);
|
||||||
|
BigDecimal randomNum = new BigDecimal(randomDouble).multiply(new BigDecimal(10000)).divide(new BigDecimal(100));
|
||||||
|
for (DiscSpinning prize : prizes) {
|
||||||
|
if (randomNum.compareTo(prize.getNumber()) < 0) {
|
||||||
|
if (prize.getType() == 2) {
|
||||||
|
int maxAmount = Integer.parseInt(commonRepository.findOne(900).getValue());
|
||||||
|
double resultAmount = 0;
|
||||||
|
//从0 到 80-amount 直接 取 多个区间 数值越小 概率越大
|
||||||
|
if (prize.getType() == 2) {
|
||||||
|
double baseRandom = random.nextDouble();
|
||||||
|
if (baseRandom < 0.8) {
|
||||||
|
// 0.8到0.82范围内概率最大(这里示例以当前订单金额为基础,模拟类似0.8的情况)
|
||||||
|
resultAmount = orderAmount + (random.nextDouble() * 0.02);
|
||||||
|
} else if (baseRandom < 0.9) {
|
||||||
|
// 0.82 - 0.85范围概率小一些
|
||||||
|
resultAmount = orderAmount + (0.02 + (random.nextDouble() * 0.03));
|
||||||
|
} else if (baseRandom < 0.95) {
|
||||||
|
// 0.85 - 0.9概率更小
|
||||||
|
resultAmount = orderAmount + (0.05 + (random.nextDouble() * 0.05));
|
||||||
|
} else if (baseRandom < 0.99) {
|
||||||
|
// 0.9 - 1概率更小
|
||||||
|
resultAmount = orderAmount + (0.1 + (random.nextDouble() * 0.1));
|
||||||
|
} else {
|
||||||
|
// 1 - 20概率依次递减
|
||||||
|
// 控制最大金额为80
|
||||||
|
resultAmount = 1 + (random.nextDouble() * (maxAmount - 1));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (resultAmount > maxAmount) {
|
||||||
|
resultAmount = maxAmount;
|
||||||
|
}
|
||||||
|
result = new DiscSpinning(prize.getName(),2,new BigDecimal(resultAmount).setScale(2, RoundingMode.HALF_UP));
|
||||||
|
}else {
|
||||||
|
result = prize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
recordService.save(new DiscSpinningRecord(result.getName(),orderId,userId,result.getType(),
|
||||||
|
result.getNumber(),DateUtils.formatYMD(new Date()),DateUtils.format(new Date())));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
package com.sqx.modules.discSpinning.controller;
|
||||||
|
|
||||||
|
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
|
||||||
|
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.sqx.common.utils.DateUtils;
|
||||||
|
import com.sqx.common.utils.Result;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
@Api(value = "大转盘抽奖记录", tags = {"大转盘抽奖记录"})
|
||||||
|
@RequestMapping(value = "/discSpinningRecord")
|
||||||
|
public class DiscSpinningRecordController {
|
||||||
|
/**
|
||||||
|
* 服务对象
|
||||||
|
*/
|
||||||
|
@Autowired
|
||||||
|
private DiscSpinningRecordService discSpinningRecordService;
|
||||||
|
|
||||||
|
@GetMapping("/{id}")
|
||||||
|
@ApiOperation("通过Id查询详情")
|
||||||
|
public Result selectOne(@PathVariable Integer id) {
|
||||||
|
return Result.success().put("data", discSpinningRecordService.getById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/selectDiscSpinningRecord")
|
||||||
|
@ApiOperation("查询大转盘抽奖记录")
|
||||||
|
public Result selectDiscSpinningRecord(Integer page, Integer limit) {
|
||||||
|
return Result.success().put("data", discSpinningRecordService.page(new Page<>(page, limit), new QueryWrapper<DiscSpinningRecord>().orderByAsc("create_time")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.sqx.modules.discSpinning.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinning;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface DiscSpinningDao extends BaseMapper<DiscSpinning> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
package com.sqx.modules.discSpinning.dao;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@Mapper
|
||||||
|
public interface DiscSpinningRecordDao extends BaseMapper<DiscSpinningRecord> {
|
||||||
|
|
||||||
|
int countDraw(@Param("userId")Long userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,44 @@
|
||||||
|
package com.sqx.modules.discSpinning.entity;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 大转盘(DiscSpinning)表实体类
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2024-12-03 15:18:43
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("disc_spinning")
|
||||||
|
public class DiscSpinning extends Model<DiscSpinning> {
|
||||||
|
//主键
|
||||||
|
private Long id;
|
||||||
|
//图标
|
||||||
|
private String url;
|
||||||
|
//描述
|
||||||
|
private String name;
|
||||||
|
//类型 1谢谢惠顾 2 红包 9 其它
|
||||||
|
private Integer type;
|
||||||
|
//数值
|
||||||
|
private BigDecimal number;
|
||||||
|
//红包金额比例
|
||||||
|
private BigDecimal ratio;
|
||||||
|
//中奖概率
|
||||||
|
private BigDecimal odds;
|
||||||
|
//创建时间
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
public DiscSpinning() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public DiscSpinning(String name, Integer type, BigDecimal number) {
|
||||||
|
this.name = name;
|
||||||
|
this.type = type;
|
||||||
|
this.number = number;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,53 @@
|
||||||
|
package com.sqx.modules.discSpinning.entity;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 大转盘抽奖记录(DiscSpinningRecord)表实体类
|
||||||
|
*
|
||||||
|
* @author ww
|
||||||
|
* @since 2024-12-04 11:37:36
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("disc_spinning_record")
|
||||||
|
public class DiscSpinningRecord extends Model<DiscSpinningRecord> {
|
||||||
|
//主键
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private Long orderId;
|
||||||
|
|
||||||
|
private Long userId;
|
||||||
|
//描述
|
||||||
|
private String name;
|
||||||
|
//类型 1谢谢惠顾 2 红包 9 其它
|
||||||
|
private Integer type;
|
||||||
|
//金额
|
||||||
|
private BigDecimal number;
|
||||||
|
//流向 1 提现 2 存入余额
|
||||||
|
private String target;
|
||||||
|
|
||||||
|
private Long targetId;
|
||||||
|
//抽奖日期
|
||||||
|
private String drawDay;
|
||||||
|
//创建时间
|
||||||
|
private String createTime;
|
||||||
|
|
||||||
|
public DiscSpinningRecord(String name,Long orderId, Long userId, Integer type, BigDecimal number, String drawDay, String createTime) {
|
||||||
|
this.name = name;
|
||||||
|
this.userId = userId;
|
||||||
|
this.orderId = orderId;
|
||||||
|
this.type = type;
|
||||||
|
this.number = number;
|
||||||
|
this.drawDay = drawDay;
|
||||||
|
this.createTime = createTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
package com.sqx.modules.discSpinning.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface DiscSpinningRecordService extends IService<DiscSpinningRecord> {
|
||||||
|
|
||||||
|
Integer countDraw(Long userId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
package com.sqx.modules.discSpinning.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinning;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public interface DiscSpinningService extends IService<DiscSpinning> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package com.sqx.modules.discSpinning.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.sqx.modules.discSpinning.dao.DiscSpinningRecordDao;
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinningRecord;
|
||||||
|
import com.sqx.modules.discSpinning.service.DiscSpinningRecordService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class DiscSpinningRecordServiceImpl extends ServiceImpl<DiscSpinningRecordDao, DiscSpinningRecord> implements DiscSpinningRecordService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DiscSpinningRecordDao discSpinningRecordDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Integer countDraw(Long userId) {
|
||||||
|
return discSpinningRecordDao.countDraw(userId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package com.sqx.modules.discSpinning.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import com.sqx.modules.discSpinning.dao.DiscSpinningDao;
|
||||||
|
import com.sqx.modules.discSpinning.entity.DiscSpinning;
|
||||||
|
import com.sqx.modules.discSpinning.service.DiscSpinningService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class DiscSpinningServiceImpl extends ServiceImpl<DiscSpinningDao, DiscSpinning> implements DiscSpinningService {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private DiscSpinningDao discSpinningDao;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -3,6 +3,7 @@ package com.sqx.modules.file;
|
||||||
|
|
||||||
import com.aliyun.oss.OSS;
|
import com.aliyun.oss.OSS;
|
||||||
import com.aliyun.oss.OSSClientBuilder;
|
import com.aliyun.oss.OSSClientBuilder;
|
||||||
|
import com.aliyun.tea.TeaException;
|
||||||
import com.amazonaws.services.s3.AmazonS3;
|
import com.amazonaws.services.s3.AmazonS3;
|
||||||
import com.amazonaws.services.s3.model.CannedAccessControlList;
|
import com.amazonaws.services.s3.model.CannedAccessControlList;
|
||||||
import com.amazonaws.services.s3.model.ObjectMetadata;
|
import com.amazonaws.services.s3.model.ObjectMetadata;
|
||||||
|
|
@ -27,6 +28,9 @@ import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpStatus;
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import com.aliyun.sts20150401.models.AssumeRoleResponse;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
|
@ -60,6 +64,44 @@ public class AliFileUploadController {
|
||||||
this.amazonS3 = amazonS3;
|
this.amazonS3 = amazonS3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/getCredentials")
|
||||||
|
@ApiOperation("获取上传临时凭证")
|
||||||
|
public Result getCredentials() {
|
||||||
|
try {
|
||||||
|
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
|
||||||
|
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
|
||||||
|
.setAccessKeyId("LTAI5tMmymNJatAoci3N5PVz")
|
||||||
|
// .setAccessKeyId(commonRepository.findOne(68).getValue())
|
||||||
|
// 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
|
||||||
|
// .setAccessKeySecret(commonRepository.findOne(69).getValue());
|
||||||
|
.setAccessKeySecret("WnJ2Dng7zxSagKj0NmhjfiHgIFyOEy");
|
||||||
|
// Endpoint 请参考 https://api.aliyun.com/product/Sts
|
||||||
|
config.endpoint = "sts.cn-shanghai.aliyuncs.com";
|
||||||
|
|
||||||
|
com.aliyun.sts20150401.Client client = new com.aliyun.sts20150401.Client(config);
|
||||||
|
com.aliyun.sts20150401.models.AssumeRoleRequest assumeRoleRequest = new com.aliyun.sts20150401.models.AssumeRoleRequest();
|
||||||
|
assumeRoleRequest.setRoleArn("acs:ram::1266409170752412:role/linshi");
|
||||||
|
assumeRoleRequest.setRoleSessionName("test");
|
||||||
|
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
|
||||||
|
// 复制代码运行请自行打印 API 的返回值
|
||||||
|
AssumeRoleResponse response = client.assumeRoleWithOptions(assumeRoleRequest, runtime);
|
||||||
|
return new Result().put("data",response.getBody().getCredentials());
|
||||||
|
} catch (TeaException error) {
|
||||||
|
return Result.error(error.getMessage());
|
||||||
|
// 诊断地址
|
||||||
|
// System.out.println(error.getData().get("Recommend"));
|
||||||
|
// com.aliyun.teautil.Common.assertAsString(error.message);
|
||||||
|
} catch (Exception _error) {
|
||||||
|
return Result.error(_error.getMessage());
|
||||||
|
// TeaException error = new TeaException(_error.getMessage(), _error);
|
||||||
|
// // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
|
||||||
|
// // 诊断地址
|
||||||
|
// System.out.println(error.getData().get("Recommend"));
|
||||||
|
// com.aliyun.teautil.Common.assertAsString(error.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@RequestMapping(value = "/upload", method = RequestMethod.POST)
|
@RequestMapping(value = "/upload", method = RequestMethod.POST)
|
||||||
@ApiOperation("文件上传")
|
@ApiOperation("文件上传")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.sqx.modules.discSpinning.dao.DiscSpinningRecordDao">
|
||||||
|
|
||||||
|
|
||||||
|
<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>
|
||||||
|
</mapper>
|
||||||
Loading…
Reference in New Issue