Commit 96fb717c authored by 周健威's avatar 周健威

Merge remote-tracking branch 'origin/dev' into dev

parents 532bcc51 d92e8d92
......@@ -8,6 +8,7 @@ import tk.mybatis.mapper.code.IdentityDialect;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.math.BigInteger;
@Data
......@@ -61,4 +62,7 @@ public class ActivityPopup {
@Column(name = "time_type")
private Integer timeType;
@Column(name = "activity_id")
private Integer activityId;
}
package com.xxfc.platform.activity.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.util.process.ResultCode;
import org.springframework.stereotype.Service;
import com.google.common.collect.Maps;
import com.xxfc.platform.activity.entity.ActivityPopularizeUser;
import com.xxfc.platform.activity.mapper.ActivityPopularizeUserMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
import java.util.Map;
/**
* 用户与推广活动(邀请有礼)的关系表
......@@ -19,19 +20,39 @@ import java.util.List;
* @date 2019-07-05 15:23:04
*/
@Service
public class ActivityPopularizeUserBiz extends BaseBiz<ActivityPopularizeUserMapper,ActivityPopularizeUser> {
public ActivityPopularizeUser insertSelectiveReT(ActivityPopularizeUser entity) {
if(insertSelectiveRe(entity) > 0) {
return selectById(entity.getId());
}else {
throw new BaseException(ResultCode.DB_OPERATION_FAIL_CODE);
}
}
public class ActivityPopularizeUserBiz extends BaseBiz<ActivityPopularizeUserMapper, ActivityPopularizeUser> {
public ActivityPopularizeUser insertSelectiveReT(ActivityPopularizeUser entity) {
if (insertSelectiveRe(entity) > 0) {
return selectById(entity.getId());
} else {
throw new BaseException(ResultCode.DB_OPERATION_FAIL_CODE);
}
}
public void deleteByUserIds(List<Integer> userIds) {
Example example = new Example(ActivityPopularizeUser.class);
Example.Criteria criteria = example.createCriteria();
criteria.andIn("userId", userIds);
mapper.deleteByExample(example);
}
public void deleteByUserIds(List<Integer> userIds) {
Example example = new Example(ActivityPopularizeUser.class);
Example.Criteria criteria = example.createCriteria();
criteria.andIn("userId",userIds);
mapper.deleteByExample(example);
}
public Map<Integer, Boolean> getByUserIdAndPopularizeId(Integer userId, List<Integer> popularizeIds) {
Map<Integer, Boolean> activityIds = Maps.newHashMap();
if (userId == null || popularizeIds == null) {
return activityIds;
}
popularizeIds.parallelStream().forEach(id -> {
Example example = new Example(ActivityPopularizeUser.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("userId", userId);
criteria.andEqualTo("popularizeId", id);
ActivityPopularizeUser activityPopularizeUsers = mapper.selectOneByExample(example);
if (activityPopularizeUsers != null) {
activityIds.put(id, true);
} else {
activityIds.put(id, false);
}
});
return activityIds;
}
}
\ No newline at end of file
......@@ -7,6 +7,7 @@ import com.xxfc.platform.activity.entity.ActivityPopup;
import com.xxfc.platform.activity.entity.ActivityPopupUser;
import com.xxfc.platform.activity.mapper.ActivityPopupMapper;
import com.xxfc.platform.activity.mapper.ActivityPopupUserMapper;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -16,10 +17,8 @@ import tk.mybatis.mapper.weekend.WeekendSqls;
import javax.swing.plaf.synth.SynthEditorPaneUI;
import java.math.BigInteger;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.time.Instant;
import java.util.*;
import java.util.stream.Collectors;
/**
......@@ -38,6 +37,9 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
@Autowired
private ActivityPopupUserBiz activityPopupUserBiz;
@Autowired
private ActivityPopularizeUserBiz activityPopularizeUserBiz;
/**
* 获取活动弹窗,根据是否登录
*
......@@ -50,7 +52,7 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
if (activityPopups == null || activityPopups.size() == 0) {
return activityPopups;
}
List<Integer> collect = activityPopups.parallelStream().map(ActivityPopup::getId).collect(Collectors.toList());
/* List<Integer> collect = activityPopups.parallelStream().map(ActivityPopup::getId).collect(Collectors.toList());
Example exaple = Example.builder(ActivityPopupUser.class)
.where(WeekendSqls.<ActivityPopupUser>custom()
.andEqualTo(ActivityPopupUser::getUserId, userInfo.getUserid())
......@@ -60,13 +62,22 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
if (activityPopupUsers == null || activityPopupUsers.size() == 0) {
return activityPopups;
}
Set<Integer> popupIdSet = activityPopupUsers.parallelStream().map(ActivityPopupUser::getPopupId).collect(Collectors.toSet());
Set<Integer> popupIdSet = activityPopupUsers.parallelStream().map(ActivityPopupUser::getPopupId).collect(Collectors.toSet());*/
List<ActivityPopup> result = new ArrayList<>();
List<Integer> activityIds = activityPopups.stream().map(ActivityPopup::getActivityId).collect(Collectors.toList());
activityIds = CollectionUtils.isEmpty(activityIds)? Collections.EMPTY_LIST:activityIds;
Map<Integer, Boolean> activityPopularizeUserMap = activityPopularizeUserBiz.getByUserIdAndPopularizeId(userInfo.getUserid(), activityIds);
for (ActivityPopup activityPopup : activityPopups) {
if (popupIdSet.add(activityPopup.getId())) {
result.add(activityPopup);
}
/*if (popupIdSet.add(activityPopup.getId())) {*/
boolean flag = activityPopularizeUserMap.isEmpty() ||
activityPopularizeUserMap.get(activityPopup.getActivityId()) == null ||
activityPopularizeUserMap.get(activityPopup.getActivityId()).equals(Boolean.FALSE);
if (flag) {
result.add(activityPopup);
}
// }
}
return result;
} else {
......@@ -85,17 +96,26 @@ public class ActivityPopupBiz extends BaseBiz<ActivityPopupMapper, ActivityPopup
private List<ActivityPopup> getActivityPopupByTypes(String Types) {
long timeMillis = System.currentTimeMillis();
//获取有期限的弹窗timeType=1
Example exa = Example.builder(ActivityPopup.class)
.where(
Example exa = new Example(ActivityPopup.class);
/* .where(
WeekendSqls.<ActivityPopup>custom()
.andEqualTo(ActivityPopup::getTimeType, 1)
.andGreaterThanOrEqualTo(ActivityPopup::getEndTime, BigInteger.valueOf(timeMillis))
.andLessThanOrEqualTo(ActivityPopup::getStartTime, BigInteger.valueOf(timeMillis))
.andGreaterThanOrEqualTo(ActivityPopup::getStartTime, BigInteger.valueOf(timeMillis))
.andLessThanOrEqualTo(ActivityPopup::getEndTime, BigInteger.valueOf(timeMillis))
.andIn(ActivityPopup::getType, Arrays.asList(Types.split(",")))
.andEqualTo(ActivityPopup::getStatus, 1)
.andEqualTo(ActivityPopup::getIsDel, 0)
).orderByAsc("sort").build();
).orderByAsc("sort").build();*/
Example.Criteria criteria = exa.createCriteria();
exa.orderBy("sort").asc();
criteria.andEqualTo("timeType",1);
criteria.andGreaterThanOrEqualTo("startTime",BigInteger.valueOf(timeMillis));
criteria.andLessThanOrEqualTo("endTime",BigInteger.valueOf(timeMillis));
criteria.andIn("type",Arrays.asList(Types.split(",")));
criteria.andEqualTo("status",1);
criteria.andEqualTo("isDel",0);
List<ActivityPopup> activityPopups = mapper.selectByExample(exa);
//获取永久的弹窗timeType=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