记得上下班打卡 | git大法好,push需谨慎

Commit fd4bd91e authored by jiangxiulong's avatar jiangxiulong

完善 减积分 增积分 type 发放

parent c3dfa3bf
......@@ -56,7 +56,7 @@ public class IntegralActivityDrawVo implements Serializable, Cloneable {
@ApiModelProperty(value = "adam收货人完整地址 空格隔离省市区详细地址")
private String receivingAddress;
@ApiModelProperty(value = "发放状态 1未发放 2已发放")
@ApiModelProperty(value = "发放状态 1未发放 2已发放 3无需发放")
private Integer receivingStatus;
@ApiModelProperty(value = "创建时间")
......
......@@ -33,10 +33,11 @@
</li>
<li>
<label>发放状态:</label>
<select name="receivingStatus">
<select name="receivingStatus"
th:with="type=${@dict.getType('zhengzai_sweet_draw_receiving_status')}">
<option value="">全部</option>
<option value="1">未发放</option>
<option value="2">已发放</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}"
th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
......@@ -65,6 +66,8 @@
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var receivingStatus = [[${@dict.getType('zhengzai_sweet_draw_receiving_status')}]];
var receivingStatusFlag = [[${@permission.hasPermi('sweet:IntegralActivityDraw:receivingStatus')}]];
var prefix = ctx + "sweet/IntegralActivityDraw";
......@@ -115,13 +118,7 @@
field: 'receivingStatus',
title: '发放状态',
formatter: function (value, row) {
var receivingStatus = row.receivingStatus;
if (row.receivingStatus == 1) {
receivingStatus = "未发放";
} else {
receivingStatus = "已发放";
}
return receivingStatus;
return $.table.selectDictLabel(receivingStatus, value);
}
},
{
......@@ -142,13 +139,14 @@
$.table.init(options);
});
function openModal(id) {
$.modal.confirm(`确定要发放吗?`, function() {
$.modal.confirm(`确定要发放吗?`, function () {
$.ajax({
type: 'put',
url: '/sweet/IntegralActivityDraw/receivingStatus',
data: {drawId: id},
success:function(e) {
success: function (e) {
console.log(e)
if (e.code == 0) {
layer.msg('发放成功!')
......
......@@ -83,7 +83,7 @@ public class SweetActivityDrawListDao implements Serializable {
private String receivingAddress;
/**
* 发放状态 1未发放 2已发放
* 发放状态 1未发放 2已发放 3无需发放
*/
private Integer receivingStatus;
......
......@@ -98,7 +98,7 @@ public class SweetIntegralActivityDraw implements Serializable, Cloneable {
private String receivingAddress;
/**
* 发放状态 1未发放 2已发放
* 发放状态 1未发放 2已发放 3无需发放
*/
private Integer receivingStatus;
......
......@@ -6,6 +6,8 @@ import feign.hystrix.FallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* <p>
......@@ -25,7 +27,24 @@ import org.springframework.web.bind.annotation.GetMapping;
)
public interface FeignStoneIntegralClient {
// 用户积分数据
@GetMapping("user/info")
ResponseDto<StoneScoreListDto> stoneUserInfo();
// 增加积分
@PostMapping("user/logs/in2111")
ResponseDto<StoneScoreListDto> in2111(
@RequestParam(value = "uid") String uid,
@RequestParam(value = "score") Integer score,
@RequestParam(value = "content") String content
);
// 减少积分
@PostMapping("user/logs/de2111")
ResponseDto<StoneScoreListDto> de2111(
@RequestParam(value = "uid") String uid,
@RequestParam(value = "score") Integer score,
@RequestParam(value = "content") String content
);
}
......@@ -73,7 +73,7 @@ CREATE TABLE `sweet_integral_activity_draw`
`receiving_name` varchar(255) NOT NULL DEFAULT '' COMMENT 'adam收货人姓名',
`receiving_phone` varchar(255) NOT NULL DEFAULT '' COMMENT 'adam收货人手机号',
`receiving_address` varchar(255) NOT NULL DEFAULT '' COMMENT 'adam收货人完整地址 空格隔离省市区详细地址',
`receiving_status` smallint NOT NULL DEFAULT 1 COMMENT '发放状态 1未发放 2已发放',
`receiving_status` smallint NOT NULL DEFAULT 1 COMMENT '发放状态 1未发放 2已发放 3无需发放',
`created_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`mid`),
......
......@@ -116,12 +116,15 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
SweetIntegralActivityPrizeVo sweetIntegralActivityPrizeVo = SweetIntegralActivityPrizeVo.getNew().copy(sweetIntegralActivityPrize);
// 记录
// 减库存 顺便判断库存是否够 todo 这块可能不能这么判断 后台增加库存的时候如果是-1会丢库存 实际-1这个并没有发出
long activityPrizeNum = redisDataUtils.setIntegralActivityPrizeNum(integralActivityId, sweetIntegralActivityPrizeVo.getPrizeId(), 1);
long activityPrizeWinnersNum = redisDataUtils.setIntegralActivityPrizeWinnersNum(integralActivityId, sweetIntegralActivityPrizeVo.getPrizeId(), 1);
if (activityPrizeNum < 0 || activityPrizeWinnersNum < 0) {// 库存不够了
return ResponseDto.failure("活动太火爆了,奖品已经没有库存啦!");
}
// 减积分
feignStoneIntegralClient.de2111(userId, integralActivity.getActivityNum(), integralActivity.getActivityTitle());
// 抽奖入库
String drawId = IDGenerator.nextSnowId();
IntegralActivityDrawVo integralActivityDrawVo = IntegralActivityDrawVo.getNew();
integralActivityDrawVo.setDrawId(drawId);
......@@ -136,6 +139,18 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
integralActivityDrawVo.setNickname(nickname);
LocalDateTime nowTime = LocalDateTime.now();
integralActivityDrawVo.setCreatedAt(nowTime);
Integer receivingStatus = 1;
Integer prizeType = sweetIntegralActivityPrize.getPrizeType();
if (prizeType == 2) {// 中奖积分
// 增加积分
feignStoneIntegralClient.in2111(userId, sweetIntegralActivityPrize.getPrizeTypeNum(), integralActivity.getActivityTitle());
// 发放状态
receivingStatus = 2;
}
if (prizeType == 1) { // 谢谢惠顾
receivingStatus = 3;
}
integralActivityDrawVo.setReceivingStatus(receivingStatus);
// redis
redisDataUtils.setIntegralActivityDraw(integralActivityDrawVo);
// mongo
......@@ -149,7 +164,8 @@ public class SweetIntegralActivityDrawServiceImpl extends ServiceImpl<SweetInteg
drawId, integralActivityId, integralActivity.getActivityNum(),
sweetIntegralActivityPrize.getPrizeId(), sweetIntegralActivityPrize.getPrizeTitle(), sweetIntegralActivityPrize.getPrizeType(),
sweetIntegralActivityPrize.getPrizeTypeNum(), sweetIntegralActivityPrize.getRelationId(),
userId, nickname
userId, nickname,
receivingStatus
});
queueUtils.sendMsgByRedis(MQConst.SweetQueue.SWEET_INTEGRAL_ACTIVITY_DRAW.getKey(),
SqlMapping.gets(sqls, sqlsDataA));
......
......@@ -50,5 +50,5 @@ sweet_city_vote_stat.update=UPDATE sweet_city_vote_stat SET vote_num = IFNULL(vo
# --------------------------防疫答题--------------------------
sweet_antigenic_question.insert=INSERT INTO sweet_antigenic_question (question_id,type,openId,unionId,nickname,address,phone,urgent_phone,keyword1,keyword11,keyword2,keyword3,keyword4,keyword5,keyword6,keyword7) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
# ------------------------积分抽奖----------------------------
integral_activity_draw.insert=INSERT INTO sweet_integral_activity_draw (draw_id,integral_activity_id,activity_num,prize_id,prize_title,prize_type,prize_type_num,relation_id,user_id,nickname) VALUES (?,?,?,?,?,?,?,?,?,?)
integral_activity_draw.insert=INSERT INTO sweet_integral_activity_draw (draw_id,integral_activity_id,activity_num,prize_id,prize_title,prize_type,prize_type_num,relation_id,user_id,nickname,receiving_status) VALUES (?,?,?,?,?,?,?,?,?,?,?)
integral_activity_draw.update=UPDATE sweet_integral_activity_draw SET receiving_addresses_id = ?, receiving_name = ?, receiving_phone = ?, receiving_address = ?, updated_at = ? WHERE draw_id = ?
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment