diff --git a/ad-platform-common/ad-platform-common-auth/src/main/java/com/baiye/service/UserDetailsServiceImpl.java b/ad-platform-common/ad-platform-common-auth/src/main/java/com/baiye/service/UserDetailsServiceImpl.java index 1c25e37c..4b1c9d09 100644 --- a/ad-platform-common/ad-platform-common-auth/src/main/java/com/baiye/service/UserDetailsServiceImpl.java +++ b/ad-platform-common/ad-platform-common-auth/src/main/java/com/baiye/service/UserDetailsServiceImpl.java @@ -23,7 +23,6 @@ import com.baiye.properties.bean.LoginProperties; import lombok.RequiredArgsConstructor; import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.userdetails.UserDetailsService; -import org.springframework.security.core.userdetails.UsernameNotFoundException; import org.springframework.stereotype.Service; import javax.persistence.EntityNotFoundException; @@ -68,10 +67,10 @@ public class UserDetailsServiceImpl implements UserDetailsService { user = remoteUserService.findByName(username); } catch (EntityNotFoundException e) { // SpringSecurity会自动转换UsernameNotFoundException为BadCredentialsException - throw new UsernameNotFoundException("", e); + throw new BadRequestException("用户名或密码不正确"); } if (user == null) { - throw new UsernameNotFoundException(""); + throw new BadRequestException("用户名或密码不正确!"); } else { if (Boolean.FALSE.equals(user.getEnabled())) { throw new BadRequestException("账号未激活!"); @@ -125,10 +124,10 @@ public class UserDetailsServiceImpl implements UserDetailsService { user = remoteUserService.findByName(username); } catch (EntityNotFoundException e) { // SpringSecurity会自动转换UsernameNotFoundException为BadCredentialsException - throw new UsernameNotFoundException("", e); + throw new BadRequestException("用户名或密码不正确"); } if (user == null) { - throw new UsernameNotFoundException(""); + throw new BadRequestException("用户名或密码不正确!"); } else { if (Boolean.FALSE.equals(user.getEnabled())) { throw new BadRequestException("账号未激活!"); diff --git a/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/http/DoubleCallResponse.java b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/http/DoubleCallResponse.java new file mode 100644 index 00000000..233fcfa2 --- /dev/null +++ b/ad-platform-common/ad-platform-common-core/src/main/java/com/baiye/http/DoubleCallResponse.java @@ -0,0 +1,18 @@ +package com.baiye.http; + +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author Enzo + * @date : 2022/2/9 + */ +@Data +@NoArgsConstructor +public class DoubleCallResponse { + private String reason; + private String result; + private String requestId; + private String sessionId; + +} diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/dto/UserDto.java b/ad-platform-pojo/src/main/java/com/baiye/model/dto/UserDto.java index 2bd724a5..68e5faa8 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/dto/UserDto.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/dto/UserDto.java @@ -67,6 +67,8 @@ public class UserDto extends BaseDTO implements Serializable { private Boolean isGroup; + private Boolean isOperator; + private Long companyId; private Integer companyStatus; diff --git a/ad-platform-pojo/src/main/java/com/baiye/model/enums/ResponseCode.java b/ad-platform-pojo/src/main/java/com/baiye/model/enums/ResponseCode.java index ac3127f2..4fc099d3 100644 --- a/ad-platform-pojo/src/main/java/com/baiye/model/enums/ResponseCode.java +++ b/ad-platform-pojo/src/main/java/com/baiye/model/enums/ResponseCode.java @@ -22,6 +22,11 @@ public enum ResponseCode { */ USER_INFORMATION_ERROR("1002", "用户信息错误"), + /** + * 呼叫失败 + */ + CALL_ERROR("1014", "呼叫失败"), + DECRYPTION_FAILED("1012", "数据解析失败"); diff --git a/manage/ad-platform-management/pom.xml b/manage/ad-platform-management/pom.xml index 9c7bf8c7..fa76f0df 100644 --- a/manage/ad-platform-management/pom.xml +++ b/manage/ad-platform-management/pom.xml @@ -135,6 +135,22 @@ com.aliyun aliyun-java-sdk-dysmsapi + + + org.apache.poi + poi + + + + org.apache.poi + poi-ooxml + + + + org.apache.poi + poi-ooxml-schemas + + diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/security/security/TokenFilter.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/security/security/TokenFilter.java index 5fb50a38..1a10a756 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/security/security/TokenFilter.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/security/security/TokenFilter.java @@ -16,12 +16,11 @@ package com.baiye.modules.security.security; import cn.hutool.core.text.CharSequenceUtil; -import cn.hutool.core.util.StrUtil; import com.baiye.model.dto.OnlineUserDto; import com.baiye.modules.security.service.OnlineUserService; -import com.baiye.service.UserCacheClean; import com.baiye.properties.SecurityProperties; import com.baiye.security.TokenProvider; +import com.baiye.service.UserCacheClean; import io.jsonwebtoken.ExpiredJwtException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Organize.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Organize.java index d709296f..e3d3e768 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Organize.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/domain/Organize.java @@ -4,6 +4,7 @@ import com.baiye.model.dto.UserDto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import javax.persistence.*; +import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import lombok.Data; @@ -35,7 +36,7 @@ public class Organize implements Serializable { private Long id; @ApiModelProperty(value = "小组名称") - @NotNull(message = "小组名称不能为空") + @NotBlank(message = "小组名称不能为空") @Column(name = "organize_name") private String organizeName; diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/CompanyController.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/CompanyController.java index 0a9ec824..9db30564 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/CompanyController.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/CompanyController.java @@ -43,16 +43,19 @@ public class CompanyController { @ApiOperation("获取公司详情") @PostMapping("/companyDetails") public ResponseEntity companyDetails() { - CompanyDto companyDto = companyService.findCompanyByUserId(SecurityUtils.getCompanyId()); - return new ResponseEntity<>(companyDto, HttpStatus.OK); + Long companyId = SecurityUtils.getCompanyId(); + if (companyId != null) { + CompanyDto companyDto = companyService.findCompanyByUserId(SecurityUtils.getCompanyId()); + return new ResponseEntity<>(companyDto, HttpStatus.OK); + } + return new ResponseEntity<>(HttpStatus.OK); } - @ApiOperation("公司列表") @GetMapping("/companyList") public ResponseEntity create(CompanyQueryCriteria criteria, Pageable pageable) { - return new ResponseEntity<>(companyService.queryAll(criteria, pageable),HttpStatus.OK); + return new ResponseEntity<>(companyService.queryAll(criteria, pageable), HttpStatus.OK); } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/UserController.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/UserController.java index c003221d..458b4441 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/UserController.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/rest/UserController.java @@ -154,7 +154,7 @@ public class UserController { @ApiOperation("创建或导入用户") @PostMapping(value = "/createUsers") public ResponseEntity createUsers(@Validated @RequestBody CreateUserDTO userDTO) throws IOException { - Long companyId; + Long companyId = null; User user = new User(); boolean flag = Boolean.FALSE; Long userId = SecurityUtils.getCurrentUserId(); @@ -167,18 +167,22 @@ public class UserController { } } } - CompanyDto companyDto = new CompanyDto(); - companyDto.setStatus(DefaultNumberConstants.ZERO_NUMBER); - companyDto.setCompanyName(userDTO.getNickName()); - companyId = flag ? - companyService.createCompany(companyDto).getId() : + + if (flag){ + CompanyDto companyDto = new CompanyDto(); + companyDto.setStatus(DefaultNumberConstants.ZERO_NUMBER); + companyDto.setCompanyName(userDTO.getNickName()); + companyId = companyService.createCompany(companyDto).getId(); + } + + companyId = companyId != null ? companyId : SecurityUtils.getCompanyId(); userDTO.setPassword(passwordEncoder.encode("123456")); BeanUtil.copyProperties(userDTO, user); user.setCompanyId(companyId); - user.setUsername(flag ? user.getUsername() : - companyService.findById(companyId). - getCompanyName().concat(StrPool.COLON).concat(user.getUsername())); + user.setUsername(flag || + userId == DefaultNumberConstants.ONE_NUMBER ? user.getUsername() : + companyService.findById(companyId).getCompanyName().concat(StrPool.COLON).concat(user.getUsername())); user.setWhichUserId(userId); User userCreateResult = userService.create(user); MultipartFile file = userDTO.getFile(); diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java index 249deed3..5a8e53c3 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/OrganizeServiceImpl.java @@ -84,7 +84,7 @@ public class OrganizeServiceImpl implements OrganizeService { */ @Override @Transactional(rollbackFor = Exception.class) - @CacheEvict(key = "'organize:' + #organize.getId()") + @CacheEvict(value = "organize",key = "'organize:' + #organize.getId()") public void updateOrganize(Organize organize) { if (organize.getOrganizeName() != null) { Organize updateOrganize = organizeRepository.findById(organize.getId()).orElseGet(Organize::new); diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java index 35e0c92c..6a0d8052 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/system/service/impl/UserServiceImpl.java @@ -170,6 +170,9 @@ public class UserServiceImpl implements UserService { if (role.getId() == DefaultNumberConstants.NINE_NUMBER) { userDto.setIsGroup(Boolean.TRUE); } + if (role.getId() == DefaultNumberConstants.FIVE_NUMBER) { + userDto.setIsOperator(Boolean.TRUE); + } } return userDto; } @@ -297,6 +300,9 @@ public class UserServiceImpl implements UserService { if (role.getId() == DefaultNumberConstants.NINE_NUMBER) { convert.setIsGroup(Boolean.TRUE); } + if (role.getId() == DefaultNumberConstants.FIVE_NUMBER) { + convert.setIsOperator(Boolean.TRUE); + } } return convert; } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/DoubleCallController.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/DoubleCallController.java index 43784360..11fc50bf 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/DoubleCallController.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/api/DoubleCallController.java @@ -11,6 +11,7 @@ import com.baiye.modules.telemarkting.entity.dto.DoubleCallStopDTO; import com.baiye.modules.telemarkting.service.DoubleCallService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -25,9 +26,12 @@ import javax.annotation.Resource; @RestController @RequestMapping("/api") @Api(tags = "对接双呼") +@RequiredArgsConstructor public class DoubleCallController { - @Resource - private DoubleCallService doubleCallService; + + private final DoubleCallService doubleCallService; + + @PostMapping("/double/req") @ApiOperation("请求接入双呼") @@ -35,6 +39,8 @@ public class DoubleCallController { if (ObjectUtil.isEmpty(doubleCallReq)) { return CommonResponse.createByError(); } + Long teamId = doubleCallReq.getTeamId(); + return doubleCallService.doubleCallReq(doubleCallReq); } diff --git a/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/CallReq.java b/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/CallReq.java index 3888718a..266c6ffe 100644 --- a/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/CallReq.java +++ b/manage/ad-platform-management/src/main/java/com/baiye/modules/telemarkting/httpRequest/CallReq.java @@ -6,10 +6,14 @@ import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; +import com.baiye.exception.BadRequestException; +import com.baiye.http.DoubleCallResponse; +import com.baiye.model.enums.ResponseCode; import com.baiye.modules.telemarkting.entity.dto.DoubleCallReqDTO; import com.baiye.modules.telemarkting.entity.dto.DoubleCallStopDTO; import com.baiye.modules.telemarkting.entity.dto.DoubleCallSystemDTO; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @@ -56,7 +60,10 @@ public class CallReq { return result.get("sessionId").toString(); } else { count++; - log.error("请求失败,response==={}", httpResponse.body()); + String body = httpResponse.body(); + log.error("请求失败,response==={}", body); + throw new BadRequestException(StringUtils.isNotBlank(body) ? + JSONUtil.toBean(body, DoubleCallResponse.class).getReason() : ResponseCode.CALL_ERROR.getDesc()); } } log.info("=======================doubleCallReq end in {}", DateUtil.date()); diff --git a/manage/ad-platform-management/src/main/resources/config/application-prod.yml b/manage/ad-platform-management/src/main/resources/config/application-prod.yml index ac514af3..e66b085c 100644 --- a/manage/ad-platform-management/src/main/resources/config/application-prod.yml +++ b/manage/ad-platform-management/src/main/resources/config/application-prod.yml @@ -60,7 +60,7 @@ spring: # 登录相关配置 login: # 登录缓存 - cache-enable: true + cache-enable: false # 是否限制单用户登录 single-login: false # 验证码 diff --git a/pom.xml b/pom.xml index 687eeee2..774a85b2 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,7 @@ 3.4.1 + 4.0.0 5.7.1 22.0 5.23 @@ -199,6 +200,26 @@ aliyun-java-sdk-dysmsapi ${dysmsapi.version} + + + + + org.apache.poi + poi + ${poi.version} + + + + org.apache.poi + poi-ooxml + ${poi.version} + + + + org.apache.poi + poi-ooxml-schemas + ${poi.version} + diff --git a/services/ad-platform-source/pom.xml b/services/ad-platform-source/pom.xml index 6c4dec6c..633ca3eb 100644 --- a/services/ad-platform-source/pom.xml +++ b/services/ad-platform-source/pom.xml @@ -73,23 +73,20 @@ mapstruct-processor provided - + org.apache.poi poi - 4.0.0 org.apache.poi poi-ooxml - 4.0.0 org.apache.poi poi-ooxml-schemas - 4.0.0 diff --git a/services/ad-platform-source/src/main/resources/application-prod.yml b/services/ad-platform-source/src/main/resources/application-prod.yml index aa10a3ef..81fc415b 100644 --- a/services/ad-platform-source/src/main/resources/application-prod.yml +++ b/services/ad-platform-source/src/main/resources/application-prod.yml @@ -63,7 +63,7 @@ spring: storage: url: /usr/local/webapp/source/files/ de_symbol: / - download-template: 47.97.90.60/api-source/download/custom.xlsx + download-template: https://mm.tuoz.net/source/download/custom.xlsx # 线程池配置