|
|
@ -1,5 +1,6 @@ |
|
|
|
package com.elink.esua.epdc.service.impl; |
|
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil; |
|
|
|
import com.elink.esua.epdc.async.WxMaSecCheckTask; |
|
|
|
import com.elink.esua.epdc.common.token.dto.TokenDto; |
|
|
|
import com.elink.esua.epdc.commons.tools.enums.BehaviorEnum; |
|
|
@ -14,11 +15,10 @@ import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; |
|
|
|
import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO; |
|
|
|
import com.elink.esua.epdc.dto.issue.form.*; |
|
|
|
import com.elink.esua.epdc.dto.issue.result.*; |
|
|
|
import com.elink.esua.epdc.feign.AdminFeignClient; |
|
|
|
import com.elink.esua.epdc.feign.IssueFeignClient; |
|
|
|
import com.elink.esua.epdc.feign.OssFeignClient; |
|
|
|
import com.elink.esua.epdc.feign.PointsFeignClient; |
|
|
|
import com.elink.esua.epdc.dto.item.result.ItemResultDTO; |
|
|
|
import com.elink.esua.epdc.feign.*; |
|
|
|
import com.elink.esua.epdc.service.IssueService; |
|
|
|
import com.elink.esua.epdc.user.dto.epdc.form.EpdcUserMatchTagFormDTO; |
|
|
|
import com.elink.esua.epdc.utils.UserTagUtils; |
|
|
|
import me.chanjar.weixin.mp.api.WxMpMaterialService; |
|
|
|
import me.chanjar.weixin.mp.api.WxMpService; |
|
|
@ -32,9 +32,12 @@ import java.io.IOException; |
|
|
|
import java.io.InputStream; |
|
|
|
import java.util.Base64; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Optional; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* 议题模块 |
|
|
|
* |
|
|
|
* @Author LC |
|
|
|
* @Date 2019/9/6 20:15 |
|
|
|
*/ |
|
|
@ -59,6 +62,9 @@ public class IssueServiceImpl implements IssueService { |
|
|
|
@Autowired |
|
|
|
private PointsFeignClient pointFeignClient; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private UserFeignClient userFeignClient; |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
public Result saveEvent(TokenDto userDetail, EpdcEventSubmitFormDTO formDto) { |
|
|
@ -72,7 +78,7 @@ public class IssueServiceImpl implements IssueService { |
|
|
|
// 查询当前时间前10分钟内的数据
|
|
|
|
Result<IssueDetailResultDTO> r = issueFeignClient.getIssueMaxNew(userIdDto); |
|
|
|
IssueDetailResultDTO d = r.getData(); |
|
|
|
if(d != null && !StringUtils.isBlank(d.getId())){ |
|
|
|
if (d != null && !StringUtils.isBlank(d.getId())) { |
|
|
|
return new Result().error("十分钟之内不能多次发起议题"); |
|
|
|
} |
|
|
|
|
|
|
@ -107,11 +113,11 @@ public class IssueServiceImpl implements IssueService { |
|
|
|
formDto.setUserId(userDetail.getUserId()); |
|
|
|
formDto.setNickName(userDetail.getNickname()); |
|
|
|
formDto.setUserFace(userDetail.getFaceImg()); |
|
|
|
if (UserTagUtils.containIdentity(userDetail.getUserTagInfos(), UserTagEnum.PARTY_MEMBER)) { |
|
|
|
formDto.setIsPartyMember(YesOrNoEnum.YES.value()); |
|
|
|
} else { |
|
|
|
formDto.setIsPartyMember(YesOrNoEnum.NO.value()); |
|
|
|
} |
|
|
|
if (UserTagUtils.containIdentity(userDetail.getUserTagInfos(), UserTagEnum.PARTY_MEMBER)) { |
|
|
|
formDto.setIsPartyMember(YesOrNoEnum.YES.value()); |
|
|
|
} else { |
|
|
|
formDto.setIsPartyMember(YesOrNoEnum.NO.value()); |
|
|
|
} |
|
|
|
formDto.setMobile(userDetail.getMobile()); |
|
|
|
|
|
|
|
return issueFeignClient.submitEvent(formDto); |
|
|
@ -123,7 +129,29 @@ public class IssueServiceImpl implements IssueService { |
|
|
|
return new Result<List<IssueResultDTO>>().error("获取用户信息失败"); |
|
|
|
} |
|
|
|
formDto.setDeptId(userDetail.getGridId()); |
|
|
|
return issueFeignClient.listIssues(formDto); |
|
|
|
Result<List<IssueResultDTO>> listIssueRes = issueFeignClient.listIssues(formDto); |
|
|
|
Optional.of(listIssueRes.getData()).ifPresent( |
|
|
|
issueList -> { |
|
|
|
List<String> userIdList = issueList.stream().filter(item -> YesOrNoEnum.YES.value().equals(item.getPartyFlag())).map(IssueResultDTO::getUserId).distinct().collect(Collectors.toList()); |
|
|
|
if (CollUtil.isNotEmpty(userIdList)) { |
|
|
|
EpdcUserMatchTagFormDTO form = new EpdcUserMatchTagFormDTO(); |
|
|
|
form.setUserIdList(userIdList); |
|
|
|
form.setUserTagValue(UserTagEnum.PARTY_STANDARD_BEARER.value()); |
|
|
|
Result<List<String>> filterByTagRes = userFeignClient.filterUserIdListByTag(form); |
|
|
|
List<String> filter = filterByTagRes.getData(); |
|
|
|
if (filterByTagRes.success() && null != filter && CollUtil.isNotEmpty(filter)) { |
|
|
|
issueList.forEach( |
|
|
|
item -> { |
|
|
|
if (filter.contains(item.getUserId())) { |
|
|
|
item.setStandardBearerFlag(YesOrNoEnum.YES.value()); |
|
|
|
} |
|
|
|
} |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
); |
|
|
|
return listIssueRes; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -138,9 +166,9 @@ public class IssueServiceImpl implements IssueService { |
|
|
|
wxMaSecCheckTask.checkImage(file); |
|
|
|
// 转base64
|
|
|
|
in = new FileInputStream(file); |
|
|
|
byte[] bytes=new byte[(int)file.length()]; |
|
|
|
byte[] bytes = new byte[(int) file.length()]; |
|
|
|
in.read(bytes); |
|
|
|
base64 = "data:image/png;base64,"+Base64.getEncoder().encodeToString(bytes); |
|
|
|
base64 = "data:image/png;base64," + Base64.getEncoder().encodeToString(bytes); |
|
|
|
// 图片上传至OSS
|
|
|
|
UploadFormDTO formDTO = new UploadFormDTO(); |
|
|
|
formDTO.setBase64String(base64); |
|
|
@ -162,7 +190,7 @@ public class IssueServiceImpl implements IssueService { |
|
|
|
@Override |
|
|
|
public Result statement(StatementFormDTO formDto) { |
|
|
|
// 积分埋点 点赞
|
|
|
|
if("0".equals(formDto.getAttitude())){ |
|
|
|
if ("0".equals(formDto.getAttitude())) { |
|
|
|
PointLogFormDTO pointLogFormDTO = new PointLogFormDTO(); |
|
|
|
pointLogFormDTO.setType(BehaviorEnum.POINTS_GIVE_RULES.getValue()); |
|
|
|
pointLogFormDTO.setUserId(formDto.getUserId()); |
|
|
|