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

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

提交 积分物品相关

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