diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroup.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroup.java new file mode 100644 index 00000000..c0b075ea --- /dev/null +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroup.java @@ -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; + +/** + *

+ * 聊天室 + *

+ * + * @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 { + + private static final long serialVersionUID = 1L; + + private Integer status; + + private String typeId; + +} diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupType.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupType.java new file mode 100644 index 00000000..b27af2c5 --- /dev/null +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupType.java @@ -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; + +/** + *

+ * 聊天室类型 + *

+ * + * @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; + +} diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupUser.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupUser.java new file mode 100644 index 00000000..51bfe9f0 --- /dev/null +++ b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/entity/PushChatGroupUser.java @@ -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; + +/** + *

+ * 推送类型 + *

+ * + * @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; + +} diff --git a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/feign/RemotePushConcernFanService.java b/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/feign/RemotePushConcernFanService.java index a43cc7ee..14342458 100644 --- a/kicc-platform/kicc-platform-api/kicc-common-api/src/main/java/com/cloud/kicc/commonbiz/api/feign/RemotePushConcernFanService.java +++ b/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; 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 { @PostMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/enterpriseUserFanSave") R enterpriseUserFanSave(@RequestParam("innerEnterpriseUserId") String innerEnterpriseUserId, @RequestBody List userList); - @PostMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/removeUserPushData") + @DeleteMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/removeUserPushData") R removeUserPushData(@RequestParam("userIds") Set userIds); @PostMapping(value = AppConstants.APP_COMMON + "/pushConcernFan/bindConcernEnterpriseUser") diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupController.java new file mode 100644 index 00000000..9c4dabf9 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupController.java @@ -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; + +/** + *

+ * 推送类型 前端控制器 + *

+ * + * @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 getQueryWrapper(PushChatGroup pushChatGroup) { + return new LambdaQueryWrapper() + .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 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 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 rejectAuth(@PathVariable String[] ids) { + iPushChatGroupService.update(Wrappers.lambdaUpdate() + .set(PushChatGroup::getStatus, PushAuditStatusEnum.REJECTED.getValue()) + .in(PushChatGroup::getId, ids)); + return R.ok(true); + } +} + diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupTypeController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupTypeController.java new file mode 100644 index 00000000..ddb6a9f6 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupTypeController.java @@ -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; + +/** + *

+ * 前端控制器 + *

+ * + * @author wangxiang4 + * @since 2023-05-06 + */ +@RestController +@RequestMapping(AppConstants.APP_COMMON + "/pushChatGroupType") +@RequiredArgsConstructor +@Api(tags = "聊天室类型") +public class PushChatGroupTypeController { + + private final IPushChatGroupTypeService iPushChatGroupTypeService; + + private LambdaQueryWrapper getQueryWrapper(PushChatGroupType pushChatGroupType) { + return new LambdaQueryWrapper() + .eq(StrUtil.isNotBlank(pushChatGroupType.getName()), PushChatGroupType::getName, pushChatGroupType.getName()) + .orderByAsc(PushChatGroupType::getCreateTime); + } + + @ApiOperation("分页查询") + @GetMapping("/list") + public R list(Page page, PushChatGroupType pushChatGroupType) { + IPage 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 removeById(@PathVariable String[] ids) { + iPushChatGroupTypeService.removeByIds(Arrays.asList(ids)); + return R.ok(); + } + +} + diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupUserController.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupUserController.java new file mode 100644 index 00000000..86d35622 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/controller/PushChatGroupUserController.java @@ -0,0 +1,21 @@ +package com.cloud.kicc.commonbiz.controller; + + +import org.springframework.web.bind.annotation.RequestMapping; + +import org.springframework.stereotype.Controller; + +/** + *

+ * 推送类型 前端控制器 + *

+ * + * @author wangxiang4 + * @since 2023-05-06 + */ +@Controller +@RequestMapping("/pushChatGroupUser") +public class PushChatGroupUserController { + +} + diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupMapper.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupMapper.java new file mode 100644 index 00000000..3bb4456c --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupMapper.java @@ -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; + +/** + *

+ * 推送类型 Mapper 接口 + *

+ * + * @author wangxiang4 + * @since 2023-05-06 + */ +public interface PushChatGroupMapper extends BaseMapper { + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupTypeMapper.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupTypeMapper.java new file mode 100644 index 00000000..83a4ecc5 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/mapper/PushChatGroupTypeMapper.java @@ -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; + +/** + *

+ * 推送类型 Mapper 接口 + *

+ * + * @author wangxiang4 + * @since 2023-05-06 + */ +public interface PushChatGroupTypeMapper extends BaseMapper { + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupService.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupService.java new file mode 100644 index 00000000..8540ccdb --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupService.java @@ -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; + +/** + *

+ * 推送类型 服务类 + *

+ * + * @author wangxiang4 + * @since 2023-05-06 + */ +public interface IPushChatGroupService extends IService { + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupTypeService.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupTypeService.java new file mode 100644 index 00000000..0de9ccfb --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/IPushChatGroupTypeService.java @@ -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; + +/** + *

+ * 推送类型 服务类 + *

+ * + * @author wangxiang4 + * @since 2023-05-06 + */ +public interface IPushChatGroupTypeService extends IService { + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupServiceImpl.java new file mode 100644 index 00000000..dbe3cdc6 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupServiceImpl.java @@ -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; + +/** + *

+ * 推送类型 服务实现类 + *

+ * + * @author wangxiang4 + * @since 2023-05-06 + */ +@Service +public class PushChatGroupServiceImpl extends ServiceImpl implements IPushChatGroupService { + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupTypeServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupTypeServiceImpl.java new file mode 100644 index 00000000..6cef039e --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/java/com/cloud/kicc/commonbiz/service/impl/PushChatGroupTypeServiceImpl.java @@ -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; + +/** + *

+ * 推送类型 服务实现类 + *

+ * + * @author wangxiang4 + * @since 2023-05-06 + */ +@Service +public class PushChatGroupTypeServiceImpl extends ServiceImpl implements IPushChatGroupTypeService { + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupMapper.xml b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupMapper.xml new file mode 100644 index 00000000..dba6f1c3 --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupTypeMapper.xml b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupTypeMapper.xml new file mode 100644 index 00000000..881541ba --- /dev/null +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/resources/mapper/PushChatGroupTypeMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/test/SimpleCrudGeneratorTest.java b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/test/SimpleCrudGeneratorTest.java index ed073028..42051947 100644 --- a/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/test/SimpleCrudGeneratorTest.java +++ b/kicc-platform/kicc-platform-biz/kicc-common-biz/src/main/test/SimpleCrudGeneratorTest.java @@ -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_" };