修改活动管理新增编辑接口

dongdingding
吴顺杰 12 months ago
parent ae452e87fb
commit 9af2cc90b4

@ -22,7 +22,7 @@ public interface ActivityUserMapper {
*
* @param list
*/
void addList(List<BActivityUser> list);
void add(BActivityUser list);
/**
*

@ -31,7 +31,9 @@ public class ActivityUserServiceImpl implements ActivityUserService {
*/
@Override
public void addList(List<BActivityUser> list) {
activityUserMapper.addList(list);
for (BActivityUser user : list) {
activityUserMapper.add(user);
}
}
/**

@ -1,6 +1,8 @@
package com.ruoyi.zhiyuanzhe.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.zhiyuanzhe.domain.BActivity;
@ -16,6 +18,7 @@ import com.ruoyi.zhiyuanzhe.service.IBPersonTagsService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.List;
/**
@ -79,15 +82,61 @@ public class BActivityServiceImpl implements IBActivityService {
public void insertBActivity(BActivity bActivity) {
bActivity.setCreateTime(DateUtils.getNowDate());
bActivityMapper.insertBActivity(bActivity);
int score = getScore(bActivity);
// 获取匹配到的人员
List<BActivityUser> list = personTagsService.findByTags(bActivity);
list.forEach(x -> {
x.setStatus(0);
if (score != 0) {
BigDecimal mul = NumberUtil.mul(NumberUtil.div(x.getDegreeOfMatch(), score, 0), 100);
x.setDegreeOfMatch(mul);
}
x.setActivityId(bActivity.getId());
});
activityUserService.addList(list);
}
/**
*
*
* @param bActivity
* @return
*/
private int getScore(BActivity bActivity) {
int score = 0;
if (StrUtil.isNotEmpty(bActivity.getAgeRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getHousingRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getEducationRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getInterestRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getPoliticalRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getSexRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getNationalityRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getProfessionalRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getIndustryRange())) {
score++;
}
if (StrUtil.isNotEmpty(bActivity.getSchoolRange())) {
score++;
}
return score;
}
/**
*
*
@ -99,10 +148,15 @@ public class BActivityServiceImpl implements IBActivityService {
bActivity.setUpdateTime(DateUtils.getNowDate());
// 删除所有人员
activityUserService.delByActivityId(bActivity.getId());
int score = getScore(bActivity);
// 获取匹配到的人员
List<BActivityUser> list = personTagsService.findByTags(bActivity);
list.forEach(x -> {
x.setStatus(0);
if (score != 0) {
BigDecimal mul = NumberUtil.mul(NumberUtil.div(x.getDegreeOfMatch(), score, 0), 100);
x.setDegreeOfMatch(mul);
}
x.setActivityId(bActivity.getId());
});
activityUserService.addList(list);

@ -5,7 +5,7 @@
<mapper namespace="com.ruoyi.zhiyuanzhe.mapper.ActivityUserMapper">
<insert id="addList" parameterType="BActivityUser" useGeneratedKeys="true" keyProperty="id">
<insert id="add" parameterType="BActivityUser" useGeneratedKeys="true" keyProperty="id">
insert into b_activity_user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="activityId != null">activity_id,</if>

@ -86,7 +86,7 @@
</select>
<select id="findByTags" resultType="BActivityUser">
SELECT u_id,
SELECT u_id uId,
(
CASE
WHEN age_range = #{req.ageRange} THEN
@ -138,7 +138,7 @@
1
ELSE 0
END
) AS count
) AS degreeOfMatch
FROM b_person_tags
WHERE (
<if test="req.ageRange != null and req.ageRange != ''">

Loading…
Cancel
Save