Commit 1b022904 authored by 周健威's avatar 周健威

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

parents 605ed6d0 cc8fc402
package com.xxfc.platform.activity.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 活动的参与者关系表
......@@ -61,6 +65,12 @@ public class ActivityPopularizeRelation implements Serializable {
@Column(name = "popularize_id")
@ApiModelProperty(value = "活动id")
private Integer popularizeId;
@Column(name = "num")
@ApiModelProperty(value = "第几个用户")
private Integer num;
@Column(name = "amount")
@ApiModelProperty(value = "获得奖励金额")
private BigDecimal amount;
}
package com.xxfc.platform.activity.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 用户与推广活动(邀请有礼)的关系表
......@@ -60,14 +64,14 @@ public class ActivityPopularizeUser implements Serializable {
*/
@Column(name = "end_progress")
@ApiModelProperty(value = "一共需要的进度")
private Integer endProgress;
private BigDecimal endProgress;
/**
* 当前进度
*/
@Column(name = "current_progress")
@ApiModelProperty(value = "当前进度")
private Integer currentProgress;
private BigDecimal currentProgress;
/**
* 推广活动id
......
package com.xxfc.platform.activity.vo.popularize;
import com.xxfc.platform.activity.entity.ActivityPopularize;
import com.xxfc.platform.activity.entity.ActivityPopularizeItem;
import lombok.Data;
import java.util.List;
......@@ -10,4 +9,6 @@ import java.util.List;
public class PopularizeVO extends ActivityPopularize {
List<ItemVO> items;
List<UserVO> userVOs;
boolean isComplete;
}
package com.xxfc.platform.activity.biz;
import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.activity.entity.ActivityPopularizeItem;
import com.xxfc.platform.activity.mapper.ActivityPopularizeItemMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import java.util.List;
/**
* 推广活动项,一个活动对应多个项
......@@ -15,4 +17,12 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/
@Service
public class ActivityPopularizeItemBiz extends BaseBiz<ActivityPopularizeItemMapper,ActivityPopularizeItem> {
public List<ActivityPopularizeItem> selectByPopularizeId(Integer popularizeId) {
Example example = new Example(ActivityPopularizeItem.class);
example.createCriteria().andEqualTo("popularizeId", popularizeId);
example.orderBy("sort").asc();
return mapper.selectByExample(example);
}
}
\ No newline at end of file
......@@ -3,7 +3,6 @@ package com.xxfc.platform.activity.biz;
import cn.hutool.core.bean.BeanUtil;
import com.github.wxiaoqi.security.admin.feign.UserFeign;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.vo.PageDataVO;
......@@ -15,6 +14,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import tk.mybatis.mapper.entity.Example;
import javax.servlet.http.HttpServletRequest;
......@@ -27,7 +27,7 @@ import javax.servlet.http.HttpServletRequest;
*/
@Service
@Slf4j
public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMapper,ActivityPopularizeLog> implements UserRestInterface {
public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMapper,ActivityPopularizeLog>{
@Autowired
ActivityPopularizeItemBiz activityPopularizeItemBiz;
......@@ -35,11 +35,6 @@ public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMappe
@Autowired
UserFeign userFeign;
@Override
public UserFeign getUserFeign() {
return userFeign;
}
@Autowired
HttpServletRequest request;
......@@ -54,6 +49,11 @@ public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMappe
}
}
public ActivityPopularizeLog selectByUserIdAndPopularIdAndItemId(ActivityPopularizeLog entity) {
Example example = new Example(ActivityPopularizeLog.class);
example.createCriteria().andEqualTo("userId", entity.getUserId()).andEqualTo("itemId", entity.getItemId()).andEqualTo("popularizeId", entity.getPopularizeId());
return mapper.selectOneByExample(example);
}
public PageDataVO<ActivityPopularizeLog> selectByUserId(QueryLogDto queryLogDto) {
String token = request.getHeader("Authorization");
AppUserDTO appUserDTO = null;
......@@ -70,6 +70,12 @@ public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMappe
queryLogDto.setLimit(limit);
Query query = new Query(queryLogDto);
PageDataVO<ActivityPopularizeLog> pageDataVO = PageDataVO.pageInfo(query, () -> mapper.selectByUserId(query.getSuper()));
if (pageDataVO.getData() != null) {
pageDataVO.getData().parallelStream().forEach(result -> {
ApLogDTO apLogDTO = BeanUtil.toBean(result, ApLogDTO.class);
apLogDTO.setItem(activityPopularizeItemBiz.selectById(apLogDTO.getItemId()));
});
}
return pageDataVO;
}
......
package com.xxfc.platform.activity.biz;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import com.xxfc.platform.activity.entity.ActivityPopularizeRelation;
import com.xxfc.platform.activity.mapper.ActivityPopularizeRelationMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
......@@ -29,4 +28,9 @@ public class ActivityPopularizeRelationBiz extends BaseBiz<ActivityPopularizeRel
}
return activityPopularizeRelationDTOS;
}
public Integer getByUserIdAndPopularizeId(ActivityPopularizeRelation activityPopularizeRelation) {
Integer num = mapper.getByUserIdAndPopularizeId(activityPopularizeRelation);
return num == null ? 1 : num;
}
}
\ No newline at end of file
......@@ -17,4 +17,6 @@ import java.util.List;
public interface ActivityPopularizeRelationMapper extends Mapper<ActivityPopularizeRelation> {
List<ActivityPopularizeRelationDTO> findActivityPopularizeRelationsByActivityIdAndTime(@Param("activityId") Integer activityId, @Param("startTime") Long startTime, @Param("endTime") Long endTime);
Integer getByUserIdAndPopularizeId(ActivityPopularizeRelation activityPopularizeRelation);
}
......@@ -28,13 +28,14 @@ import org.springframework.web.bind.annotation.*;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.weekend.WeekendSqls;
import java.util.ArrayList;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.*;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_FALSE;
import static com.github.wxiaoqi.security.common.constant.CommonConstants.SYS_TRUE;
@RestController
@RequestMapping("activityPopularize")
......@@ -111,12 +112,23 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
.stream().map(item -> {
ItemVO itemVO = BeanUtil.toBean(item, ItemVO.class);
itemVO.setStatus(SYS_FALSE);
if(null != apu[0]) {
ActivityPopularizeLog log = aplMap[0].get(item.getId());
if(null != log && SYS_TRUE.equals(log.getStatus())) {
itemVO.setStatus(SYS_TRUE);
}
}
if (null != appUserDTO) {
ActivityPopularizeLog activityPopularizeLog = popularizeLogBiz.selectByUserIdAndPopularIdAndItemId(new ActivityPopularizeLog(){{
setUserId(appUserDTO.getUserid());
setPopularizeId(v.getId());
setItemId(item.getId());
}});
if (activityPopularizeLog != null) {
itemVO.setStatus(activityPopularizeLog.getStatus());
}
}
return itemVO;
}).collect(Collectors.toList()));
return vo;
......@@ -149,7 +161,7 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
activityPopularizeUser = popularizeUserBiz.insertSelectiveReT(new ActivityPopularizeUser(){{
setPopularizeId(itemAddDTO.getPopularizeId());
setUserId(getAppUser().getUserid());
setEndProgress(ap.getProgress());
setEndProgress(new BigDecimal(ap.getProgress()));
}});
}
......@@ -176,7 +188,7 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
ActivityPopularizeItem item1 = popularizeItemBiz.selectById(al.getItemId());
progress += item1.getProgress();
}
activityPopularizeUser.setCurrentProgress(progress);
activityPopularizeUser.setCurrentProgress(new BigDecimal(progress));
popularizeUserBiz.updateSelectiveById(activityPopularizeUser);
return ObjectRestResponse.succ();
}
......
......@@ -25,4 +25,8 @@
and <![CDATA[ `crt_time` <= #{endTime}]]>
</if>
</select>
<select id="getByUserIdAndPopularizeId" parameterType="com.xxfc.platform.activity.entity.ActivityPopularizeRelation" resultType="Integer">
select num from activity_popularize_relation where major_user_id = #{majorUserId} and popularize_id = #{popularizeId} ORDER BY crt_time DESC LIMIT 1
</select>
</mapper>
\ No newline at end of file
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