|
@@ -18,6 +18,7 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
|
import tk.mybatis.mapper.entity.Condition;
|
|
|
import tk.mybatis.mapper.entity.Example;
|
|
@@ -44,6 +45,7 @@ public class StoreFlashActivityServiceImpl extends AbstractService<StoreFlashAct
|
|
|
|
|
|
@Override
|
|
|
public List<StoreFlashActivity> activityList(StoreFlashActivity storeFlashActivity, Integer page, Integer size) {
|
|
|
+ this.activityStatusJudgmentTimedTask();
|
|
|
PageHelper.startPage(page, size);
|
|
|
Condition condition = new Condition(storeFlashActivity.getClass());
|
|
|
Example.Criteria criteria = condition.createCriteria();
|
|
@@ -58,40 +60,30 @@ public class StoreFlashActivityServiceImpl extends AbstractService<StoreFlashAct
|
|
|
if (storeFlashActivity.getStatus() != null) {
|
|
|
criteria.andEqualTo("status", storeFlashActivity.getStatus());
|
|
|
}
|
|
|
- // if (storeFlashActivity.getActiveState() != null) {
|
|
|
- // criteria.andEqualTo("activeState", storeFlashActivity.getActiveState());
|
|
|
- // }
|
|
|
+ if (storeFlashActivity.getActiveState() != null) {
|
|
|
+ criteria.andEqualTo("activeState", storeFlashActivity.getActiveState());
|
|
|
+ }
|
|
|
|
|
|
// 不知道哪个臭SB写的,减少改动,暂时先这样处理
|
|
|
- Date now = new Date();
|
|
|
- if (ObjectUtil.isNotEmpty(storeFlashActivity.getActiveState())) {
|
|
|
-
|
|
|
- switch (storeFlashActivity.getActiveState()) {
|
|
|
- case 0:
|
|
|
- criteria.andGreaterThan("startTime", now);
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- criteria.andLessThanOrEqualTo("startTime", now);
|
|
|
- criteria.andGreaterThanOrEqualTo("endTime", now);
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- criteria.andLessThan("endTime", now);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
+// Date now = new Date();
|
|
|
+// if (ObjectUtil.isNotEmpty(storeFlashActivity.getActiveState())) {
|
|
|
+//
|
|
|
+// switch (storeFlashActivity.getActiveState()) {
|
|
|
+// case 0:
|
|
|
+// criteria.andGreaterThan("startTime", now);
|
|
|
+// break;
|
|
|
+// case 1:
|
|
|
+// criteria.andLessThanOrEqualTo("startTime", now);
|
|
|
+// criteria.andGreaterThanOrEqualTo("endTime", now);
|
|
|
+// break;
|
|
|
+// case 2:
|
|
|
+// criteria.andLessThan("endTime", now);
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
List<StoreFlashActivity> activityList = findByCondition(condition);
|
|
|
- for (StoreFlashActivity flashActivity : activityList) {
|
|
|
- Date startTime = flashActivity.getStartTime();
|
|
|
- Date endTime = flashActivity.getEndTime();
|
|
|
- if (startTime.getTime() > now.getTime()) {
|
|
|
- flashActivity.setActiveState(0);
|
|
|
- } else if (endTime.getTime() < now.getTime()) {
|
|
|
- flashActivity.setActiveState(2);
|
|
|
- } else {
|
|
|
- flashActivity.setActiveState(1);
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
return activityList;
|
|
|
}
|
|
|
|
|
@@ -182,44 +174,95 @@ public class StoreFlashActivityServiceImpl extends AbstractService<StoreFlashAct
|
|
|
// storeCombination.setIsDelete(storeFlashActivity.getIsDelete());
|
|
|
storeCombination.setUpdateUserId(storeFlashActivity.getUpdateUserId());
|
|
|
storeCombinationMapper.updateByConditionSelective(storeCombination, exampleStoreCombination);
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
@Override
|
|
|
public void delete(StoreFlashActivity storeFlashActivity) {
|
|
|
-
|
|
|
+
|
|
|
StoreFlashActivity storeFlashActivityOri = findById(storeFlashActivity.getId());
|
|
|
if (ObjectUtils.isEmpty(storeFlashActivityOri)) {
|
|
|
throw new ServiceException(I18nUtil.get("activity.does.not.exist.id") + storeFlashActivityOri.getId());
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
JSONObject tokenUser = UserUtil.getTokenUser(null);
|
|
|
Long tokenUserId = 0L;
|
|
|
-
|
|
|
+
|
|
|
if (!ObjectUtils.isEmpty(tokenUser)) {
|
|
|
if (!ObjectUtils.isEmpty(tokenUser.getLongValue("id"))) {
|
|
|
tokenUserId = tokenUser.getLongValue("id");
|
|
|
}
|
|
|
}
|
|
|
Date date = new Date();
|
|
|
-
|
|
|
+
|
|
|
storeFlashActivity.setUpdateTime(date);
|
|
|
storeFlashActivity.setUpdateUserId(tokenUserId);
|
|
|
-
|
|
|
+
|
|
|
update(storeFlashActivity);
|
|
|
-
|
|
|
+
|
|
|
// 活动商品信息联动
|
|
|
-
|
|
|
+
|
|
|
Example exampleStoreCombination = new Example(StoreCombination.class);
|
|
|
exampleStoreCombination.createCriteria()
|
|
|
.andEqualTo("activityId", storeFlashActivity.getId());
|
|
|
-
|
|
|
+
|
|
|
StoreCombination storeCombination = new StoreCombination();
|
|
|
storeCombination.setIsShow(0);
|
|
|
storeCombination.setIsDelete(storeFlashActivity.getIsDelete());
|
|
|
storeCombination.setUpdateUserId(storeFlashActivity.getUpdateUserId());
|
|
|
storeCombinationMapper.updateByConditionSelective(storeCombination, exampleStoreCombination);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void activityStatusJudgmentTimedTask() {
|
|
|
+
|
|
|
+ Condition conditionStoreFlashActivity = new Condition(StoreFlashActivity.class);
|
|
|
+ conditionStoreFlashActivity.createCriteria().andEqualTo("isDelete",0);
|
|
|
+ List<StoreFlashActivity> storeFlashActivityList = this.findByCondition(conditionStoreFlashActivity);
|
|
|
+ Long tokenUserId = 99999L;
|
|
|
+ Date date = new Date();
|
|
|
+ if(!CollectionUtils.isEmpty(storeFlashActivityList)){
|
|
|
+
|
|
|
+ for (StoreFlashActivity flashActivity : storeFlashActivityList) {
|
|
|
+
|
|
|
+ StoreFlashActivity storeFlashActivity = new StoreFlashActivity();
|
|
|
+ BeanUtils.copyProperties(flashActivity, storeFlashActivity);
|
|
|
+ if((!ObjectUtils.isEmpty(storeFlashActivity.getStartTime())) && (!ObjectUtils.isEmpty(storeFlashActivity.getEndTime()))) {
|
|
|
+
|
|
|
+ if (date.compareTo(storeFlashActivity.getStartTime()) < 0) {
|
|
|
+ storeFlashActivity.setActiveState(0);
|
|
|
+ } else if (date.compareTo(storeFlashActivity.getStartTime()) >= 0 && date.compareTo(storeFlashActivity.getEndTime()) <= 0) {
|
|
|
+ storeFlashActivity.setActiveState(1);
|
|
|
+ } else if (date.compareTo(storeFlashActivity.getEndTime()) > 0) {
|
|
|
+ storeFlashActivity.setActiveState(2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ storeFlashActivity.setUpdateTime(date);
|
|
|
+ storeFlashActivity.setUpdateUserId(tokenUserId);
|
|
|
+ update(storeFlashActivity);
|
|
|
+
|
|
|
+ //活动商品信息联动
|
|
|
+
|
|
|
+ Example exampleStoreCombination = new Example(StoreCombination.class);
|
|
|
+ exampleStoreCombination.createCriteria()
|
|
|
+ .andEqualTo("activityId",flashActivity.getId());
|
|
|
+ StoreCombination storeCombination = new StoreCombination();
|
|
|
+ Integer statusOne = 1;
|
|
|
+ Integer statusZero = 0;
|
|
|
+
|
|
|
+ if(statusOne.equals(storeFlashActivity.getActiveState())
|
|
|
+ && statusZero.equals(storeFlashActivity.getIsDelete())
|
|
|
+ ){
|
|
|
+ storeCombination.setIsShow(1);
|
|
|
+ }else{
|
|
|
+ storeCombination.setIsShow(0);
|
|
|
+ }
|
|
|
+
|
|
|
+ storeCombination.setUpdateUserId(storeFlashActivity.getUpdateUserId());
|
|
|
+ storeCombinationMapper.updateByConditionSelective(storeCombination,exampleStoreCombination);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|