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

Commit 5ddd4334 authored by jiangxiulong's avatar jiangxiulong

create update valid

parent 4278ca25
package com.liquidnet.service.sweet.dto.param.admin;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.sweet.entity.SweetIntegralActivity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.time.DateUtils;
import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
......@@ -24,37 +31,46 @@ public class SweetIntegralActivityFromParam implements Serializable, Cloneable {
private static final long serialVersionUID = -648510827144997014L;
@ApiModelProperty(value = "活动id[创建不传]", example = "1")
@ApiModelProperty(value = "活动id[创建不传] 编辑必须要传", example = "429803743878963206506461")
private String integralActivityId;
@ApiModelProperty(required = true, value = "活动名称")
@ApiModelProperty(required = true, value = "活动名称", example = "大转盘抽奖")
@NotBlank(message = "activityTitle不能为空")
private String activityTitle;
@ApiModelProperty(required = true, value = "活动图片")
@ApiModelProperty(required = true, value = "活动图片", example = "test.png")
@NotBlank(message = "activityImg不能为空")
private String activityImg;
@ApiModelProperty(required = true, value = "活动类型 1转盘")
@ApiModelProperty(required = true, value = "活动类型 1转盘", example = "1")
@NotNull(message = "activityType不能为空")
private Integer activityType;
@ApiModelProperty(required = true, value = "活动时间类型 1长期 2开始结束时间")
@ApiModelProperty(required = true, value = "活动时间类型 1长期 2开始结束时间", example = "1")
@NotNull(message = "timeType不能为空") @Min(value = 1, message = "timeType无效") @Max(value = 2, message = "timeType无效")
private Integer timeType;
@ApiModelProperty(value = "如果活动有时间限制 开始时间")
private LocalDateTime startTime;
@ApiModelProperty(value = "如果活动有时间限制 开始时间", example = "2021-01-01 23:20:20")
private String startTime;
@ApiModelProperty(value = "如果活动有时间限制 结束时间")
private LocalDateTime endTime;
@ApiModelProperty(value = "如果活动有时间限制 结束时间", example = "2021-01-01 23:20:20")
private String endTime;
@ApiModelProperty(required = true, value = "快递费用类型 1包邮 2到付")
@ApiModelProperty(required = true, value = "快递费用类型 1包邮 2到付", example = "2")
@NotNull(message = "expressFeeType不能为空") @Min(value = 1, message = "expressFeeType无效") @Max(value = 2, message = "expressFeeType无效")
private Integer expressFeeType;
@ApiModelProperty(required = true, value = "活动规则")
@ApiModelProperty(required = true, value = "活动规则", example = "这里是活动规则")
@NotBlank(message = "activityTitle不能为空")
private String activityRules;
@ApiModelProperty(required = true, value = "是否上线 1未上线 2已上线")
@ApiModelProperty(required = true, value = "是否上线 1未上线 2已上线", example = "2")
@NotNull(message = "isOnline不能为空") @Min(value = 1, message = "isOnline无效") @Max(value = 2, message = "isOnline无效")
private Integer isOnline;
@ApiModelProperty(value = "奖品列表")
@Valid
@ApiModelProperty(value = "奖品列表", example = "")
@NotNull(message = "prizeList不能为空")
private List<SweetIntegralActivityPrizeFormParam> prizeList;
private static final SweetIntegralActivityFromParam obj = new SweetIntegralActivityFromParam();
......@@ -74,8 +90,14 @@ public class SweetIntegralActivityFromParam implements Serializable, Cloneable {
sweetIntegralActivity.setActivityTitle(source.getActivityTitle());
sweetIntegralActivity.setActivityImg(source.getActivityImg());
sweetIntegralActivity.setActivityType(source.getActivityType());
sweetIntegralActivity.setStartTime(source.getStartTime());
sweetIntegralActivity.setEndTime(source.getEndTime());
if (null != source.getStartTime() && !source.getStartTime().isEmpty()) {
LocalDateTime startTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(source.getStartTime());
sweetIntegralActivity.setStartTime(startTime);
}
if (null != source.getEndTime() && !source.getEndTime().isEmpty()) {
LocalDateTime endTime = DateUtil.Formatter.yyyyMMddHHmmss.parse(source.getEndTime());
sweetIntegralActivity.setEndTime(endTime);
}
sweetIntegralActivity.setExpressFeeType(source.getExpressFeeType());
sweetIntegralActivity.setActivityRules(source.getActivityRules());
sweetIntegralActivity.setIsOnline(source.getIsOnline());
......
......@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
......@@ -23,31 +25,37 @@ public class SweetIntegralActivityPrizeFormParam implements Serializable,Cloneab
private static final long serialVersionUID = 9194454546358707259L;
@ApiModelProperty(value = "奖品id 创建不传", example = "")
@ApiModelProperty(value = "奖品id 创建不传 编辑必传", example = "429803743878963206506461")
private String prizeId;
@ApiModelProperty(value = "活动id[创建不传]", example = "1")
@ApiModelProperty(value = "活动id[创建不传] 编辑必传", example = "1")
private String integralActivityId;
@ApiModelProperty(required = true, value = "奖品名称", example = "")
@ApiModelProperty(required = true, value = "奖品名称", example = "优惠券")
@NotBlank(message = "prizeTitle不能为空")
private String prizeTitle;
@ApiModelProperty(required = true, value = "奖品图片", example = "")
@ApiModelProperty(required = true, value = "奖品图片", example = "test.png")
@NotBlank(message = "prizeImg不能为空")
private String prizeImg;
@ApiModelProperty(required = true, value = "奖品类型 1谢谢惠顾 2积分 3优惠券 4实物", example = "")
@ApiModelProperty(required = true, value = "奖品类型 1谢谢惠顾 2积分 3优惠券 4实物", example = "1")
@NotNull(message = "prizeType不能为空")
private Integer prizeType;
@ApiModelProperty(value = "关联id 如商品id 券id", example = "")
@ApiModelProperty(value = "关联id 如商品id 券id 选择奖品的时候必传", example = "429803743878963206506461")
private String relationId;
@ApiModelProperty(required = true, value = "奖品数量", example = "")
@ApiModelProperty(required = true, value = "奖品数量", example = "100")
@NotNull(message = "prizeNum不能为空")
private Integer prizeNum;
@ApiModelProperty(required = true, value = "限制的中奖人数", example = "")
@ApiModelProperty(required = true, value = "限制的中奖人数", example = "10")
@NotNull(message = "winnersNum不能为空")
private Integer winnersNum;
@ApiModelProperty(required = true, value = "中奖概率", example = "")
@ApiModelProperty(required = true, value = "中奖概率", example = "1")
@NotNull(message = "winningProbability不能为空")
private BigDecimal winningProbability;
private static final SweetIntegralActivityPrizeFormParam obj = new SweetIntegralActivityPrizeFormParam();
......
......@@ -20,6 +20,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* <p>
* 积分活动表 前端控制器
......@@ -94,7 +96,7 @@ public class SweetIntegralActivityController extends BaseController {
@PostMapping("create")
@ApiOperation(value = "积分活动创建")
@ResponseBody
public AjaxResult create(SweetIntegralActivityFromParam param) {
public AjaxResult create(@Valid @RequestBody SweetIntegralActivityFromParam param) {
Integer result = iSweetIntegralActivityService.createForm(param);
if (result > 0) {
return success("操作成功");
......@@ -108,7 +110,7 @@ public class SweetIntegralActivityController extends BaseController {
@PutMapping("update")
@ApiOperation(value = "积分活动编辑")
@ResponseBody
public AjaxResult update(SweetIntegralActivityFromParam param) {
public AjaxResult update(@Valid @RequestBody SweetIntegralActivityFromParam param) {
Integer result = iSweetIntegralActivityService.updateForm(param);
if (result > 0) {
return success("操作成功");
......
......@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.liquidnet.service.sweet.mapper.SweetIntegralActivityPrizeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.util.List;
......@@ -76,37 +77,55 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
@Override
public Integer createForm(SweetIntegralActivityFromParam param) {
try {
SweetIntegralActivity sweetIntegralActivity = SweetIntegralActivityFromParam.getNew().copy(param);
sweetIntegralActivity.setIntegralActivityId(IDGenerator.nextSnowId());
String integralActivityId = IDGenerator.nextSnowId();
sweetIntegralActivity.setIntegralActivityId(integralActivityId);
int insert = sweetIntegralActivityMapper.insert(sweetIntegralActivity);
List<SweetIntegralActivityPrizeFormParam> prizeList = param.getPrizeList();
if (!CollectionUtils.isEmpty(prizeList)) {
for (SweetIntegralActivityPrizeFormParam prize : prizeList) {
SweetIntegralActivityPrize sweetIntegralActivityPrize = SweetIntegralActivityPrizeFormParam.getNew().copy(prize);
sweetIntegralActivityPrize.setPrizeId(IDGenerator.nextSnowId());
sweetIntegralActivityPrize.setIntegralActivityId(integralActivityId);
sweetIntegralActivityPrizeMapper.insert(sweetIntegralActivityPrize);
}
}
// TODO: 2021/10/20 增加redis处理
return insert;
} catch (Exception e) {
log.error("创建活动失败 [e:{}]", e);
return 0;
}
}
@Override
public Integer updateForm(SweetIntegralActivityFromParam param) {
try {
SweetIntegralActivity sweetIntegralActivity = SweetIntegralActivityFromParam.getNew().copy(param);
sweetIntegralActivity.setUpdatedAt(LocalDateTime.now());
String integralActivityId = param.getIntegralActivityId();
int update = sweetIntegralActivityMapper.update(
sweetIntegralActivity,
Wrappers.lambdaUpdate(SweetIntegralActivity.class).eq(SweetIntegralActivity::getIntegralActivityId, param.getIntegralActivityId())
Wrappers.lambdaUpdate(SweetIntegralActivity.class).eq(SweetIntegralActivity::getIntegralActivityId, integralActivityId)
);
List<SweetIntegralActivityPrizeFormParam> prizeList = param.getPrizeList();
if (!CollectionUtils.isEmpty(prizeList)) {
for (SweetIntegralActivityPrizeFormParam prize : prizeList) {
SweetIntegralActivityPrize sweetIntegralActivityPrize = SweetIntegralActivityPrizeFormParam.getNew().copy(prize);
sweetIntegralActivityPrize.setUpdatedAt(LocalDateTime.now());
sweetIntegralActivityPrize.setIntegralActivityId(integralActivityId);
sweetIntegralActivityPrizeMapper.update(
sweetIntegralActivityPrize,
Wrappers.lambdaUpdate(SweetIntegralActivityPrize.class).eq(SweetIntegralActivityPrize::getPrizeId, prize.getPrizeId())
);
}
}
// TODO: 2021/10/20 增加redis处理
return update;
} catch (Exception e) {
log.error("编辑活动失败 [e:{}]", e);
return 0;
}
}
}
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