Browse Source

fix: 推送消息测试流程

master
wangxiang 2 years ago
parent
commit
a29feffe32
  1. 7
      kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/SecurityConstants.java
  2. 15
      kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/KiccUser.java
  3. 1
      kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java
  4. 5
      kicc-platform/kicc-platform-api/kicc-common-api/pom.xml
  5. 7
      kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushType.java
  6. 11
      kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/feign/RemotePushConcernFanService.java
  7. 16
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushApplicationController.java
  8. 3
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatMessageController.java
  9. 170
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushConcernFanController.java
  10. 2
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushConcernFanTypeController.java
  11. 9
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushEnterpriseController.java
  12. 52
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushTypeController.java
  13. 2
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushConcernFanMapper.java
  14. 5
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushConcernFanService.java
  15. 17
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java
  16. 4
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushConcernFanServiceImpl.java
  17. 12
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushBlacklistMapper.xml
  18. 26
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushConcernFanMapper.xml
  19. 17
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java

7
kicc-common/kicc-common-core/src/main/java/com/cloud/kicc/common/core/constant/SecurityConstants.java

@ -30,6 +30,11 @@ public interface SecurityConstants {
*/ */
String FROM = "from"; String FROM = "from";
/**
* 请求header
*/
String HEADER_FROM_IN = FROM + "=" + FROM_IN;
/** /**
* 默认登录URL * 默认登录URL
*/ */
@ -106,5 +111,5 @@ public interface SecurityConstants {
* 客户端ID * 客户端ID
*/ */
String CLIENT_ID = "clientId"; String CLIENT_ID = "clientId";
} }

15
kicc-common/kicc-common-data/src/main/java/com/cloud/kicc/common/data/entity/KiccUser.java

