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

Commit 018be12a authored by 胡佳晨's avatar 胡佳晨

提交 积分物品相关

parent 42632b76
......@@ -20,7 +20,7 @@ create table stone_score_items
target_id varchar(64) default '' comment '目标id',
target_title varchar(64) default '' comment '目标名称',
type integer default 0 comment '目标类型[1-券|1x-商品维度|2x-演出维度]',
img varchar(64) default '' comment '展示图',
img varchar(255) default '' comment '展示图',
score decimal(8, 2) default 0 comment '所需积分',
price decimal(8, 2) default 0 comment '所需金额',
general_total int default 0 comment '总库存[-999-不限]',
......
......@@ -40,9 +40,9 @@ public class StoneItemBuildParam {
@NotBlank(message = "上架状态不能为空")
@ApiModelProperty(required = true, value = "上架状态[1-不限|2-定时|7-下线]", example = "1")
private Integer status;
@ApiModelProperty(required = false, value = "上架时间", example = "2021-10-20 12-52-42")
private LocalDateTime startTime;
@ApiModelProperty(required = false, value = "下架时间", example = "2021-10-21 12-52-42")
private LocalDateTime updatedAt;
@ApiModelProperty(required = false, value = "上架时间[status = 2 必传]", example = "2021-10-20T12:52:42")
private String startTime;
@ApiModelProperty(required = false, value = "下架时间[status = 2 必传]", example = "2021-10-21T12:52:42")
private String endTime;
}
......@@ -10,21 +10,38 @@ import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.param.StoneItemBuildParam;
import com.liquidnet.service.stone.param.StoneListParam;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
@Api(tags = "积分物品")
@Controller
@RequestMapping("stone/item")
public class StoneItemController extends BaseController {
private String prefix = "zhengzai/stone/item";
private String prefix = "zhengzai/stone";
@Autowired
private IItemService iItemService;
@GetMapping("integralStore")
@ApiOperation(value = "积分商品:列表View")
public String integralStore(ModelMap mmap) {
return prefix + "/integralStore";
}
@GetMapping("integralStoreEdit")
@ApiOperation(value = "积分商品:详情View")
public String integralStoreEdit (ModelMap mmap) {
return prefix + "/integralStoreEdit";
}
@Log(title = "积分商品:列表")
@ApiOperation(value = "积分商品:列表")
@GetMapping("list")
@ResponseBody
public TableDataInfo list(StoneListParam listParam) {
......@@ -37,16 +54,25 @@ public class StoneItemController extends BaseController {
}
@Log(title = "积分商品:修改状态")
@PostMapping("change/status")
@PutMapping("change/status")
@ApiOperation(value = "积分商品:修改状态")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "itemId", value = "积分物品ID"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "status", value = "状态[-1-删除|1-上架|7-下架]"),
})
public AjaxResult status(@RequestParam("itemId") String itemId, @RequestParam("status") Integer status) {
String result = iItemService.changeStatus(itemId, status);
return AjaxResult.success(result);
}
@Log(title = "积分商品:详情")
@PostMapping("details")
@GetMapping("details")
@ApiOperation(value = "积分商品:详情")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "itemId", value = "积分物品ID"),
})
public AjaxResult details(@RequestParam("itemId") String itemId) {
StoneScoreItems result = iItemService.itemDetails(itemId);
return AjaxResult.success(result);
......@@ -54,6 +80,7 @@ public class StoneItemController extends BaseController {
@Log(title = "积分商品:创建")
@PostMapping("")
@ApiOperation(value = "积分商品:创建")
@ResponseBody
public AjaxResult createItem(StoneItemBuildParam param) {
String result = iItemService.createItem(param);
......@@ -62,6 +89,7 @@ public class StoneItemController extends BaseController {
@Log(title = "积分商品:修改")
@PutMapping("")
@ApiOperation(value = "积分商品:修改")
@ResponseBody
public AjaxResult updateItem(StoneItemBuildParam param) {
String result = iItemService.updateItem(param);
......
......@@ -3,6 +3,7 @@ package com.liquidnet.client.admin.zhengzai.stone.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.utils.DateUtils;
import com.liquidnet.client.admin.zhengzai.stone.service.IItemService;
import com.liquidnet.client.admin.zhengzai.stone.service.utils.StoneMongoUtils;
import com.liquidnet.client.admin.zhengzai.stone.service.utils.StoneRedisUtils;
......@@ -16,6 +17,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
......@@ -48,6 +50,7 @@ public class ItemServiceImpl implements IItemService {
if (!(title == null || title.equals(""))) {
queryWrapper.like(StoneScoreItems::getTargetTitle, title);
}
if (status != null) {
if (status != -999) {
if (status == 2) {//待上架
queryWrapper.eq(StoneScoreItems::getStatus, 2).gt(StoneScoreItems::getStartTime, now);
......@@ -57,9 +60,12 @@ public class ItemServiceImpl implements IItemService {
queryWrapper.eq(StoneScoreItems::getStatus, 1).or().lt(StoneScoreItems::getStartTime, now).gt(StoneScoreItems::getEndTime, now);
}
}
}
if (type != null) {
if (type != -1) {
queryWrapper.eq(StoneScoreItems::getType, type);
}
}
List<StoneScoreItems> voList = stoneScoreItemsMapper.selectList(queryWrapper);
for (StoneScoreItems item : voList) {
if (item.getStatus() == 2) {
......@@ -113,18 +119,21 @@ public class ItemServiceImpl implements IItemService {
@Override
public String createItem(StoneItemBuildParam param) {
LocalDateTime now = LocalDateTime.now();
if (param.getStatus() == 2 & (param.getStartTime() == null || param.getEndTime() == null)) {
return "时间有误";
}
StoneScoreItems data = BaseData(param);
int generalPoor = param.getGeneralTotal() - 0;
data.setItemId(IDGenerator.nextTimeId2());
data.setGeneralSurplus(redisUtils.changeStoneGeneralSurplus(param.getItemId(), generalPoor));
data.setGeneralSurplus(redisUtils.changeStoneGeneralSurplus(data.getItemId(), generalPoor));
data.setCreatedAt(now);
//redis
redisUtils.setItemData(data.getItemId(),data);
redisUtils.setItemData(data.getItemId(), data);
//mongo
mongoUtils.itemCreate(data);
//mysql
int count = stoneScoreItemsMapper.insert(data);
if(count <=0){
if (count <= 0) {
return "创建失败";
}
return "创建成功";
......@@ -133,19 +142,22 @@ public class ItemServiceImpl implements IItemService {
@Override
public String updateItem(StoneItemBuildParam param) {
LocalDateTime now = LocalDateTime.now();
if (param.getStatus() == 2 & (param.getStartTime() == null || param.getEndTime() == null)) {
return "时间有误";
}
StoneScoreItems data = BaseData(param);
StoneScoreItems dataSingle = stoneScoreItemsMapper.selectOne(Wrappers.lambdaQuery(StoneScoreItems.class).eq(StoneScoreItems::getItemId, param.getItemId()));
int generalPoor = param.getGeneralTotal() - dataSingle.getGeneralTotal();
data.setItemId(param.getItemId());
data.setGeneralSurplus(redisUtils.changeStoneGeneralSurplus(param.getItemId(), generalPoor));
data.setGeneralSurplus(redisUtils.changeStoneGeneralSurplus(data.getItemId(), generalPoor));
data.setUpdatedAt(now);
//redis
redisUtils.setItemData(data.getItemId(),data);
redisUtils.setItemData(data.getItemId(), data);
//mongo
mongoUtils.itemUpdateById(data);
//mysql
int count = stoneScoreItemsMapper.update(data, Wrappers.lambdaQuery(StoneScoreItems.class).eq(StoneScoreItems::getItemId, param.getItemId()));
if(count <=0){
if (count <= 0) {
return "修改失败";
}
return "修改成功";
......@@ -153,6 +165,7 @@ public class ItemServiceImpl implements IItemService {
/**
* 构建 基础 积分商品数据
*
* @param param
* @return
*/
......@@ -169,8 +182,8 @@ public class ItemServiceImpl implements IItemService {
data.setDetails(param.getDetails());
data.setNotice(param.getNotice());
data.setStatus(param.getStatus());
data.setStartTime(param.getStartTime());
data.setEndTime(param.getStartTime());
data.setStartTime(LocalDateTime.parse(param.getStartTime(), DateTimeFormatter.ofPattern(DateUtils.YYYY_MM_DD_HH_MM_SS)));
data.setEndTime(LocalDateTime.parse(param.getEndTime(), DateTimeFormatter.ofPattern(DateUtils.YYYY_MM_DD_HH_MM_SS)));
return data;
}
}
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