diff --git a/ad-platform-gateway/src/main/java/com/baiye/config/ArithmeticCaptchaAbstractRewrite.java b/ad-platform-gateway/src/main/java/com/baiye/config/ArithmeticCaptchaAbstractRewrite.java new file mode 100644 index 00000000..0d085455 --- /dev/null +++ b/ad-platform-gateway/src/main/java/com/baiye/config/ArithmeticCaptchaAbstractRewrite.java @@ -0,0 +1,51 @@ +package com.baiye.config; + +import com.wf.captcha.base.Captcha; + +import javax.script.ScriptEngine; +import javax.script.ScriptEngineManager; +import javax.script.ScriptException; + +/** + * 验证码源码复制重写{@link ArithmeticCaptchaRewrite} 待修改 + */ +public abstract class ArithmeticCaptchaAbstractRewrite extends Captcha { + private String arithmeticString; + + public ArithmeticCaptchaAbstractRewrite() { + this.setLen(2); + } + + protected char[] alphas() { + StringBuilder sb = new StringBuilder(); + + for (int i = 0; i < this.len; ++i) { + sb.append(num(10)); + if (i < this.len - 1) { + sb.append("+"); + } + } + + ScriptEngineManager manager = new ScriptEngineManager(); + ScriptEngine engine = manager.getEngineByName("javascript"); + + try { + this.chars = String.valueOf(engine.eval(sb.toString().replaceAll("x", "*"))); + } catch (ScriptException var5) { + var5.printStackTrace(); + } + + sb.append("=?"); + this.arithmeticString = sb.toString(); + return this.chars.toCharArray(); + } + + public String getArithmeticString() { + this.checkAlpha(); + return this.arithmeticString; + } + + public void setArithmeticString(String arithmeticString) { + this.arithmeticString = arithmeticString; + } +} diff --git a/ad-platform-gateway/src/main/java/com/baiye/config/ArithmeticCaptchaRewrite.java b/ad-platform-gateway/src/main/java/com/baiye/config/ArithmeticCaptchaRewrite.java new file mode 100644 index 00000000..a54ed77e --- /dev/null +++ b/ad-platform-gateway/src/main/java/com/baiye/config/ArithmeticCaptchaRewrite.java @@ -0,0 +1,82 @@ +package com.baiye.config; + +import java.awt.Color; +import java.awt.Font; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.RenderingHints; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.OutputStream; +import javax.imageio.ImageIO; + +/** + * 验证码源码复制重写{@link ArithmeticCaptchaAbstractRewrite} 待修改 + */ +public class ArithmeticCaptchaRewrite extends ArithmeticCaptchaAbstractRewrite { + public ArithmeticCaptchaRewrite() { + } + + public ArithmeticCaptchaRewrite(int width, int height) { + this(); + this.setWidth(width); + this.setHeight(height); + } + + public ArithmeticCaptchaRewrite(int width, int height, int len) { + this(width, height); + this.setLen(len); + } + + public ArithmeticCaptchaRewrite(int width, int height, int len, Font font) { + this(width, height, len); + this.setFont(font); + } + + public boolean out(OutputStream out) { + this.checkAlpha(); + return this.graphicsImage(this.getArithmeticString().toCharArray(), out); + } + + public String toBase64() { + return this.toBase64("data:image/png;base64,"); + } + + private boolean graphicsImage(char[] strs, OutputStream out) { + try { + BufferedImage bi = new BufferedImage(this.width, this.height, 1); + Graphics2D g2d = (Graphics2D)bi.getGraphics(); + g2d.setColor(Color.WHITE); + g2d.fillRect(0, 0, this.width, this.height); + g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); + this.drawOval(2, g2d); + g2d.setFont(this.getFont()); + FontMetrics fontMetrics = g2d.getFontMetrics(); + int fW = this.width / strs.length; + int fSp = (fW - (int)fontMetrics.getStringBounds("8", g2d).getWidth()) / 2; + + for(int i = 0; i < strs.length; ++i) { + g2d.setColor(this.color()); + int fY = this.height - (this.height - (int)fontMetrics.getStringBounds(String.valueOf(strs[i]), g2d).getHeight() >> 1); + g2d.drawString(String.valueOf(strs[i]), i * fW + fSp + 3, fY - 3); + } + + g2d.dispose(); + ImageIO.write(bi, "png", out); + out.flush(); + boolean var20 = true; + return var20; + } catch (IOException var18) { + var18.printStackTrace(); + } finally { + try { + out.close(); + } catch (IOException var17) { + var17.printStackTrace(); + } + + } + + return false; + } +} diff --git a/ad-platform-gateway/src/main/java/com/baiye/config/KaptchaTextCreator.java b/ad-platform-gateway/src/main/java/com/baiye/config/KaptchaTextCreator.java index 9cda7803..9816b665 100644 --- a/ad-platform-gateway/src/main/java/com/baiye/config/KaptchaTextCreator.java +++ b/ad-platform-gateway/src/main/java/com/baiye/config/KaptchaTextCreator.java @@ -48,7 +48,8 @@ public class KaptchaTextCreator { switch (captchaConfig.getCodeType()) { case arithmetic: // 算术类型 https://gitee.com/whvse/EasyCaptcha - captcha = new ArithmeticCaptcha(captchaConfig.getWidth(), captchaConfig.getHeight()); + //captcha = new ArithmeticCaptcha(captchaConfig.getWidth(), captchaConfig.getHeight()); + captcha = new ArithmeticCaptchaRewrite(captchaConfig.getWidth(), captchaConfig.getHeight()); // 几位数运算,默认是两位 captcha.setLen(captchaConfig.getLength()); break; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/rest/OrganizeController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/rest/OrganizeController.java index 97c8d5ca..cb545110 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/rest/OrganizeController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/rest/OrganizeController.java @@ -1,9 +1,7 @@ package com.baiye.modules.platform.rest; -import com.baiye.annotation.Inner; import com.baiye.http.CommonResponse; import com.baiye.http.ResponseCode; -import com.baiye.model.dto.ClueDto; import com.baiye.model.dto.OrganizeQueryCriteria; import com.baiye.modules.platform.domain.Organize; import com.baiye.modules.platform.domain.OrganizeUser; diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/OrganizeService.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/OrganizeService.java index 0449b927..56ca1008 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/OrganizeService.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/OrganizeService.java @@ -133,6 +133,7 @@ public interface OrganizeService { Map findNameById(Set organizeIds); Map> findMemberIdByOrganizeIds(List organizeIds); + /** * 根据用户id查询组id(有权限查看组员信息,并且是组长) */ diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java index 22f3e5a9..b6a3c512 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/platform/service/impl/OrganizeServiceImpl.java @@ -551,7 +551,6 @@ public class OrganizeServiceImpl implements OrganizeService { // 判断角色,管理员只查组长角色的用户 if (roleId.equals(RoleNumberConstants.MINUS_EIGHT_NUMBER) || roleId.equals(RoleNumberConstants.MINUS_TEN_NUMBER)) { roles.add(RoleNumberConstants.MINUS_NINE_NUMBER); - roles.add(RoleNumberConstants.MINUS_TEN_NUMBER); } else { roles.add(RoleNumberConstants.MINUS_FIVE_NUMBER); } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/service/QueryReportService.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/service/QueryReportService.java index 030549c4..bd5e5a0f 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/service/QueryReportService.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/service/QueryReportService.java @@ -5,7 +5,6 @@ import com.baiye.modules.report.entity.dto.StatisticalReportDTO; import javax.servlet.http.HttpServletResponse; import java.util.List; -import java.util.Map; /** * @author wujingtao @@ -15,25 +14,17 @@ public interface QueryReportService { /** * 所有资源 - * - * @return */ CommonResponse getReportByAll(); /** * 按条件获取任务统计信息 - * - * @param s - * @return */ CommonResponse getReportByTask(StatisticalReportDTO s); /** * 导出任务文件 - * - * @param response - * @param s */ void downloadTaskReport(HttpServletResponse response, StatisticalReportDTO s); @@ -41,79 +32,41 @@ public interface QueryReportService { /** * 管理员按小组统计 - * - * @param s - * @return */ CommonResponse getReportByOrganize(StatisticalReportDTO s); /** * 导出小组文件 - * - * @param response - * @param s */ void downloadOrganizeReport(HttpServletResponse response, StatisticalReportDTO s); /** * 获取成员接通信息 - * - * @param beginTime - * @param endTime - * @param memberId - * @return */ CommonResponse getMemberReport(String beginTime, String endTime, Long memberId); /** * 获取成员近一个月接通信息 - * - * @param memberId - * @return */ CommonResponse getMemberReportByMonth(Long memberId); /** * 导出成员统计 - * - * @param response - * @param beginTime - * @param endTime - * @param memberId - * @return */ void downloadMemberReport(HttpServletResponse response, String beginTime, String endTime, Long memberId); /** * 统计接通过的线索 - * - * @param clueIds - * @return */ CommonResponse> getTurnOnIds(List clueIds); /** * 查询线索的通话详情 - * - * @param clueId - * @return */ CommonResponse getCallRecordDetails(Long clueId); /** * 导出线索的通话记录详情 - * - * @param response - * @param clueId */ void downloadCallRecordDetails(HttpServletResponse response, Long clueId); - - Map> findMemberIdByOrganizeIds(List organizeIds); - - /** - * 删除所有的统计信息 - * - * @param companyId - */ - void deleteReport(Long companyId); } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/service/impl/QueryReportServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/service/impl/QueryReportServiceImpl.java index 338d09dc..d95a350c 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/service/impl/QueryReportServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/report/service/impl/QueryReportServiceImpl.java @@ -3,7 +3,6 @@ package com.baiye.modules.report.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; @@ -17,7 +16,6 @@ import com.baiye.http.CommonResponse; import com.baiye.model.enums.ClueStageEnum; import com.baiye.model.enums.ResponseCode; import com.baiye.model.vo.ResSourceLabel; -import com.baiye.modules.platform.repository.OrganizeUserRepository; import com.baiye.modules.report.dao.TaskReportRepository; import com.baiye.modules.report.dao.UserReportRepository; import com.baiye.modules.report.entity.TaskReport; @@ -31,7 +29,6 @@ import com.baiye.modules.platform.domain.Clue; import com.baiye.modules.platform.domain.Organize; import com.baiye.modules.platform.domain.Task; import com.baiye.modules.system.domain.User; -import com.baiye.modules.platform.domain.OrganizeUser; import com.baiye.modules.platform.repository.OrganizeRepository; import com.baiye.modules.platform.repository.TaskRepository; import com.baiye.modules.system.repository.UserRepository; @@ -50,7 +47,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.*; @@ -69,7 +65,6 @@ public class QueryReportServiceImpl implements QueryReportService { private final TaskRepository taskRepository; private final AllCallInfoRepository allCallInfoRepository; - private final OrganizeUserRepository organizeUserRepository; private final TaskReportRepository taskReportRepository; private final OrganizeRepository organizeRepository; private final UserReportRepository userReportRepository; @@ -905,29 +900,4 @@ public class QueryReportServiceImpl implements QueryReportService { public User getMember(Long id) { return userRepository.findUserById(id); } - - @Override - public Map> findMemberIdByOrganizeIds(List organizeIds) { - List byIdIn = organizeRepository.findByIdIn(organizeIds); - - List userIdByOrganizeId = organizeUserRepository.findUserIdByOrganizeId(organizeIds); - HashMap> mapByOrganize = new HashMap<>(userIdByOrganizeId.stream().collect(Collectors.groupingBy(OrganizeUser::getOrganizeId, Collectors.toList()))); - Map> map = new HashMap<>(); - for (Organize organize : byIdIn) { - Map mapUser = new HashMap<>(); - mapUser.put("name", organize.getOrganizeName()); - List organizeUsers = mapByOrganize.get(organize.getId()); - List collect = organizeUsers.stream().map(OrganizeUser::getUserId).collect(Collectors.toList()); - mapUser.put("memberIds", collect); - map.put(organize.getId(), mapUser); - } - return map; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void deleteReport(Long companyId) { - taskReportRepository.deleteByCompanyId(companyId); - userReportRepository.deleteByCompanyId(companyId); - } } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserController.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserController.java index e36143c2..b23f74a3 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserController.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/controller/UserController.java @@ -22,6 +22,7 @@ import com.baiye.constant.AdPlatFormConstants; import com.baiye.constant.DefaultNumberConstants; import com.baiye.constant.RoleNumberConstants; import com.baiye.exception.BadRequestException; +import com.baiye.model.dto.DelUserDTO; import com.baiye.model.dto.RoleSmallDto; import com.baiye.model.dto.UserDto; import com.baiye.model.dto.UserFavorOfExcel; @@ -176,19 +177,17 @@ public class UserController { return new ResponseEntity<>(HttpStatus.OK); } - @ApiOperation("删除用户") @DeleteMapping @PreAuthorize("@el.check('user:del')") - public ResponseEntity delete(@RequestBody Set ids) { - for (Long id : ids) { - Integer currentLevel = Collections.min(roleService.findByUsersId(SecurityUtils.getCurrentUserId()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList())); - Integer optLevel = Collections.min(roleService.findByUsersId(id).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList())); - if (currentLevel > optLevel) { - throw new BadRequestException("角色权限不足,不能删除:" + userService.findById(id).getUsername()); - } + public ResponseEntity delete(@Validated @RequestBody DelUserDTO delUserDTO) { + Long userId = delUserDTO.getUserId(); + Integer currentLevel = Collections.min(roleService.findByUsersId(SecurityUtils.getCurrentUserId()).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList())); + Integer optLevel = Collections.min(roleService.findByUsersId(userId).stream().map(RoleSmallDto::getLevel).collect(Collectors.toList())); + if (currentLevel > optLevel) { + throw new BadRequestException("角色权限不足,不能删除:" + userService.findById(userId).getUsername()); } - userService.delete(ids); + userService.delete(delUserDTO); return new ResponseEntity<>(HttpStatus.OK); } diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/UserService.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/UserService.java index 61107428..3163e838 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/UserService.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/UserService.java @@ -16,6 +16,7 @@ package com.baiye.modules.system.service; import cn.hutool.core.date.DateTime; +import com.baiye.model.dto.DelUserDTO; import com.baiye.model.dto.UserDto; import com.baiye.model.dto.UserFavorOfExcel; import com.baiye.modules.system.domain.User; @@ -66,9 +67,9 @@ public interface UserService { /** * 删除用户 * - * @param ids / + * @param delUserDTO / */ - void delete(Set ids); + void delete(DelUserDTO delUserDTO); /** * 根据用户名查询 diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java index 3aca700f..8c4a7ce1 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java @@ -37,6 +37,11 @@ import com.baiye.model.enums.ResponseCode; import com.baiye.modules.platform.domain.*; import com.baiye.modules.platform.repository.*; import com.baiye.modules.platform.service.*; +import com.baiye.modules.platform.service.dto.*; +import com.baiye.modules.report.dao.TaskReportRepository; +import com.baiye.modules.report.dao.UserReportRepository; +import com.baiye.modules.report.service.QueryReportService; +import com.baiye.modules.system.mapstruct.UserMapper; import com.baiye.modules.platform.service.dto.BuyComboDTO; import com.baiye.modules.platform.service.dto.CompanyDto; import com.baiye.modules.platform.service.dto.CreateUserDTO; @@ -55,11 +60,13 @@ import com.google.common.collect.Sets; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.cache.Cache; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; @@ -120,12 +127,13 @@ public class UserServiceImpl implements UserService { private final TaskOrganizeRepository taskOrganizeRepository; private final TaskUserDistributionRepository taskUserDistributionRepository; - + private final TaskReportRepository taskReportRepository; + private final UserReportRepository userReportRepository; private final ExtensionNumberService extensionNumberService; - // private final QueryReportService queryReportService; private final TaskImeiService taskImeiService; private final TaskTagRepository taskTagRepository; + @Override @Transactional(rollbackFor = Exception.class) public Boolean fileCreateUser(List excels, Long companyId, UserDto userDto) { @@ -536,10 +544,8 @@ public class UserServiceImpl implements UserService { delCaches(user.getId(), user.getUsername()); } - - @Override @Transactional(rollbackFor = Exception.class) - public void delete(Set ids) { + public void delete2(Set ids) { for (Long id : ids) { // 清理缓存 UserDto user = findById(id); @@ -553,11 +559,9 @@ public class UserServiceImpl implements UserService { userRepository.deleteAllByIdIn(ids); } - /** - * TODO 删除用户 - */ + @Override @Transactional(rollbackFor = Exception.class) - public void delete2(DelUserDTO delUserDTO) { + public void delete(DelUserDTO delUserDTO) { Long userId = delUserDTO.getUserId(); Long replaceUserId = delUserDTO.getReplaceUserId(); UserDto user = findById(userId); @@ -602,7 +606,8 @@ public class UserServiceImpl implements UserService { //11、删除分机号 extensionNumberService.deleteExtensionNumberByCompany(user.getCompanyId()); //12、删除统计信息 - //.deleteReport(user.getCompanyId()); + taskReportRepository.deleteByCompanyId(user.getCompanyId()); + userReportRepository.deleteByCompanyId(user.getCompanyId()); //13.删除imei和tag taskImeiService.deleteTaskImei(taskIds); taskTagRepository.deleteByTaskIds(taskIds); @@ -610,7 +615,7 @@ public class UserServiceImpl implements UserService { } else if (roleIds.contains(RoleNumberConstants.MINUS_NINE_NUMBER)) { // 二: 删除或者替换组长 if (replaceUserId == null) throw new BadRequestException("请选择替换组长"); - if (CollUtil.isNotEmpty(replaceRoleIds) && !roleIds.contains(RoleNumberConstants.MINUS_NINE_NUMBER)) + if (CollUtil.isNotEmpty(replaceRoleIds) && !replaceRoleIds.contains(RoleNumberConstants.MINUS_NINE_NUMBER)) throw new BadRequestException("请选择组长角色的用户"); organizeUserRepository.updateUser(userId, replaceUserId); organizeUserRepository.updateCreateBy(replaceUserId, userId); @@ -618,7 +623,11 @@ public class UserServiceImpl implements UserService { } else if (roleIds.contains(RoleNumberConstants.MINUS_FIVE_NUMBER)) { // 三: 删除或者替换业务员 if (replaceUserId == null) organizeUserRepository.deleteByUserId(userId); - else organizeUserRepository.updateUser(userId, replaceUserId); + else { + if (replaceRoleIds.contains(RoleNumberConstants.MINUS_NINE_NUMBER)) + organizeUserRepository.deleteByUserId(userId); + else organizeUserRepository.updateUser(userId, replaceUserId); + } this.sourceDel(userId, replaceUserId); } //分机号 diff --git a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionNumberRepository.java b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionNumberRepository.java index 24ced4f2..8b807ab3 100644 --- a/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionNumberRepository.java +++ b/ad-platform-manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/dao/ExtensionNumberRepository.java @@ -62,6 +62,6 @@ public interface ExtensionNumberRepository extends JpaRepository 0) extensionNumberRepository.updateExtensionNumber(0, replaceUserId); extensionUserRepository.updateByNumber(userId, replaceUserId); - int i = extensionNumberRepository.updateExtensionNumber(0, replaceUserId); - if (i > 0) { - extensionUserRepository.deleteByMemberId(replaceUserId); - } } } } diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/dto/DelUserDTO.java b/ad-platform-pojo/src/main/java/com/baiye/model/dto/DelUserDTO.java index 6af88c34..84a3b907 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/dto/DelUserDTO.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/dto/DelUserDTO.java @@ -3,10 +3,14 @@ package com.baiye.model.dto; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotNull; +import java.util.Set; + @Data public class DelUserDTO { @ApiModelProperty("删除的用户ID") + @NotNull(message = "删除用户ID不能尅空") private Long userId; @ApiModelProperty("替换人用户ID") diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java index fd236b3e..b4b8bb00 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/dao/ClueMiddleRepository.java @@ -142,8 +142,8 @@ public interface ClueMiddleRepository extends JpaRepository, J /** * 查询任务数量 */ - @Query(value = "SELECT task_id,count(*) FROM `tb_clue_middle` where task_id in ?1 GROUP BY task_id", nativeQuery = true) - Map findTaskIdCount(Set taskIds); + @Query(value = "SELECT task_id as taskId,count(*) as num FROM `tb_clue_middle` where task_id in ?1 GROUP BY task_id", nativeQuery = true) + List> findTaskIdCount(Set taskIds); @Query(value = " select * from tb_clue_middle where (clue_stage_time between ?2 and ?3) and task_id in ?1 and (coalesce (?4,null) is null or clue_stage =?4)", nativeQuery = true) diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java index b9c7b807..3816b961 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ClueServiceImpl.java @@ -33,6 +33,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import java.math.BigInteger; import java.text.SimpleDateFormat; import java.util.*; import java.util.stream.Collectors; @@ -530,7 +531,14 @@ public class ClueServiceImpl implements ClueService { clueMiddleRepository.deleteByMemberId(userId); //3、删除拓客或者DMP资源数据 clueTalkRepository.deleteByMemberId(userId); - return clueMiddleRepository.findTaskIdCount(taskIds); + List> mapList = clueMiddleRepository.findTaskIdCount(taskIds); + Map taskCount = new HashMap<>(); + for (Map map : mapList) { + BigInteger taskId = (BigInteger)map.get("taskId"); + BigInteger num = (BigInteger)map.get("num"); + taskCount.put(taskId.longValue(), num.intValue()); + } + return taskCount; } public void delete(List clueAll, Set clueIds) { diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ReportCrmServiceImpl.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ReportCrmServiceImpl.java index b7bd00ce..6c5f4f2f 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ReportCrmServiceImpl.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/module/service/impl/ReportCrmServiceImpl.java @@ -257,8 +257,8 @@ public class ReportCrmServiceImpl implements ReportCrmService { Double turnoverAmount = 0.00; Double actualAmount = 0.00; for (TurnoverRecord turnoverRecord : turnoverRecords) { - NumberUtil.add(turnoverAmount, turnoverRecord.getTurnoverAmount()); - NumberUtil.add(actualAmount, turnoverRecord.getActualAmount()); + turnoverAmount = NumberUtil.add(turnoverAmount, turnoverRecord.getTurnoverAmount()); + actualAmount = NumberUtil.add(actualAmount, turnoverRecord.getActualAmount()); } UploadCrmTurnoverDTO uploadCrmTurnoverDTO = new UploadCrmTurnoverDTO(); uploadCrmTurnoverDTO.setMemberName(memberName); diff --git a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/task/ClueBackupsTask.java b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/task/ClueBackupsTask.java index 2643d2d0..ab3e32e8 100644 --- a/ad-platform-services/ad-platform-source/src/main/java/com/baiye/task/ClueBackupsTask.java +++ b/ad-platform-services/ad-platform-source/src/main/java/com/baiye/task/ClueBackupsTask.java @@ -1,10 +1,10 @@ package com.baiye.task; import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; import com.baiye.constant.FileConstant; import com.baiye.model.dto.ClueDto; import com.baiye.module.dao.ClueBackupsRepository; -import com.baiye.module.entity.Clue; import com.baiye.module.entity.ClueBackups; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -15,6 +15,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 备份资源异步任务 @@ -34,6 +35,11 @@ public class ClueBackupsTask { for (ClueDto clue : clueAll) { ClueBackups clueBackups = new ClueBackups(); BeanUtils.copyProperties(clue, clueBackups,"createTime"); + Object sourceLabel = clue.getSourceLabel(); + if (!Objects.isNull(sourceLabel)){ + List label = JSONUtil.toList(JSONUtil.parseArray(sourceLabel), String.class); + clueBackups.setSourceLabel(label); + } list.add(clueBackups); if (list.size() >= FileConstant.ONE_THOUSAND_NUMBER){ clueBackupsRepository.saveAll(list); diff --git a/ad-platform-services/ad-platform-source/src/main/resources/application-test.yml b/ad-platform-services/ad-platform-source/src/main/resources/application-test.yml index e6948360..c2c23282 100644 --- a/ad-platform-services/ad-platform-source/src/main/resources/application-test.yml +++ b/ad-platform-services/ad-platform-source/src/main/resources/application-test.yml @@ -66,7 +66,7 @@ storage: de_symbol: / download-template: http://8.130.96.163:8001/source/download/1/custom.xlsx download-template-move: http://8.130.96.163:8001/source/download/1/dynamictemplate.xlsx - download-template-toker: /usr/local/webapp/ad-platform/ad-platform-source/toker.xlsx + download-template-toker: http://8.130.96.163:8001/source/download/1/toker.xlsx download-auditing-file: http://8.130.96.163:8001/source/auditingFiles/ private-key: /usr/local/webapp/platform/source/template/privatekey