数据
This commit is contained in:
36
doc/1.2.0.sql
Normal file
36
doc/1.2.0.sql
Normal file
@@ -0,0 +1,36 @@
|
||||
CREATE TABLE `cai_account_black`
|
||||
(
|
||||
`id` bigint unsigned NOT NULL,
|
||||
`card_account` varchar(50) NOT NULL COMMENT '账户号',
|
||||
`card_name` varchar(50) NOT NULL COMMENT '账户名称',
|
||||
`enable_status` tinyint NOT NULL DEFAULT '1' COMMENT '是否开启',
|
||||
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `idx_account` (`card_account`, `card_name`) USING BTREE
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8mb4
|
||||
COLLATE = utf8mb4_general_ci
|
||||
ROW_FORMAT = DYNAMIC COMMENT ='账户黑名单';
|
||||
|
||||
ALTER TABLE `cai_anchor`
|
||||
ADD COLUMN `enable_greet` tinyint(1) NOT NULL DEFAULT 1 COMMENT '是否允许群发' AFTER `recommend_status`;
|
||||
|
||||
-- 菜单 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values(1819683762522001409, '账户黑名单', '1737668638361206786', '1', 'accountBlack', 'cai/accountBlack/index', 1, 0, 'C', '0', '0', 'cai:accountBlack:list', '#', 'admin', sysdate(), '', null, '账户黑名单菜单');
|
||||
|
||||
-- 按钮 SQL
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values(1819683762522001410, '账户黑名单查询', 1819683762522001409, '1', '#', '', 1, 0, 'F', '0', '0', 'cai:accountBlack:query', '#', 'admin', sysdate(), '', null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values(1819683762522001411, '账户黑名单新增', 1819683762522001409, '2', '#', '', 1, 0, 'F', '0', '0', 'cai:accountBlack:add', '#', 'admin', sysdate(), '', null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values(1819683762522001412, '账户黑名单修改', 1819683762522001409, '3', '#', '', 1, 0, 'F', '0', '0', 'cai:accountBlack:edit', '#', 'admin', sysdate(), '', null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values(1819683762522001413, '账户黑名单删除', 1819683762522001409, '4', '#', '', 1, 0, 'F', '0', '0', 'cai:accountBlack:remove', '#', 'admin', sysdate(), '', null, '');
|
||||
|
||||
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
|
||||
values(1819683762522001414, '账户黑名单导出', 1819683762522001409, '5', '#', '', 1, 0, 'F', '0', '0', 'cai:accountBlack:export', '#', 'admin', sysdate(), '', null, '');
|
||||
@@ -0,0 +1,107 @@
|
||||
package com.ruoyi.web.controller.cai.admin;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.domain.AccountBlack;
|
||||
import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
|
||||
import com.ruoyi.cai.mapper.AccountBlackMapper;
|
||||
import com.ruoyi.cai.mapper.AccountMapper;
|
||||
import com.ruoyi.cai.service.AccountBlackService;
|
||||
import com.ruoyi.common.annotation.Log;
|
||||
import com.ruoyi.common.annotation.RepeatSubmit;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.PageQuery;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.TableDataInfo;
|
||||
import com.ruoyi.common.core.validate.AddGroup;
|
||||
import com.ruoyi.common.core.validate.EditGroup;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Arrays;
|
||||
|
||||
/**
|
||||
* 账户黑名单
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-08-03
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/cai/accountBlack")
|
||||
public class AccountBlackController extends BaseController {
|
||||
|
||||
private final AccountBlackService accountBlackService;
|
||||
@Resource
|
||||
private AccountBlackMapper accountBlackMapper;
|
||||
|
||||
/**
|
||||
* 查询账户黑名单列表
|
||||
*/
|
||||
@SaCheckPermission("cai:accountBlack:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<AccountBlack> list(AccountBlack bo, PageQuery pageQuery) {
|
||||
Page<AccountBlack> page = accountBlackService.page(pageQuery.build(), Wrappers.lambdaQuery(bo));
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
@GetMapping("/user")
|
||||
public TableDataInfo<UserAdminVo> userList(AccountBlack bo, PageQuery pageQuery) {
|
||||
Page<UserAdminVo> page = accountBlackMapper.pageUserAdmin(pageQuery.build(), bo.getCardAccount(), bo.getCardName());
|
||||
return TableDataInfo.build(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取账户黑名单详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("cai:accountBlack:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<AccountBlack> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable String id) {
|
||||
return R.ok(accountBlackService.getById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增账户黑名单
|
||||
*/
|
||||
@SaCheckPermission("cai:accountBlack:add")
|
||||
@Log(title = "账户黑名单", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody AccountBlack bo) {
|
||||
return toAjax(accountBlackService.save(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改账户黑名单
|
||||
*/
|
||||
@SaCheckPermission("cai:accountBlack:edit")
|
||||
@Log(title = "账户黑名单", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody AccountBlack bo) {
|
||||
return toAjax(accountBlackService.updateById(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除账户黑名单
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("cai:accountBlack:remove")
|
||||
@Log(title = "账户黑名单", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable String[] ids) {
|
||||
return toAjax(accountBlackService.removeBatchByIds(Arrays.asList(ids)));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.ruoyi.cai.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 账户黑名单对象 cai_account_black
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-08-03
|
||||
*/
|
||||
@Data
|
||||
@TableName("cai_account_black")
|
||||
public class AccountBlack implements Serializable {
|
||||
|
||||
private static final long serialVersionUID=1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private String id;
|
||||
private String cardAccount;
|
||||
/**
|
||||
* 账户名称
|
||||
*/
|
||||
private String cardName;
|
||||
/**
|
||||
* 是否开启
|
||||
*/
|
||||
private Integer enableStatus;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@@ -85,6 +85,11 @@ public class Anchor implements Serializable{
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 是否允许 发布群发
|
||||
*/
|
||||
private Integer enableGreet;
|
||||
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
|
||||
@@ -33,4 +33,10 @@ public class UserAdminVo extends User {
|
||||
|
||||
private LocalDateTime regBeginTime;
|
||||
private LocalDateTime regEndTime;
|
||||
|
||||
private String cardAccount;
|
||||
/**
|
||||
* 账户名称
|
||||
*/
|
||||
private String cardName;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.ruoyi.cai.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.ruoyi.cai.domain.AccountBlack;
|
||||
import com.ruoyi.cai.dto.admin.vo.UserAdminVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
/**
|
||||
* 账户黑名单Mapper接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-08-03
|
||||
*/
|
||||
public interface AccountBlackMapper extends BaseMapper<AccountBlack> {
|
||||
|
||||
Page<UserAdminVo> pageUserAdmin(@Param("build") Page<Object> build, @Param("cardAccount") String cardAccount, @Param("cardName") String cardName);
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.ruoyi.cai.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ruoyi.cai.domain.AccountBlack;
|
||||
|
||||
/**
|
||||
* 账户黑名单Service接口
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-08-03
|
||||
*/
|
||||
public interface AccountBlackService extends IService<AccountBlack> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.ruoyi.cai.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ruoyi.cai.domain.AccountBlack;
|
||||
import com.ruoyi.cai.mapper.AccountBlackMapper;
|
||||
import com.ruoyi.cai.service.AccountBlackService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 账户黑名单Service业务层处理
|
||||
*
|
||||
* @author 77
|
||||
* @date 2024-08-03
|
||||
*/
|
||||
@Service
|
||||
public class AccountBlackServiceImpl extends ServiceImpl<AccountBlackMapper,AccountBlack> implements AccountBlackService {
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<?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.ruoyi.cai.mapper.AccountBlackMapper">
|
||||
|
||||
<select id="pageUserAdmin" resultType="com.ruoyi.cai.dto.admin.vo.UserAdminVo">
|
||||
select t1.*,t2.last_login_ip,t2.last_login_time,t2.reg_ip,t2.reg_time,
|
||||
t5.card_account,t5.card_name,
|
||||
t4.status as online_status
|
||||
from cai_user t1
|
||||
left join cai_user_info t2 on t1.id = t2.user_id
|
||||
left join cai_user_online t4 on t1.id = t4.user_id
|
||||
join cai_account_cash t5 on t1.id = t5.user_id
|
||||
where t5.card_account = #{cardAccount} and t5.card_name = #{cardName}
|
||||
order by t2.last_login_time desc
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user