|
@@ -23,8 +23,9 @@ import com.qs.mp.common.core.page.TableDataInfo;
|
|
|
import com.qs.mp.common.enums.CdKeyGroupGoodsTypeEnum;
|
|
|
import com.qs.mp.common.enums.CdKeyGroupStatusEnum;
|
|
|
import com.qs.mp.common.enums.CdKeyStatusEnum;
|
|
|
+import com.qs.mp.common.enums.ValidityPeriodEnum;
|
|
|
+import com.qs.mp.common.utils.DateUtils;
|
|
|
import com.qs.mp.common.utils.StringUtils;
|
|
|
-import com.qs.mp.common.utils.bean.BeanUtils;
|
|
|
import com.qs.mp.utils.ExcelUtil;
|
|
|
import com.qs.mp.web.controller.BaseController;
|
|
|
import io.swagger.annotations.*;
|
|
@@ -36,7 +37,6 @@ import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @author zhangkaikai
|
|
@@ -111,18 +111,37 @@ public class CdKeyMgrController extends BaseController {
|
|
|
queryWrapper.eq("status", param.getStatus());
|
|
|
}
|
|
|
|
|
|
- queryWrapper.orderByDesc("FIELD(`status`,'waiting','nonactivated','activated','invalid')");
|
|
|
+ queryWrapper.orderByDesc("FIELD(`status`,'waiting','noactive','activated','invalid')");
|
|
|
queryWrapper.orderByDesc("created_time");
|
|
|
|
|
|
startPage();
|
|
|
List<CdKeyGroupVO> cdKeyGroupList = cdKeyGroupService.listCdKeyGroupListVO(queryWrapper);
|
|
|
+ List<CdKeyGroup> inValid = new ArrayList<>();
|
|
|
if (CollectionUtils.isNotEmpty(cdKeyGroupList)) {
|
|
|
cdKeyGroupList.forEach(cdKeyGroupVO -> {
|
|
|
Channel channel = channelService.getById(cdKeyGroupVO.getChannelId());
|
|
|
String siteName = channel.getName() == null ? "-- " : channel.getName();
|
|
|
cdKeyGroupVO.setSiteName(siteName + "(" + channel.getMobile() + ")");
|
|
|
+ if (CdKeyGroupStatusEnum.ACTIVATED == cdKeyGroupVO.getStatus()) {
|
|
|
+ int validityPeriod = ValidityPeriodEnum.getByValue(cdKeyGroupVO.getValidityPeriod().getValue());
|
|
|
+ if (validityPeriod == 3 && DateUtils.diffMonth(cdKeyGroupVO.getActivationTime(), new Date()) > 3) {
|
|
|
+ CdKeyGroup cdKeyGroup = new CdKeyGroup();
|
|
|
+ cdKeyGroup.setGroupId(cdKeyGroupVO.getGroupId());
|
|
|
+ cdKeyGroup.setStatus(CdKeyGroupStatusEnum.INVALID);
|
|
|
+ inValid.add(cdKeyGroup);
|
|
|
+ }
|
|
|
+ if (validityPeriod == 6 && DateUtils.diffMonth(cdKeyGroupVO.getActivationTime(), new Date()) > 6) {
|
|
|
+ CdKeyGroup cdKeyGroup = new CdKeyGroup();
|
|
|
+ cdKeyGroup.setGroupId(cdKeyGroupVO.getGroupId());
|
|
|
+ cdKeyGroup.setStatus(CdKeyGroupStatusEnum.INVALID);
|
|
|
+ inValid.add(cdKeyGroup);
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
+ if (CollectionUtils.isNotEmpty(inValid)) {
|
|
|
+ cdKeyGroupService.updateBatchById(inValid);
|
|
|
+ }
|
|
|
return getDataTable(cdKeyGroupList);
|
|
|
}
|
|
|
|
|
@@ -145,10 +164,10 @@ public class CdKeyMgrController extends BaseController {
|
|
|
@PostMapping("/activate")
|
|
|
public AjaxResult activate(@RequestBody CdKeyActivateParam param) {
|
|
|
CdKeyGroup cdKeyGroup = cdKeyGroupService.getById(param.getGroupId());
|
|
|
- if (!CdKeyGroupStatusEnum.NONACTIVATED.getValue().equals(cdKeyGroup.getStatus().getValue())) {
|
|
|
+ if (!CdKeyGroupStatusEnum.NO_ACTIVE.getValue().equals(cdKeyGroup.getStatus().getValue())) {
|
|
|
return AjaxResult.error("只有未激活的兑换码组才能激活");
|
|
|
}
|
|
|
- cdKeyGroup.setStatus(param.getIsActive() == 1 ? CdKeyGroupStatusEnum.ACTIVATED : CdKeyGroupStatusEnum.NONACTIVATED);
|
|
|
+ cdKeyGroup.setStatus(param.getIsActive() == 1 ? CdKeyGroupStatusEnum.ACTIVATED : CdKeyGroupStatusEnum.NO_ACTIVE);
|
|
|
cdKeyGroup.setActivationTime(new Date());
|
|
|
return AjaxResult.success(cdKeyGroupService.updateById(cdKeyGroup));
|
|
|
}
|