基础管理

This commit is contained in:
mashuai 2024-09-09 13:59:30 +08:00
parent 4a9aea54c8
commit df1f7f5071
10 changed files with 251 additions and 13 deletions

View File

@ -21,7 +21,7 @@ public enum ExceptionEnum {
UN_BIND_TO_DATABASE(500, "解绑失败,请联系管理员!!!"),
UPDATE_TO_DATABASE(500, "修改失败,请联系管理员!!!"),
RETURN_DATA_IS_EMPTY(501, "返回数据为空"),
INVALID_PHONE_NUMBER_FORMAT(501, "手机号格式不正确"),
IOT_ENCODING_ERROR(502, "输入的IOT编码有误请输入正确的编码");
private Integer code;

View File

@ -1,11 +1,12 @@
package com.bonus.base.controller;
import com.bonus.base.domain.TbArea;
import com.bonus.base.domain.TbData;
import com.bonus.base.domain.TbProDepart;
import com.bonus.base.service.TbProDepartService;
import com.bonus.common.core.utils.poi.ExcelUtil;
import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.core.web.page.TableDataInfo;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
@ -34,11 +35,14 @@ public class TbProDepartController extends BaseController {
* @param tbProDepart 筛选条件
* @return 查询结果
*/
@GetMapping
public TableDataInfo queryByPage(TbProDepart tbProDepart) {
@GetMapping("/list")
public AjaxResult queryByPage(TbProDepart tbProDepart) {
if (tbProDepart.getIsAll()) {
return AjaxResult.success(tbProDepartService.queryByPage(tbProDepart));
}
startPage();
List<TbProDepart> list = tbProDepartService.queryByPage(tbProDepart);
return getDataTable(list);
return AjaxResult.success(getDataTable(list));
}
/**
@ -47,11 +51,31 @@ public class TbProDepartController extends BaseController {
* @param id 主键
* @return 单条数据
*/
@GetMapping("{id}")
@GetMapping("/{id}")
public AjaxResult queryById(@PathVariable("id") Long id) {
return AjaxResult.success(tbProDepartService.queryById(id));
}
/**
* 查询所有区域数据
* @param tbArea
* @return
*/
@GetMapping("/getAreaList")
public AjaxResult getAreaList(TbArea tbArea) {
return AjaxResult.success(tbProDepartService.getAreaList(tbArea));
}
/**
* 查询所有字典数据列表
* @param data
* @return
*/
@GetMapping("/getDataList")
public AjaxResult getDataList(TbData data) {
return AjaxResult.success(tbProDepartService.getDataList(data));
}
/**
* 新增数据
*

View File

@ -0,0 +1,31 @@
package com.bonus.base.domain;
import lombok.Data;
/**
* @Author ma_sh
* @create 2024/9/9 13:07
*/
@Data
public class TbArea {
/**
* 主键id
*/
private Long id;
/**
* 区域名称
*/
private String areaName;
/**
* 区域类型 0 地区 1 监管单位 3...
*/
private String areaType;
/**
* 层级id
*/
private Long pId;
}

View File

@ -0,0 +1,42 @@
package com.bonus.base.domain;
import lombok.Data;
/**
* 字典数据
* @Author ma_sh
* @create 2024/9/9 13:21
*/
@Data
public class TbData {
/**
* 字典编码
*/
private Long dictCode;
/**
* 字典排序
*/
private String dictSort;
/**
* 字典标签
*/
private String dictLabel;
/**
* 字典键值
*/
private String dictValue;
/**
* 字典类型
*/
private String dictType;
/**
* 项目部类型(字典表)
*/
private String departType;
}

View File

@ -14,6 +14,12 @@ import java.io.Serializable;
@Data
public class TbProDepart implements Serializable {
private static final long serialVersionUID = -99327586927571942L;
/**
* 是否下拉选
*/
private Boolean isAll;
/**
* 主键
*/

View File

@ -1,5 +1,7 @@
package com.bonus.base.mapper;
import com.bonus.base.domain.TbArea;
import com.bonus.base.domain.TbData;
import com.bonus.base.domain.TbProDepart;
import java.util.List;
@ -49,5 +51,19 @@ public interface TbProDepartMapper {
* @return
*/
List<TbProDepart> queryByPage(TbProDepart tbProDepart);
/**
* 获取区域列表
* @param tbArea
* @return
*/
List<TbArea> getAreaList(TbArea tbArea);
/**
* 获取数据列表
* @param data
* @return
*/
List<TbData> getDataList(TbData data);
}

View File

@ -1,5 +1,7 @@
package com.bonus.base.service;
import com.bonus.base.domain.TbArea;
import com.bonus.base.domain.TbData;
import com.bonus.base.domain.TbProDepart;
import com.bonus.common.core.web.domain.AjaxResult;
import org.springframework.data.domain.Page;
@ -55,4 +57,17 @@ public interface TbProDepartService {
*/
AjaxResult deleteById(Long id);
/**
* 获取区域列表
* @param tbArea
* @return
*/
List<TbArea> getAreaList(TbArea tbArea);
/**
* 获取字典数据列表
* @param data
* @return
*/
List<TbData> getDataList(TbData data);
}

View File

@ -1,9 +1,15 @@
package com.bonus.base.service.impl;
import cn.hutool.core.util.PhoneUtil;
import com.alibaba.nacos.common.utils.CollectionUtils;
import com.bonus.base.config.ExceptionEnum;
import com.bonus.base.domain.TbArea;
import com.bonus.base.domain.TbData;
import com.bonus.base.domain.TbProDepart;
import com.bonus.base.mapper.TbProDepartMapper;
import com.bonus.base.service.TbProDepartService;
import com.bonus.base.utils.PhoneNumberUtils;
import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.web.domain.AjaxResult;
import org.springframework.stereotype.Service;
@ -40,7 +46,16 @@ public class TbProDepartServiceImpl implements TbProDepartService {
*/
@Override
public List<TbProDepart> queryByPage(TbProDepart tbProDepart) {
return tbProDepartDao.queryByPage(tbProDepart);
List<TbProDepart> list = tbProDepartDao.queryByPage(tbProDepart);
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(item -> {
if (StringUtils.isNotBlank(item.getHeadUserPhone())) {
//对手机号进行中间加密
item.setHeadUserPhone(PhoneNumberUtils.maskPhoneNumber(item.getHeadUserPhone()));
}
});
}
return list;
}
/**
@ -51,6 +66,9 @@ public class TbProDepartServiceImpl implements TbProDepartService {
*/
@Override
public AjaxResult insert(TbProDepart tbProDepart) {
if (getObjectResultBean(tbProDepart)) {
return AjaxResult.error(ExceptionEnum.INVALID_PHONE_NUMBER_FORMAT.getCode(), ExceptionEnum.INVALID_PHONE_NUMBER_FORMAT.getMsg());
}
int result = tbProDepartDao.insert(tbProDepart);
if (result > 0) {
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);
@ -58,6 +76,20 @@ public class TbProDepartServiceImpl implements TbProDepartService {
return AjaxResult.error(ExceptionEnum.SAVE_TO_DATABASE.getCode(), ExceptionEnum.SAVE_TO_DATABASE.getMsg());
}
/**
* 手机号校验方法抽取
* @param tbProDepart
* @return
*/
private boolean getObjectResultBean(TbProDepart tbProDepart) {
if (StringUtils.isNotBlank(tbProDepart.getHeadUserPhone())) {
if (!PhoneUtil.isMobile(tbProDepart.getHeadUserPhone())) {
return true;
}
}
return false;
}
/**
* 修改数据
*
@ -66,6 +98,9 @@ public class TbProDepartServiceImpl implements TbProDepartService {
*/
@Override
public AjaxResult update(TbProDepart tbProDepart) {
if (getObjectResultBean(tbProDepart)) {
return AjaxResult.error(ExceptionEnum.INVALID_PHONE_NUMBER_FORMAT.getCode(), ExceptionEnum.INVALID_PHONE_NUMBER_FORMAT.getMsg());
}
int result = tbProDepartDao.update(tbProDepart);
if (result > 0) {
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);
@ -89,4 +124,29 @@ public class TbProDepartServiceImpl implements TbProDepartService {
return AjaxResult.error(ExceptionEnum.DELETE_TO_DATABASE.getCode(), ExceptionEnum.DELETE_TO_DATABASE.getMsg());
}
}
/**
* 获取区域列表
* @param tbArea
* @return
*/
@Override
public List<TbArea> getAreaList(TbArea tbArea) {
return tbProDepartDao.getAreaList(tbArea);
}
/**
* 获取字典列表
* @param data
* @return
*/
@Override
public List<TbData> getDataList(TbData data) {
List<TbData> list = tbProDepartDao.getDataList(data);
if (CollectionUtils.isNotEmpty(list)) {
// dictLabel 的值赋给 departType
data.setDepartType(data.getDictLabel());
}
return list;
}
}

View File

@ -0,0 +1,28 @@
package com.bonus.base.utils;
/**
* 手机号中间4位数*
* @Author ma_sh
* @create 2024/9/9 13:47
*/
public class PhoneNumberUtils {
/**
* 将手机号中间的四位数字替换为星号
* @param phoneNumber 需要加密的手机号
* @return 加密后的手机号
*/
public static String maskPhoneNumber(String phoneNumber) {
// 验证手机号是否有效
if (phoneNumber == null || phoneNumber.length() != 11) {
throw new IllegalArgumentException("手机号长度不正确应为11位。");
}
// 提取前3位和后4位
String prefix = phoneNumber.substring(0, 3);
String suffix = phoneNumber.substring(7);
// 生成加密后的手机号
return prefix + "****" + suffix;
}
}

View File

@ -16,9 +16,9 @@
update_user as updateUser, del_flag as delFlag
from tb_pro_depart tpd
left join tb_area ta on tpd.area_id = ta.id
<where>
where del_flag = '0'
<if test="id != null">
tpd.id = #{id}
and tpd.id = #{id}
</if>
<if test="areaName != null and areaName != ''">
and ta.area_name like concat('%',#{areaName},'%')
@ -29,7 +29,6 @@
<if test="headUser != null and headUser != ''">
and head_user like concat('%',#{headUser},'%')
</if>
</where>
</select>
<!--查询单个-->
@ -39,8 +38,7 @@
depart_type as departType,
area_id as areaId,
ta.area_name as areaName,
head_user as
headUser,
head_user as headUser,
head_user_phone as headUserPhone,
remarks as remarks,
create_time as createTime,
@ -50,7 +48,25 @@
del_flag as delFlag
from tb_pro_depart tpd
left join tb_areata on tpd.area_id = ta.id
where tpd.id = #{id}
where del_flag = '0'
and tpd.id = #{id}
</select>
<select id="getAreaList" resultType="com.bonus.base.domain.TbArea">
select id as id, area_name as areaName, area_type as areaType, p_id as pId
from tb_area
where del_flag = '0'
<if test="areaType != null and areaType != ''">
and area_type = #{areaType}
</if>
</select>
<select id="getDataList" resultType="com.bonus.base.domain.TbData">
select dict_code as dictCode, dict_label as dictLabel, dict_value as dictValue, dict_sort as dictSort, dict_type as
dictType
from sys_dict_data
where status = '0'
<if test="dictType != null and dictType != ''">
and dict_type = #{dictType}
</if>
</select>
<!--新增所有列-->