@ -39,6 +39,18 @@ public class KiccUser extends User {
@Getter @Getter
private String phone; private String phone;
/**
* 用户类型
* { label: '系统管理员', value: '0' },
* { label: '普通用户', value: '1' },
* { label: '企业用户', value: '2' },
* { label: '收样员', value: '3' },
* { label: '客服', value: '4' },
* { label: '企业内部用户', value: '5' },
*/
@Getter
private String userType;
/** /**
* 多租户ID * 多租户ID
*/ */
@ -46,13 +58,14 @@ public class KiccUser extends User {
@Setter @Setter
private String tenantId; private String tenantId;
public KiccUser(String id, String deptId, String username, String password, String phone, String tenantId, boolean enabled, public KiccUser(String id, String deptId, String username, String password, String phone, String userType, String tenantId, boolean enabled,
boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked,
Collection<? extends GrantedAuthority> authorities) { Collection<? extends GrantedAuthority> authorities) {
super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities);
this.id = id; this.id = id;
this.deptId = deptId; this.deptId = deptId;
this.phone = phone; this.phone = phone;
this.userType = userType;
this.tenantId = tenantId; this.tenantId = tenantId;
} }

1
kicc-common/kicc-common-security/src/main/java/com/cloud/kicc/common/security/service/KiccUserDetailsService.java

@ -76,6 +76,7 @@ public interface KiccUserDetailsService extends UserDetailsService, Ordered {
user.getUserName(), user.getUserName(),
SecurityConstants.BCRYPT + user.getPassword(), SecurityConstants.BCRYPT + user.getPassword(),
user.getPhone(), user.getPhone(),
user.getUserType(),
user.getTenantId(), user.getTenantId(),
true, true,
true, true,

5
kicc-platform/kicc-platform-api/kicc-common-api/pom.xml

@ -14,6 +14,11 @@
<description>kicc 通用业务模块公共api模块</description> <description>kicc 通用业务模块公共api模块</description>
<dependencies> <dependencies>
<!--system API-->
<dependency>
<groupId>com.cloud</groupId>
<artifactId>kicc-system-api</artifactId>
</dependency>
<!--断路器依赖--> <!--断路器依赖-->
<dependency> <dependency>
<groupId>com.cloud</groupId> <groupId>com.cloud</groupId>

7
kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushType.java

@ -43,10 +43,13 @@ public class PushType extends CommonEntity {
@ApiModelProperty("是否播报文字") @ApiModelProperty("是否播报文字")
private String playToText; private String playToText;
@ApiModelProperty("自定义播放文件名称") @ApiModelProperty("默认类型")
private String defaultType;
@ApiModelProperty("在线铃声")
private String onlineRingtone; private String onlineRingtone;
@ApiModelProperty("自定义播放文件名称") @ApiModelProperty("离线铃声")
private String offlineRingtone; private String offlineRingtone;
} }

11
kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/feign/RemotePushConcernFanService.java

@ -4,9 +4,15 @@ import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants; import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants; import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.core.constant.ServiceNameConstants; import com.cloud.kicc.common.core.constant.ServiceNameConstants;
import com.cloud.kicc.system.api.entity.User;
import feign.Param;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/** /**
*<p> *<p>
@ -19,8 +25,7 @@ import org.springframework.web.bind.annotation.RequestHeader;
@FeignClient(contextId = "remotePushConcernFanService", value = ServiceNameConstants.COMMON_SERVICE) @FeignClient(contextId = "remotePushConcernFanService", value = ServiceNameConstants.COMMON_SERVICE)
public interface RemotePushConcernFanService { public interface RemotePushConcernFanService {
@PostMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/enterpriseUserFanSave", headers = SecurityConstants.HEADER_FROM_IN)
@PostMapping(AppConstants.APP_COMMON + "/pushConcernFan/enterpriseUserSave") R enterpriseUserFanSave(@RequestParam("innerEnterpriseUserId") String innerEnterpriseUserId, @RequestBody List<User> userList);
R pushConcernFanSave(String enterpriseUserId, @RequestHeader(SecurityConstants.FROM) String from);
} }

16
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushApplicationController.java

@ -17,8 +17,6 @@ import com.cloud.kicc.commonbiz.api.entity.PushChatMessage;
import com.cloud.kicc.commonbiz.api.entity.PushEnterprise; import com.cloud.kicc.commonbiz.api.entity.PushEnterprise;
import com.cloud.kicc.commonbiz.service.IPushApplicationService; import com.cloud.kicc.commonbiz.service.IPushApplicationService;
import com.cloud.kicc.commonbiz.service.IPushEnterpriseService; import com.cloud.kicc.commonbiz.service.IPushEnterpriseService;
import com.cloud.kicc.system.api.entity.OauthClientDetails;
import io.lettuce.core.api.push.PushMessage;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
@ -46,6 +44,7 @@ public class PushApplicationController {
private LambdaQueryWrapper<PushApplication> getQueryWrapper(PushApplication pushApplication) { private LambdaQueryWrapper<PushApplication> getQueryWrapper(PushApplication pushApplication) {
return new LambdaQueryWrapper<PushApplication>() return new LambdaQueryWrapper<PushApplication>()
.eq(PushApplication::getCreateById, SecurityUtils.getUser().getId())
.eq(StrUtil.isNotBlank(pushApplication.getName()), PushApplication::getName, pushApplication.getName()) .eq(StrUtil.isNotBlank(pushApplication.getName()), PushApplication::getName, pushApplication.getName())
.eq(StrUtil.isNotBlank(pushApplication.getStatus()), PushApplication::getStatus, pushApplication.getStatus()); .eq(StrUtil.isNotBlank(pushApplication.getStatus()), PushApplication::getStatus, pushApplication.getStatus());
} }
@ -66,9 +65,10 @@ public class PushApplicationController {
@ApiOperation("保存") @ApiOperation("保存")
@PostMapping("/save") @PostMapping("/save")
public R save(@Valid @RequestBody PushApplication pushApplication) { public R save(@Valid @RequestBody PushApplication pushApplication) {
// 验证企业是否已经认证 // 企业用户需要验证是否进行企业认证
if (iPushEnterpriseService.count(Wrappers.<PushEnterprise>lambdaQuery().eq(PushEnterprise::getUserId, SecurityUtils.getUser().getId())) == 0){ if (StrUtil.equals(SecurityUtils.getUser().getUserType(), "2") &&
throw new CheckedException("当前企业未认证,请认证后在操作!"); iPushEnterpriseService.count(Wrappers.<PushEnterprise>lambdaQuery().eq(PushEnterprise::getUserId, SecurityUtils.getUser().getId())) == 0){
throw new CheckedException("当前企业用户未进行企业认证,请认证后在试!");
} }
pushApplication.setMessageSecret(UUID.randomUUID().toString().replace("-","")); pushApplication.setMessageSecret(UUID.randomUUID().toString().replace("-",""));
iPushApplicationService.save(pushApplication); iPushApplicationService.save(pushApplication);
@ -78,9 +78,6 @@ public class PushApplicationController {
@ApiOperation("修改") @ApiOperation("修改")
@PutMapping("/update") @PutMapping("/update")
public R update(@Valid @RequestBody PushApplication pushApplication) { public R update(@Valid @RequestBody PushApplication pushApplication) {
if (iPushEnterpriseService.count(Wrappers.<PushEnterprise>lambdaQuery().eq(PushEnterprise::getUserId, SecurityUtils.getUser().getId())) == 0){
throw new CheckedException("当前企业未认证,请认证后在操作!");
}
iPushApplicationService.updateById(pushApplication); iPushApplicationService.updateById(pushApplication);
return R.ok(); return R.ok();
} }
@ -88,9 +85,6 @@ public class PushApplicationController {
@ApiOperation("删除") @ApiOperation("删除")
@DeleteMapping("/remove/{ids:[\\w,]+}") @DeleteMapping("/remove/{ids:[\\w,]+}")
public R<Boolean> removeById(@PathVariable String[] ids) { public R<Boolean> removeById(@PathVariable String[] ids) {
if (iPushEnterpriseService.count(Wrappers.<PushEnterprise>lambdaQuery().eq(PushEnterprise::getUserId, SecurityUtils.getUser().getId())) == 0){
throw new CheckedException("当前企业未认证,请认证后在操作!");
}
iPushApplicationService.removeByIds(Arrays.asList(ids)); iPushApplicationService.removeByIds(Arrays.asList(ids));
return R.ok(); return R.ok();
} }

3
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatMessageController.java

@ -36,16 +36,15 @@ public class PushChatMessageController {
private LambdaQueryWrapper<PushChatMessage> getQueryWrapper(PushChatMessage pushChatMessage) { private LambdaQueryWrapper<PushChatMessage> getQueryWrapper(PushChatMessage pushChatMessage) {
return new LambdaQueryWrapper<PushChatMessage>() return new LambdaQueryWrapper<PushChatMessage>()
.eq(PushChatMessage::getUserId, SecurityUtils.getUser().getId())
.eq(StrUtil.isNotBlank(pushChatMessage.getStatus()), PushChatMessage::getStatus, pushChatMessage.getStatus()) .eq(StrUtil.isNotBlank(pushChatMessage.getStatus()), PushChatMessage::getStatus, pushChatMessage.getStatus())
.like(StrUtil.isNotBlank(pushChatMessage.getTitle()), PushChatMessage::getTitle, pushChatMessage.getTitle()) .like(StrUtil.isNotBlank(pushChatMessage.getTitle()), PushChatMessage::getTitle, pushChatMessage.getTitle())
.eq(PushChatMessage::getUserId, pushChatMessage.getUserId())
.eq(StrUtil.isNotBlank(pushChatMessage.getAlias()), PushChatMessage::getAlias, pushChatMessage.getAlias()); .eq(StrUtil.isNotBlank(pushChatMessage.getAlias()), PushChatMessage::getAlias, pushChatMessage.getAlias());
} }
@GetMapping("/list") @GetMapping("/list")
@ApiOperation(value = "分页查询") @ApiOperation(value = "分页查询")
public R list(Page page, PushChatMessage pushChatMessage) { public R list(Page page, PushChatMessage pushChatMessage) {
pushChatMessage.setUserId(SecurityUtils.getUser().getId());
IPage<PushChatMessage> result = iPushChatMessageService.page(page, getQueryWrapper(pushChatMessage)); IPage<PushChatMessage> result = iPushChatMessageService.page(page, getQueryWrapper(pushChatMessage));
return R.ok(result.getRecords(), result.getTotal()); return R.ok(result.getRecords(), result.getTotal());
} }

170
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushConcernFanController.java

@ -2,28 +2,28 @@ package com.cloud.kicc.commonbiz.controller;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants; import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.security.annotation.Inner;
import com.cloud.kicc.common.security.util.SecurityUtils; import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.PushConcernFan; import com.cloud.kicc.commonbiz.api.entity.*;
import com.cloud.kicc.commonbiz.api.entity.PushConcernFanType; import com.cloud.kicc.commonbiz.service.*;
import com.cloud.kicc.commonbiz.api.entity.PushType; import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.commonbiz.service.IPushConcernFanService;
import com.cloud.kicc.commonbiz.service.IPushConcernFanTypeService;
import com.cloud.kicc.commonbiz.service.IPushTypeService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.data.repository.query.Param;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -43,6 +43,10 @@ public class PushConcernFanController {
private final IPushConcernFanService iPushConcernFanService; private final IPushConcernFanService iPushConcernFanService;
private final IPushConcernFanTypeService iPushConcernFanTypeService; private final IPushConcernFanTypeService iPushConcernFanTypeService;
private final IPushTypeService iPushTypeService; private final IPushTypeService iPushTypeService;
private final IPushApplicationService iPushApplicationService;
private final IPushChatMessageService iPushChatMessageService;
private final IPushEnterpriseService iPushEnterpriseService;
private final IPushRingtoneService iPushRingtoneService;
@ApiOperation("分页查询") @ApiOperation("分页查询")
@GetMapping("/list") @GetMapping("/list")
@ -60,56 +64,34 @@ public class PushConcernFanController {
} }
@ApiOperation("根据ID查询") @ApiOperation("根据ID查询")
@GetMapping("/{id:\\w+}") @GetMapping("/getById")
public R getById(@PathVariable("id") String id) { public R getById(String id, String onType) {
return R.ok(iPushConcernFanService.getByPushConcernFanId(id)); return R.ok(iPushConcernFanService.getByPushConcernFanId(id, onType));
} }
@ApiOperation("保存") @ApiOperation("保存")
@PostMapping("/save") @PostMapping("/save")
public R save(@Valid @RequestBody PushConcernFan pushConcernFan) { public R save(@Valid @RequestBody PushConcernFan pushConcernFan) {
iPushConcernFanService.save(pushConcernFan); iPushConcernFanService.save(pushConcernFan);
return R.ok(); // 同步推送类型
} if (StrUtil.equals(pushConcernFan.getStatus(), "1")) {
List<PushType> pushTypes = iPushTypeService.list(Wrappers.<PushType>lambdaQuery().eq(PushType::getCreateById, pushConcernFan.getConcernUserId()));
@ApiOperation("企业用户关联保存") List<PushConcernFanType> pushConcernFanTypes = pushTypes.stream().map(item -> new PushConcernFanType()
@PostMapping("/enterpriseUserSave") .setName(item.getName())
public R enterpriseUserSave(String enterpriseUserId) {
// 企业内部用户保存默认强制关注系统内部所有用户
IPage<Map<String, Object>> list = iPushConcernFanService.selectPushFriendList(new Page(1, 999),
MapUtil.<String, Object>builder().put("createById", enterpriseUserId).build());
List<PushType> pushTypes = iPushTypeService.list(Wrappers.<PushType>lambdaQuery().eq(PushType::getCreateById, enterpriseUserId));
list.getRecords().forEach(item -> {
PushConcernFan pushConcernFan = new PushConcernFan();
pushConcernFan.setFanUserId(enterpriseUserId);
pushConcernFan.setConcernUserId(item.get("id").toString());
pushConcernFan.setType("1");
pushConcernFan.setStatus("1");
iPushConcernFanService.save(pushConcernFan);
// 保存用户自定义推送类型
List<PushConcernFanType> pushConcernFanTypes = pushTypes.stream()
.map(pushType -> new PushConcernFanType()
.setConcernFanId(pushConcernFan.getId()) .setConcernFanId(pushConcernFan.getId())
.setName(pushType.getName())
.setConcernUserId(pushConcernFan.getConcernUserId()) .setConcernUserId(pushConcernFan.getConcernUserId())
.setFanUserId(pushConcernFan.getFanUserId()) .setFanUserId(pushConcernFan.getFanUserId())
.setTypeId(pushType.getId()) .setTypeId(item.getId())
.setPlaySound(pushType.getPlaySound()) .setDefaultType(item.getDefaultType())
.setPlayVibrate(pushType.getPlayVibrate()) .setPlaySound(item.getPlaySound())
.setPlayLights(pushType.getPlayLights()) .setPlayVibrate(item.getPlayVibrate())
.setPlayToText(pushType.getPlayToText()) .setPlayLights(item.getPlayLights())
.setOnlineRingtone(pushType.getOnlineRingtone()) .setPlayToText(item.getPlayToText())
.setOfflineRingtone(pushType.getOfflineRingtone()) .setOnlineRingtone(item.getOnlineRingtone())
.setOfflineRingtone(item.getOfflineRingtone())
).collect(Collectors.toList()); ).collect(Collectors.toList());
iPushConcernFanTypeService.saveBatch(pushConcernFanTypes);
if (!pushConcernFanTypes.isEmpty()) { }
pushConcernFanTypes.get(0).setDefaultType("1");
iPushConcernFanTypeService.saveBatch(pushConcernFanTypes);
}
});
return R.ok(); return R.ok();
} }
@ -120,48 +102,82 @@ public class PushConcernFanController {
return R.ok(); return R.ok();
} }
@Inner
@ApiOperation("内部企业用户粉丝保存")
@PostMapping("/enterpriseUserFanSave")
public R enterpriseUserFanSave(String innerEnterpriseUserId, @Valid @RequestBody List<User> userList) {
// 企业内部用户保存默认强制关注系统内除自己以外的所有用户
userList.forEach(item -> {
// 添加系统内部用户为粉丝
PushConcernFan pushConcernFan = new PushConcernFan();
pushConcernFan.setFanUserId(item.getId());
pushConcernFan.setConcernUserId(innerEnterpriseUserId);
pushConcernFan.setType("1");
pushConcernFan.setStatus("1");
iPushConcernFanService.save(pushConcernFan);
});
return R.ok();
}
@ApiOperation("审核") @ApiOperation("审核")
@GetMapping("/audit") @GetMapping("/audit")
public R audit(String id) { public R audit(String id) {
iPushConcernFanService.update(Wrappers.<PushConcernFan>lambdaUpdate().set(PushConcernFan::getStatus, "1").in(PushConcernFan::getId, id)); iPushConcernFanService.update(Wrappers.<PushConcernFan>lambdaUpdate().set(PushConcernFan::getStatus, "1").in(PushConcernFan::getId, id));
PushConcernFan pushConcernFan = iPushConcernFanService.getById(id); PushConcernFan pushConcernFan = iPushConcernFanService.getById(id);
if (ObjectUtil.isNotEmpty(pushConcernFan)) { // 同步推送类型
List<PushType> pushTypes = iPushTypeService.list(Wrappers.<PushType>lambdaQuery().eq(PushType::getCreateById, pushConcernFan.getConcernUserId())); List<PushType> pushTypes = iPushTypeService.list(Wrappers.<PushType>lambdaQuery().eq(PushType::getCreateById, pushConcernFan.getConcernUserId()));
List<PushConcernFanType> pushConcernFanTypes = pushTypes.stream() List<PushConcernFanType> pushConcernFanTypes = pushTypes.stream().map(item -> new PushConcernFanType()
.map(item -> new PushConcernFanType() .setName(item.getName())
.setConcernFanId(pushConcernFan.getId()) .setConcernFanId(pushConcernFan.getId())
.setName(item.getName()) .setConcernUserId(pushConcernFan.getConcernUserId())
.setConcernUserId(pushConcernFan.getConcernUserId()) .setFanUserId(pushConcernFan.getFanUserId())
.setFanUserId(pushConcernFan.getFanUserId()) .setTypeId(item.getId())
.setTypeId(item.getId()) .setDefaultType(item.getDefaultType())
.setPlaySound(item.getPlaySound()) .setPlaySound(item.getPlaySound())
.setPlayVibrate(item.getPlayVibrate()) .setPlayVibrate(item.getPlayVibrate())
.setPlayLights(item.getPlayLights()) .setPlayLights(item.getPlayLights())
.setPlayToText(item.getPlayToText()) .setPlayToText(item.getPlayToText())
.setOnlineRingtone(item.getOnlineRingtone()) .setOnlineRingtone(item.getOnlineRingtone())
.setOfflineRingtone(item.getOfflineRingtone()) .setOfflineRingtone(item.getOfflineRingtone())
) ).collect(Collectors.toList());
.collect(Collectors.toList()); iPushConcernFanTypeService.saveBatch(pushConcernFanTypes);
if (!pushConcernFanTypes.isEmpty()) {
pushConcernFanTypes.get(0).setDefaultType("1");
iPushConcernFanTypeService.saveBatch(pushConcernFanTypes);
}
}
return R.ok(); return R.ok();
} }
@ApiOperation("删除") @ApiOperation("删除")
@DeleteMapping("/remove/{ids:[\\w,]+}") @DeleteMapping("/remove/{ids:[\\w,]+}")
public R<Boolean> removeById(@PathVariable String[] ids) { public R<Boolean> removeById(@PathVariable String[] ids) {
List<String> list = Arrays.asList(ids);
// 删除用户自定义推送类型
list.forEach(id -> {
PushConcernFan pushConcernFan = iPushConcernFanService.getById(id);
iPushConcernFanTypeService.remove(Wrappers.<PushConcernFanType>lambdaQuery()
.eq(PushConcernFanType::getConcernUserId, pushConcernFan.getConcernUserId())
.eq(PushConcernFanType::getFanUserId, pushConcernFan.getFanUserId()));
});
iPushConcernFanService.removeByIds(Arrays.asList(ids)); iPushConcernFanService.removeByIds(Arrays.asList(ids));
iPushConcernFanTypeService.remove(Wrappers.<PushConcernFanType>lambdaQuery().in(PushConcernFanType::getConcernFanId, ids));
return R.ok();
}
@Inner
@ApiOperation("移除用户推送相关数据")
@DeleteMapping("/removeUserPushData")
public R<Boolean> removeUserPushData(@RequestParam Set<String> userIds) {
// 移除推送关注粉丝
iPushConcernFanService.remove(Wrappers.<PushConcernFan>lambdaQuery()
.in(PushConcernFan::getConcernUserId, userIds)
.or().in(PushConcernFan::getFanUserId, userIds));
// 移除推送关注粉丝子表推送类型
iPushConcernFanTypeService.remove(Wrappers.<PushConcernFanType>lambdaQuery()
.in(PushConcernFanType::getConcernUserId, userIds)
.or().in(PushConcernFanType::getFanUserId, userIds));
iPushTypeService.remove(Wrappers.<PushType> lambdaQuery()
.in(PushType::getCreateById, userIds));
// 移除推送应用
iPushApplicationService.remove(Wrappers.<PushApplication>lambdaQuery()
.in(PushApplication::getCreateById, userIds));
// 移除推送聊天消息
iPushChatMessageService.remove(Wrappers.<PushChatMessage>lambdaQuery()
.in(PushChatMessage::getUserId, userIds));
// 移除企业用户认证信息
iPushEnterpriseService.remove(Wrappers.<PushEnterprise>lambdaQuery()
.in(PushEnterprise::getUserId, userIds));
// 移除用户在线铃声
iPushRingtoneService.remove(Wrappers.<PushRingtone>lambdaQuery()
.in(PushRingtone::getCreateById, userIds));
return R.ok(); return R.ok();
} }

2
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushConcernFanTypeController.java

@ -36,7 +36,7 @@ public class PushConcernFanTypeController {
private LambdaQueryWrapper<PushConcernFanType> getQueryWrapper(PushConcernFanType pushConcernFanType) { private LambdaQueryWrapper<PushConcernFanType> getQueryWrapper(PushConcernFanType pushConcernFanType) {
return new LambdaQueryWrapper<PushConcernFanType>() return new LambdaQueryWrapper<PushConcernFanType>()
.eq(PushConcernFanType::getConcernUserId, pushConcernFanType.getConcernUserId()) .eq(PushConcernFanType::getFanUserId, pushConcernFanType.getFanUserId())
.eq(StrUtil.isNotBlank(pushConcernFanType.getName()), PushConcernFanType::getName, pushConcernFanType.getName()); .eq(StrUtil.isNotBlank(pushConcernFanType.getName()), PushConcernFanType::getName, pushConcernFanType.getName());
} }

9
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushEnterpriseController.java

@ -64,9 +64,12 @@ public class PushEnterpriseController {
@ApiOperation("保存") @ApiOperation("保存")
@PostMapping("/save") @PostMapping("/save")
public R save(@Valid @RequestBody PushEnterprise pushEnterprise) { public R save(@Valid @RequestBody PushEnterprise pushEnterprise) {
if(iPushEnterpriseService.count(Wrappers.<PushEnterprise>lambdaQuery() // 限制只能有企业用户进行认证
.eq(PushEnterprise::getUserId, SecurityUtils.getUser().getId())) > 0) { if (!StrUtil.equals(SecurityUtils.getUser().getUserType(), "2")) {
throw new CheckedException("当前用户已经存在企业信息不能重复认证!"); throw new CheckedException("当前用户不是企业用户请用企业用户登录后重试!");
}
if(iPushEnterpriseService.count(Wrappers.<PushEnterprise>lambdaQuery().eq(PushEnterprise::getUserId, SecurityUtils.getUser().getId())) > 0) {
throw new CheckedException("当前企业用户已经绑定了认证信息不能重复认证!");
} }
if (StrUtil.isBlank(pushEnterprise.getUserId())) pushEnterprise.setUserId(SecurityUtils.getUser().getId()); if (StrUtil.isBlank(pushEnterprise.getUserId())) pushEnterprise.setUserId(SecurityUtils.getUser().getId());
iPushEnterpriseService.save(pushEnterprise); iPushEnterpriseService.save(pushEnterprise);

52
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushTypeController.java

@ -9,7 +9,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants; import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.core.exception.CheckedException;
import com.cloud.kicc.common.security.util.SecurityUtils; import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.PushConcernFan;
import com.cloud.kicc.commonbiz.api.entity.PushConcernFanType; import com.cloud.kicc.commonbiz.api.entity.PushConcernFanType;
import com.cloud.kicc.commonbiz.api.entity.PushType; import com.cloud.kicc.commonbiz.api.entity.PushType;
import com.cloud.kicc.commonbiz.service.IPushConcernFanService; import com.cloud.kicc.commonbiz.service.IPushConcernFanService;
@ -22,7 +24,9 @@ import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
@ -66,25 +70,21 @@ public class PushTypeController {
@PostMapping("/save") @PostMapping("/save")
public R save(@Valid @RequestBody PushType pushType) { public R save(@Valid @RequestBody PushType pushType) {
iPushTypeService.save(pushType); iPushTypeService.save(pushType);
IPage<Map<String, Object>> list = iPushConcernFanService.selectPushConcernFanList(new Page(1, 999), List<PushConcernFan> pushConcernFanList = iPushConcernFanService
MapUtil.<String, Object>builder() .list(Wrappers.<PushConcernFan>lambdaQuery().eq(PushConcernFan::getFanUserId, SecurityUtils.getUser().getId()));
.put("status", "1") List<PushConcernFanType> pushConcernFanTypeList = pushConcernFanList.stream().map(item -> new PushConcernFanType()
.put("concernUserId", SecurityUtils.getUser().getId()) .setConcernFanId(item.getId())
.build()); .setName(pushType.getName())
list.getRecords().forEach(item -> .setConcernUserId(item.getConcernUserId())
iPushConcernFanTypeService.save(new PushConcernFanType() .setFanUserId(item.getFanUserId())
.setConcernFanId(item.get("id").toString()) .setTypeId(pushType.getId())
.setName(pushType.getName()) .setPlaySound(pushType.getPlaySound())
.setConcernUserId(item.get("concernUserId").toString()) .setPlayVibrate(pushType.getPlayVibrate())
.setFanUserId(item.get("fanUserId").toString()) .setPlayLights(pushType.getPlayLights())
.setTypeId(pushType.getId()) .setPlayToText(pushType.getPlayToText())
.setPlaySound(pushType.getPlaySound()) .setOnlineRingtone(pushType.getOnlineRingtone())
.setPlayVibrate(pushType.getPlayVibrate()) .setOfflineRingtone(pushType.getOfflineRingtone())).collect(Collectors.toList());
.setPlayLights(pushType.getPlayLights()) iPushConcernFanTypeService.saveBatch(pushConcernFanTypeList);
.setPlayToText(pushType.getPlayToText())
.setOnlineRingtone(pushType.getOnlineRingtone())
.setOfflineRingtone(pushType.getOfflineRingtone()))
);
return R.ok(); return R.ok();
} }
@ -103,5 +103,19 @@ public class PushTypeController {
return R.ok(); return R.ok();
} }
@ApiOperation("设置默认推送类型")
@PutMapping("/setDefaultType")
public R setDefaultType(@RequestBody PushType pushType) {
if (StrUtil.isBlank(pushType.getId())) {
throw new CheckedException("当前推送类型ID必填!");
}
// 全部设置为不默认
iPushTypeService.update(Wrappers.<PushType>lambdaUpdate()
.set(PushType::getDefaultType, "0")
.eq(PushType::getCreateById, SecurityUtils.getUser().getId()));
iPushTypeService.updateById(pushType);
return R.ok();
}
} }

2
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushConcernFanMapper.java

@ -22,7 +22,7 @@ public interface PushConcernFanMapper extends BaseMapper<PushConcernFan> {
IPage<Map<String, Object>> selectPushConcernFanList(@Param("page") IPage<Map<String, Object>> page, @Param("map") Map map); IPage<Map<String, Object>> selectPushConcernFanList(@Param("page") IPage<Map<String, Object>> page, @Param("map") Map map);
Map<String, Object> getByPushConcernFanId(String id); Map<String, Object> getByPushConcernFanId(@Param("id") String id, @Param("onType") String onType);
IPage<Map<String, Object>> selectPushFriendList(@Param("page") IPage<Map<String, Object>> page, @Param("map") Map map); IPage<Map<String, Object>> selectPushFriendList(@Param("page") IPage<Map<String, Object>> page, @Param("map") Map map);

5
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushConcernFanService.java

@ -25,10 +25,11 @@ public interface IPushConcernFanService extends IService<PushConcernFan> {
/** /**
* 根据ID查询 * 根据ID查询
* @param * @param id 关注粉丝表Id
* @param onType 关注粉丝类型 0关联粉丝表 1关联关注表
* @return * @return
*/ */
Map<String, Object> getByPushConcernFanId(String id); Map<String, Object> getByPushConcernFanId(String id, String onType);
/** /**
* 查询好友列表 * 查询好友列表

17
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushApplicationServiceImpl.java

@ -12,6 +12,7 @@ import com.cloud.kicc.common.core.constant.CommonConstants;
import com.cloud.kicc.common.core.constant.SecurityConstants; import com.cloud.kicc.common.core.constant.SecurityConstants;
import com.cloud.kicc.common.core.exception.CheckedException; import com.cloud.kicc.common.core.exception.CheckedException;
import com.cloud.kicc.common.data.entity.KiccUser; import com.cloud.kicc.common.data.entity.KiccUser;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.*; import com.cloud.kicc.commonbiz.api.entity.*;
import com.cloud.kicc.commonbiz.mapper.PushApplicationMapper; import com.cloud.kicc.commonbiz.mapper.PushApplicationMapper;
import com.cloud.kicc.commonbiz.service.*; import com.cloud.kicc.commonbiz.service.*;
@ -55,6 +56,7 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
private final IPushChatMessageService iPushChatMessageService; private final IPushChatMessageService iPushChatMessageService;
private final IPushConcernFanTypeService iPushConcernFanTypeService; private final IPushConcernFanTypeService iPushConcernFanTypeService;
private final RemoteUserService remoteUserService; private final RemoteUserService remoteUserService;
private final IPushEnterpriseService iPushEnterpriseService;
@Override @Override
public void enterpriseMessageSend(PushChatMessage pushChatMessage) { public void enterpriseMessageSend(PushChatMessage pushChatMessage) {
@ -67,6 +69,8 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
if (result == null || result.getData() == null) { if (result == null || result.getData() == null) {
throw new CheckedException("用户不存在"); throw new CheckedException("用户不存在");
} }
// todo: // 待处理需要统一封装公开接口用户信息登录
User user = result.getData(); User user = result.getData();
KiccUser kiccUser = new KiccUser( KiccUser kiccUser = new KiccUser(
user.getId(), user.getId(),
@ -74,6 +78,7 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
user.getUserName(), user.getUserName(),
SecurityConstants.BCRYPT + user.getPassword(), SecurityConstants.BCRYPT + user.getPassword(),
user.getPhone(), user.getPhone(),
user.getUserType(),
user.getTenantId(), user.getTenantId(),
true, true,
true, true,
@ -84,9 +89,19 @@ public class PushApplicationServiceImpl extends ServiceImpl<PushApplicationMappe
Authentication authentication = new UsernamePasswordAuthenticationToken(kiccUser, "N/A", kiccUser.getAuthorities()); Authentication authentication = new UsernamePasswordAuthenticationToken(kiccUser, "N/A", kiccUser.getAuthorities());
SecurityContextHolder.getContext().setAuthentication(authentication); SecurityContextHolder.getContext().setAuthentication(authentication);
// todo: // 待处理需要使用枚举规范用户类型参数,不好维护
if (!StrUtil.equals(SecurityUtils.getUser().getUserType(), "2") || !StrUtil.equals(SecurityUtils.getUser().getUserType(), "5")) {
throw new CheckedException("当前用户不是企业用户,禁止操作!");
}
if (StrUtil.equals(SecurityUtils.getUser().getUserType(), "2") &&
iPushEnterpriseService.count(Wrappers.<PushEnterprise>lambdaQuery().eq(PushEnterprise::getUserId, SecurityUtils.getUser().getId())) == 0){
throw new CheckedException("当前企业用户未进行企业认证,请认证后在试!");
}
PushApplication pushApplication = baseMapper.selectOne(Wrappers.<PushApplication>lambdaQuery() PushApplication pushApplication = baseMapper.selectOne(Wrappers.<PushApplication>lambdaQuery()
.eq(PushApplication::getMessageSecret, pushChatMessage.getMessageSecret()) .eq(PushApplication::getMessageSecret, pushChatMessage.getMessageSecret())
.eq(PushApplication::getCreateById, pushChatMessage.getUserId()) .eq(PushApplication::getCreateById, pushChatMessage.getUserId())
.eq(PushApplication::getStatus, "0")); .eq(PushApplication::getStatus, "0"));
pushApplication = Optional.of(pushApplication).orElseThrow(() -> new CheckedException("你当前没有权限发送消息,请联系管理员!")); pushApplication = Optional.of(pushApplication).orElseThrow(() -> new CheckedException("你当前没有权限发送消息,请联系管理员!"));

4
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushConcernFanServiceImpl.java

@ -26,8 +26,8 @@ public class PushConcernFanServiceImpl extends ServiceImpl<PushConcernFanMapper,
} }
@Override @Override
public Map<String, Object> getByPushConcernFanId(String id) { public Map<String, Object> getByPushConcernFanId(String id, String onType) {
return baseMapper.getByPushConcernFanId(id); return baseMapper.getByPushConcernFanId(id, onType);
} }
@Override @Override

12
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushBlacklistMapper.xml

@ -29,9 +29,9 @@
FROM FROM
common_push_blacklist bl JOIN sys_user u common_push_blacklist bl JOIN sys_user u
ON ON
bl.fan_user_id = u.id bl.concern_user_id = u.id
<where> <where>
u.del_flag = 0 AND u.status = 0 AND bl.concern_user_id = #{user.createById} u.del_flag = 0 AND u.status = 0 AND bl.fan_user_id = #{user.createById}
<if test="user.nickName != null and user.nickName != ''"> <if test="user.nickName != null and user.nickName != ''">
AND u.nick_name LIKE CONCAT('%', #{user.nickName}, '%') AND u.nick_name LIKE CONCAT('%', #{user.nickName}, '%')
</if> </if>
@ -65,10 +65,12 @@
FROM FROM
common_push_blacklist bl JOIN sys_user u common_push_blacklist bl JOIN sys_user u
ON ON
bl.fan_user_id = u.id bl.concern_user_id = u.id
<where> <where>
u.del_flag = 0 AND u.status = 0 AND u.del_flag = 0 AND
bl.concern_user_id = #{concernUserId} AND bl.fan_user_id = #{fanUserId} u.status = 0 AND
bl.concern_user_id = #{concernUserId} AND
bl.fan_user_id = #{fanUserId}
</where> </where>
</select> </select>

26
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushConcernFanMapper.xml

@ -41,15 +41,15 @@
</otherwise> </otherwise>
</choose> </choose>
<where> <where>
cf.del_flag = 0 and u.status = 0 cf.del_flag = 0 AND u.status = 0
<if test="map.status != null and map.status != ''"> <if test="map.status != null and map.status != ''">
AND cf.status = #{map.status} AND cf.status = #{map.status}
</if> </if>
<if test="map.concernUserId != null and map.concernUserId != ''"> <if test="map.concernUserId != null and map.concernUserId != ''">
AND cf.concern_user_id = #{map.concernUserId} AND cf.concern_user_id = #{map.concernUserId}
</if> </if>
<if test="map.fanUserId != null and map.fanUserId != ''"> <if test="map.fanUserId != null and map.fanUserId != ''">
AND cf.fan_user_id = #{map.fanUserId} AND cf.fan_user_id = #{map.fanUserId}
</if> </if>
<if test="map.nickName != null and map.nickName != ''"> <if test="map.nickName != null and map.nickName != ''">
AND u.nick_name = #{map.nickName} AND u.nick_name = #{map.nickName}
@ -87,9 +87,16 @@
FROM FROM
common_push_concern_fan cf JOIN sys_user u common_push_concern_fan cf JOIN sys_user u
ON ON
cf.fan_user_id = u.id <choose>
<when test="onType == 1">
cf.concern_user_id = u.id
</when>
<otherwise>
cf.fan_user_id = u.id
</otherwise>
</choose>
<where> <where>
cf.del_flag = 0 and u.status = 0 cf.del_flag = 0 AND u.status = 0
AND cf.id = #{id} AND cf.id = #{id}
</where> </where>
</select> </select>
@ -105,12 +112,9 @@
LEFT JOIN (select * FROM common_push_concern_fan WHERE del_flag = 0 and fan_user_id = #{map.createById}) cf ON u.id = cf.concern_user_id LEFT JOIN (select * FROM common_push_concern_fan WHERE del_flag = 0 and fan_user_id = #{map.createById}) cf ON u.id = cf.concern_user_id
LEFT JOIN common_push_blacklist b ON u.id = b.concern_user_id LEFT JOIN common_push_blacklist b ON u.id = b.concern_user_id
<where> <where>
u.del_flag = 0 AND u.status = 0 u.del_flag = 0 AND u.status = 0 AND u.user_type not in(2,5)
<if test="map.createById != null and map.createById != ''"> <if test="map.createById != null and map.createById != ''">
AND u.id != #{map.createById} AND u.id != #{map.createById}
</if>
<if test="map.userType != null and map.userType != ''">
AND u.user_type != '2'
</if> </if>
<if test="map.nickName != null and map.nickName != ''"> <if test="map.nickName != null and map.nickName != ''">
AND u.nick_name = #{map.nickName} AND u.nick_name = #{map.nickName}

17
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/UserController.java

@ -116,30 +116,42 @@ public class UserController {
return R.ok(userService.getUserAuthority(user)); return R.ok(userService.getUserAuthority(user));
} }
@GetMapping("/test")
public R test(String id) {
List<User> userList = userService.list(Wrappers.<User>lambdaQuery()
.ne(User::getId, SecurityUtils.getUser().getId())
.notIn(User::getUserType, "2", "5"));
remotePushConcernFanService.enterpriseUserFanSave(id, userList);
return R.ok(userList);
}
@SysLog("用户新增") @SysLog("用户新增")
@PostMapping("/save") @PostMapping("/save")
@PreAuthorize("@pms.hasPermission('user_add')") @PreAuthorize("@pms.hasPermission('user_add')")
public R save(@RequestBody User user) { public R save(@RequestBody User user) {
user.setPassword(ENCODER.encode(user.getPassword())); user.setPassword(ENCODER.encode(user.getPassword()));
userService.saveUser(user); userService.saveUser(user);
// 企业用户推送类型数据同步
if (StrUtil.equals(user.getUserType(), "2")) { if (StrUtil.equals(user.getUserType(), "2")) {
remotePushConcernFanService.pushConcernFanSave(user.getId(), SecurityConstants.FROM_IN); //remotePushConcernFanService.pushConcernFanSave(user.getId(), SecurityConstants.FROM_IN);
} }
return R.ok(); return R.ok();
} }
@Inner(false) @Inner(false)
@SysLog("新增外部系统用户") @SysLog("新增外部系统用户")
@PostMapping("/saveExternalUser") @PostMapping("/saveExternalUser")
public R saveExternalUser(@RequestBody User externalUser) { public R saveExternalUser(@RequestBody User externalUser) {
User user = userService.getById("1510539584287346688"); User user = userService.getById("1510539584287346688");
userService.getUserAuthority(user);
KiccUser kiccUser = new KiccUser( KiccUser kiccUser = new KiccUser(
user.getId(), user.getId(),
user.getDeptId(), user.getDeptId(),
user.getUserName(), user.getUserName(),
SecurityConstants.BCRYPT + user.getPassword(), SecurityConstants.BCRYPT + user.getPassword(),
user.getPhone(), user.getPhone(),
user.getUserType(),
user.getTenantId(), user.getTenantId(),
true, true,
true, true,
@ -154,7 +166,6 @@ public class UserController {
return R.ok(externalUser); return R.ok(externalUser);
} }
@Inner @Inner
@GetMapping("/selectByUserName/{userName}") @GetMapping("/selectByUserName/{userName}")
public R selectByUserName(@PathVariable String userName) { public R selectByUserName(@PathVariable String userName) {

Loading…
Cancel
Save