基础管理
This commit is contained in:
parent
4a9aea54c8
commit
df1f7f5071
|
|
@ -21,7 +21,7 @@ public enum ExceptionEnum {
|
||||||
UN_BIND_TO_DATABASE(500, "解绑失败,请联系管理员!!!"),
|
UN_BIND_TO_DATABASE(500, "解绑失败,请联系管理员!!!"),
|
||||||
UPDATE_TO_DATABASE(500, "修改失败,请联系管理员!!!"),
|
UPDATE_TO_DATABASE(500, "修改失败,请联系管理员!!!"),
|
||||||
|
|
||||||
RETURN_DATA_IS_EMPTY(501, "返回数据为空!!"),
|
INVALID_PHONE_NUMBER_FORMAT(501, "手机号格式不正确!!"),
|
||||||
IOT_ENCODING_ERROR(502, "输入的IOT编码有误,请输入正确的编码!!!");
|
IOT_ENCODING_ERROR(502, "输入的IOT编码有误,请输入正确的编码!!!");
|
||||||
private Integer code;
|
private Integer code;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
package com.bonus.base.controller;
|
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.domain.TbProDepart;
|
||||||
import com.bonus.base.service.TbProDepartService;
|
import com.bonus.base.service.TbProDepartService;
|
||||||
import com.bonus.common.core.utils.poi.ExcelUtil;
|
import com.bonus.common.core.utils.poi.ExcelUtil;
|
||||||
import com.bonus.common.core.web.controller.BaseController;
|
import com.bonus.common.core.web.controller.BaseController;
|
||||||
import com.bonus.common.core.web.domain.AjaxResult;
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import com.bonus.common.core.web.page.TableDataInfo;
|
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
@ -34,11 +35,14 @@ public class TbProDepartController extends BaseController {
|
||||||
* @param tbProDepart 筛选条件
|
* @param tbProDepart 筛选条件
|
||||||
* @return 查询结果
|
* @return 查询结果
|
||||||
*/
|
*/
|
||||||
@GetMapping
|
@GetMapping("/list")
|
||||||
public TableDataInfo queryByPage(TbProDepart tbProDepart) {
|
public AjaxResult queryByPage(TbProDepart tbProDepart) {
|
||||||
|
if (tbProDepart.getIsAll()) {
|
||||||
|
return AjaxResult.success(tbProDepartService.queryByPage(tbProDepart));
|
||||||
|
}
|
||||||
startPage();
|
startPage();
|
||||||
List<TbProDepart> list = tbProDepartService.queryByPage(tbProDepart);
|
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 主键
|
* @param id 主键
|
||||||
* @return 单条数据
|
* @return 单条数据
|
||||||
*/
|
*/
|
||||||
@GetMapping("{id}")
|
@GetMapping("/{id}")
|
||||||
public AjaxResult queryById(@PathVariable("id") Long id) {
|
public AjaxResult queryById(@PathVariable("id") Long id) {
|
||||||
return AjaxResult.success(tbProDepartService.queryById(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));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增数据
|
* 新增数据
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
|
@ -14,6 +14,12 @@ import java.io.Serializable;
|
||||||
@Data
|
@Data
|
||||||
public class TbProDepart implements Serializable {
|
public class TbProDepart implements Serializable {
|
||||||
private static final long serialVersionUID = -99327586927571942L;
|
private static final long serialVersionUID = -99327586927571942L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否下拉选
|
||||||
|
*/
|
||||||
|
private Boolean isAll;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 主键
|
* 主键
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package com.bonus.base.mapper;
|
package com.bonus.base.mapper;
|
||||||
|
|
||||||
|
import com.bonus.base.domain.TbArea;
|
||||||
|
import com.bonus.base.domain.TbData;
|
||||||
import com.bonus.base.domain.TbProDepart;
|
import com.bonus.base.domain.TbProDepart;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -49,5 +51,19 @@ public interface TbProDepartMapper {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<TbProDepart> queryByPage(TbProDepart tbProDepart);
|
List<TbProDepart> queryByPage(TbProDepart tbProDepart);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取区域列表
|
||||||
|
* @param tbArea
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<TbArea> getAreaList(TbArea tbArea);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取数据列表
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<TbData> getDataList(TbData data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package com.bonus.base.service;
|
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.base.domain.TbProDepart;
|
||||||
import com.bonus.common.core.web.domain.AjaxResult;
|
import com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
|
|
@ -55,4 +57,17 @@ public interface TbProDepartService {
|
||||||
*/
|
*/
|
||||||
AjaxResult deleteById(Long id);
|
AjaxResult deleteById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取区域列表
|
||||||
|
* @param tbArea
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<TbArea> getAreaList(TbArea tbArea);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取字典数据列表
|
||||||
|
* @param data
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<TbData> getDataList(TbData data);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,15 @@
|
||||||
package com.bonus.base.service.impl;
|
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.config.ExceptionEnum;
|
||||||
|
import com.bonus.base.domain.TbArea;
|
||||||
|
import com.bonus.base.domain.TbData;
|
||||||
import com.bonus.base.domain.TbProDepart;
|
import com.bonus.base.domain.TbProDepart;
|
||||||
import com.bonus.base.mapper.TbProDepartMapper;
|
import com.bonus.base.mapper.TbProDepartMapper;
|
||||||
import com.bonus.base.service.TbProDepartService;
|
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 com.bonus.common.core.web.domain.AjaxResult;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
|
@ -40,7 +46,16 @@ public class TbProDepartServiceImpl implements TbProDepartService {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<TbProDepart> queryByPage(TbProDepart tbProDepart) {
|
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
|
@Override
|
||||||
public AjaxResult insert(TbProDepart tbProDepart) {
|
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);
|
int result = tbProDepartDao.insert(tbProDepart);
|
||||||
if (result > 0) {
|
if (result > 0) {
|
||||||
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);
|
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());
|
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
|
@Override
|
||||||
public AjaxResult update(TbProDepart tbProDepart) {
|
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);
|
int result = tbProDepartDao.update(tbProDepart);
|
||||||
if (result > 0) {
|
if (result > 0) {
|
||||||
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);
|
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());
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -16,9 +16,9 @@
|
||||||
update_user as updateUser, del_flag as delFlag
|
update_user as updateUser, del_flag as delFlag
|
||||||
from tb_pro_depart tpd
|
from tb_pro_depart tpd
|
||||||
left join tb_area ta on tpd.area_id = ta.id
|
left join tb_area ta on tpd.area_id = ta.id
|
||||||
<where>
|
where del_flag = '0'
|
||||||
<if test="id != null">
|
<if test="id != null">
|
||||||
tpd.id = #{id}
|
and tpd.id = #{id}
|
||||||
</if>
|
</if>
|
||||||
<if test="areaName != null and areaName != ''">
|
<if test="areaName != null and areaName != ''">
|
||||||
and ta.area_name like concat('%',#{areaName},'%')
|
and ta.area_name like concat('%',#{areaName},'%')
|
||||||
|
|
@ -29,7 +29,6 @@
|
||||||
<if test="headUser != null and headUser != ''">
|
<if test="headUser != null and headUser != ''">
|
||||||
and head_user like concat('%',#{headUser},'%')
|
and head_user like concat('%',#{headUser},'%')
|
||||||
</if>
|
</if>
|
||||||
</where>
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!--查询单个-->
|
<!--查询单个-->
|
||||||
|
|
@ -39,8 +38,7 @@
|
||||||
depart_type as departType,
|
depart_type as departType,
|
||||||
area_id as areaId,
|
area_id as areaId,
|
||||||
ta.area_name as areaName,
|
ta.area_name as areaName,
|
||||||
head_user as
|
head_user as headUser,
|
||||||
headUser,
|
|
||||||
head_user_phone as headUserPhone,
|
head_user_phone as headUserPhone,
|
||||||
remarks as remarks,
|
remarks as remarks,
|
||||||
create_time as createTime,
|
create_time as createTime,
|
||||||
|
|
@ -50,7 +48,25 @@
|
||||||
del_flag as delFlag
|
del_flag as delFlag
|
||||||
from tb_pro_depart tpd
|
from tb_pro_depart tpd
|
||||||
left join tb_areata on tpd.area_id = ta.id
|
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>
|
</select>
|
||||||
|
|
||||||
<!--新增所有列-->
|
<!--新增所有列-->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue