Browse Source

feat: 新加聊天室功能

master
wangxiang 2 years ago
parent
commit
d9f5c036d5
  1. 36
      kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroup.java
  2. 35
      kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupType.java
  3. 39
      kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupUser.java
  4. 3
      kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/feign/RemotePushConcernFanService.java
  5. 107
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupController.java
  6. 77
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupTypeController.java
  7. 21
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupUserController.java
  8. 16
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupMapper.java
  9. 16
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupTypeMapper.java
  10. 16
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupService.java
  11. 16
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupTypeService.java
  12. 20
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupServiceImpl.java
  13. 20
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupTypeServiceImpl.java
  14. 5
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupMapper.xml
  15. 5
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupTypeMapper.xml
  16. 2
      kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/test/SimpleCrudGeneratorTest.java

36
kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroup.java

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
package com.cloud.kicc.commonbiz.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.kicc.common.data.entity.CommonEntity;
import java.io.Serializable;
import com.cloud.kicc.common.data.entity.TreeEntity;
import com.cloud.kicc.system.api.entity.Menu;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
/**
* <p>
* 聊天室
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("common_push_chat_group")
@ApiModel(value = "PushChatGroup对象", description = "聊天室")
public class PushChatGroup extends TreeEntity<PushChatGroup> {
private static final long serialVersionUID = 1L;
private Integer status;
private String typeId;
}

35
kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupType.java

@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
package com.cloud.kicc.commonbiz.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.kicc.common.data.entity.CommonEntity;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
/**
* <p>
* 聊天室类型
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("common_push_chat_group_type")
@ApiModel(value = "PushChatGroupType对象", description = "聊天室类型")
public class PushChatGroupType extends CommonEntity {
private static final long serialVersionUID = 1L;
private String id;
private String name;
private String isReviewed;
}

39
kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupUser.java

@ -0,0 +1,39 @@ @@ -0,0 +1,39 @@
package com.cloud.kicc.commonbiz.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cloud.kicc.common.data.entity.CommonEntity;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
/**
* <p>
* 推送类型
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("common_push_chat_group_user")
@ApiModel(value = "PushChatGroupUser对象", description = "推送类型")
public class PushChatGroupUser extends CommonEntity {
private static final long serialVersionUID = 1L;
private String id;
private String userId;
private String chatGroupId;
private Integer status;
private String adminStatus;
}

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

@ -5,6 +5,7 @@ import com.cloud.kicc.common.core.constant.AppConstants; @@ -5,6 +5,7 @@ import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.core.constant.ServiceNameConstants;
import com.cloud.kicc.system.api.entity.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@ -26,7 +27,7 @@ public interface RemotePushConcernFanService { @@ -26,7 +27,7 @@ public interface RemotePushConcernFanService {
@PostMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/enterpriseUserFanSave")
R enterpriseUserFanSave(@RequestParam("innerEnterpriseUserId") String innerEnterpriseUserId, @RequestBody List<User> userList);
@PostMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/removeUserPushData")
@DeleteMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/removeUserPushData")
R removeUserPushData(@RequestParam("userIds") Set<String> userIds);
@PostMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/bindConcernEnterpriseUser")

107
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupController.java

@ -0,0 +1,107 @@ @@ -0,0 +1,107 @@
package com.cloud.kicc.commonbiz.controller;
import cn.hutool.core.util.BooleanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.security.util.SecurityUtils;
import com.cloud.kicc.commonbiz.api.entity.*;
import com.cloud.kicc.commonbiz.api.enums.PushAuditStatusEnum;
import com.cloud.kicc.commonbiz.service.IPushChatGroupService;
import com.cloud.kicc.commonbiz.service.IPushChatGroupTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.List;
/**
* <p>
* 推送类型 前端控制器
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
@RestController
@RequestMapping(AppConstants.APP_COMMON + "/pushChatGroup")
@RequiredArgsConstructor
@Api(tags = "聊天室")
public class PushChatGroupController {
private final IPushChatGroupService iPushChatGroupService;
private final IPushChatGroupTypeService iPushChatGroupTypeService;
private LambdaQueryWrapper<PushChatGroup> getQueryWrapper(PushChatGroup pushChatGroup) {
return new LambdaQueryWrapper<PushChatGroup>()
.eq(StrUtil.isNotBlank(pushChatGroup.getTypeId()), PushChatGroup::getTypeId, pushChatGroup.getTypeId())
.eq(StrUtil.isNotBlank(pushChatGroup.getName()), PushChatGroup::getName, pushChatGroup.getName())
.eq(ObjectUtil.isNotEmpty(pushChatGroup.getStatus()), PushChatGroup::getStatus, pushChatGroup.getStatus())
.orderByAsc(PushChatGroup::getCreateTime);
}
@ApiOperation("查询列表")
@GetMapping("/list")
public R list(PushChatGroup pushChatGroup) {
List<PushChatGroup> list = iPushChatGroupService.list(getQueryWrapper(pushChatGroup));
return R.ok(list, list.size());
}
@ApiOperation("根据ID查询")
@GetMapping("/{id:\\w+}")
public R getById(@PathVariable("id") String id) {
return R.ok(iPushChatGroupService.getById(id));
}
@ApiOperation("保存")
@PostMapping("/save")
public R save(@Valid @RequestBody PushChatGroup pushChatGroup) {
PushChatGroupType pushChatGroupType = iPushChatGroupTypeService.getById(pushChatGroup.getTypeId());
if (ObjectUtil.isNotEmpty(pushChatGroupType) && BooleanUtil.toBoolean(pushChatGroupType.getIsReviewed())) {
pushChatGroup.setStatus(PushAuditStatusEnum.UNDER_REVIEW.getValue());
} else pushChatGroup.setStatus(PushAuditStatusEnum.APPROVED.getValue());
iPushChatGroupService.save(pushChatGroup);
return R.ok();
}
@ApiOperation("修改")
@PutMapping("/update")
public R update(@Valid @RequestBody PushChatGroup pushChatGroup) {
iPushChatGroupService.updateById(pushChatGroup);
return R.ok();
}
@ApiOperation("删除")
@DeleteMapping("/remove/{ids:[\\w,]+}")
public R<Boolean> removeById(@PathVariable String[] ids) {
iPushChatGroupService.removeByIds(Arrays.asList(ids));
return R.ok();
}
@PostMapping("/groupSend")
@ApiOperation("聊天室推送消息")
public R enterpriseMessageSend(@Valid @RequestBody PushChatMessage pushChatMessage) {
// todo: 待实现
return R.ok(true);
}
@ApiOperation("驳回聊天室审核")
@PutMapping("/rejectAuth/{ids:[\\w,]+}")
public R<Boolean> rejectAuth(@PathVariable String[] ids) {
iPushChatGroupService.update(Wrappers.<PushChatGroup>lambdaUpdate()
.set(PushChatGroup::getStatus, PushAuditStatusEnum.REJECTED.getValue())
.in(PushChatGroup::getId, ids));
return R.ok(true);
}
}

77
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupTypeController.java

@ -0,0 +1,77 @@ @@ -0,0 +1,77 @@
package com.cloud.kicc.commonbiz.controller;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.commonbiz.api.entity.PushChatGroupType;
import com.cloud.kicc.commonbiz.service.IPushChatGroupTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Arrays;
/**
* <p>
* 前端控制器
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
@RestController
@RequestMapping(AppConstants.APP_COMMON + "/pushChatGroupType")
@RequiredArgsConstructor
@Api(tags = "聊天室类型")
public class PushChatGroupTypeController {
private final IPushChatGroupTypeService iPushChatGroupTypeService;
private LambdaQueryWrapper<PushChatGroupType> getQueryWrapper(PushChatGroupType pushChatGroupType) {
return new LambdaQueryWrapper<PushChatGroupType>()
.eq(StrUtil.isNotBlank(pushChatGroupType.getName()), PushChatGroupType::getName, pushChatGroupType.getName())
.orderByAsc(PushChatGroupType::getCreateTime);
}
@ApiOperation("分页查询")
@GetMapping("/list")
public R list(Page page, PushChatGroupType pushChatGroupType) {
IPage<PushChatGroupType> list = iPushChatGroupTypeService.page(page, getQueryWrapper(pushChatGroupType));
return R.ok(list.getRecords(), list.getTotal());
}
@ApiOperation("根据ID查询")
@GetMapping("/{id:\\w+}")
public R getById(@PathVariable("id") String id) {
return R.ok(iPushChatGroupTypeService.getById(id));
}
@ApiOperation("保存")
@PostMapping("/save")
public R save(@Valid @RequestBody PushChatGroupType pushChatGroupType) {
iPushChatGroupTypeService.save(pushChatGroupType);
return R.ok();
}
@ApiOperation("修改")
@PutMapping("/update")
public R update(@Valid @RequestBody PushChatGroupType pushChatGroupType) {
iPushChatGroupTypeService.updateById(pushChatGroupType);
return R.ok();
}
@ApiOperation("删除")
@DeleteMapping("/remove/{ids:[\\w,]+}")
public R<Boolean> removeById(@PathVariable String[] ids) {
iPushChatGroupTypeService.removeByIds(Arrays.asList(ids));
return R.ok();
}
}

21
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupUserController.java

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
package com.cloud.kicc.commonbiz.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 推送类型 前端控制器
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
@Controller
@RequestMapping("/pushChatGroupUser")
public class PushChatGroupUserController {
}

16
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupMapper.java

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
package com.cloud.kicc.commonbiz.mapper;
import com.cloud.kicc.commonbiz.api.entity.PushChatGroup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 推送类型 Mapper 接口
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
public interface PushChatGroupMapper extends BaseMapper<PushChatGroup> {
}

16
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupTypeMapper.java

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
package com.cloud.kicc.commonbiz.mapper;
import com.cloud.kicc.commonbiz.api.entity.PushChatGroupType;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 推送类型 Mapper 接口
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
public interface PushChatGroupTypeMapper extends BaseMapper<PushChatGroupType> {
}

16
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupService.java

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
package com.cloud.kicc.commonbiz.service;
import com.cloud.kicc.commonbiz.api.entity.PushChatGroup;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 推送类型 服务类
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
public interface IPushChatGroupService extends IService<PushChatGroup> {
}

16
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupTypeService.java

@ -0,0 +1,16 @@ @@ -0,0 +1,16 @@
package com.cloud.kicc.commonbiz.service;
import com.cloud.kicc.commonbiz.api.entity.PushChatGroupType;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 推送类型 服务类
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
public interface IPushChatGroupTypeService extends IService<PushChatGroupType> {
}

20
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupServiceImpl.java

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
package com.cloud.kicc.commonbiz.service.impl;
import com.cloud.kicc.commonbiz.api.entity.PushChatGroup;
import com.cloud.kicc.commonbiz.mapper.PushChatGroupMapper;
import com.cloud.kicc.commonbiz.service.IPushChatGroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 推送类型 服务实现类
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
@Service
public class PushChatGroupServiceImpl extends ServiceImpl<PushChatGroupMapper, PushChatGroup> implements IPushChatGroupService {
}

20
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupTypeServiceImpl.java

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
package com.cloud.kicc.commonbiz.service.impl;
import com.cloud.kicc.commonbiz.api.entity.PushChatGroupType;
import com.cloud.kicc.commonbiz.mapper.PushChatGroupTypeMapper;
import com.cloud.kicc.commonbiz.service.IPushChatGroupTypeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 推送类型 服务实现类
* </p>
*
* @author wangxiang4
* @since 2023-05-06
*/
@Service
public class PushChatGroupTypeServiceImpl extends ServiceImpl<PushChatGroupTypeMapper, PushChatGroupType> implements IPushChatGroupTypeService {
}

5
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupMapper.xml

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cloud.kicc.commonbiz.mapper.PushChatGroupMapper">
</mapper>

5
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupTypeMapper.xml

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cloud.kicc.commonbiz.mapper.PushChatGroupTypeMapper">
</mapper>

2
kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/test/SimpleCrudGeneratorTest.java

@ -44,7 +44,7 @@ public class SimpleCrudGeneratorTest { @@ -44,7 +44,7 @@ public class SimpleCrudGeneratorTest {
String packageController = "controller";
String[] includeTable = { "common_push_application", "common_push_blacklist", "common_push_chat_message", "common_push_concern_fan", "common_push_concern_fan_type", "common_push_enterprise", "common_push_ringtone", "common_push_type" };
String[] includeTable = { "common_push_chat_group_user" };
String[] filterEntityTablePrefix = { "common_" };

Loading…
Cancel
Save