This commit is contained in:
2025-10-21 13:38:22 +08:00
parent caa25dce65
commit cbed7ba9c8
10 changed files with 768 additions and 0 deletions

View File

@ -0,0 +1,80 @@
package com.xjrsoft.module.mdm.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogTable;
/**
* @title: 国家地区
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@Data
@LogTable(source="lng_b_region",name="国家地区")
public class AddLngBRegionDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 助记码
*/
@ApiModelProperty("助记码")
@LogField(name="助记码",index=0)
private String code;
/**
* 名称(不能重复)
*/
@ApiModelProperty("名称(不能重复)")
@LogField(name="名称(不能重复)",index=0)
private String fullName;
/**
* 类型
*/
@ApiModelProperty("类型")
@LogField(name="类型",index=0)
private String regionTypeCode;
/**
* 上级ID
*/
@ApiModelProperty("上级ID")
@LogField(name="上级ID",index=0)
private Long pid;
/**
* 全路径名称
*/
@ApiModelProperty("全路径名称")
@LogField(name="全路径名称",index=0)
private String fullPath;
/**
* 有效标志(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(Y-有效N-无效)")
@LogField(name="有效标志(Y-有效N-无效)",index=0)
private String valid;
/**
* 备注
*/
@ApiModelProperty("备注")
@LogField(name="备注",index=0)
private String note;
/**
* 租户id
*/
@ApiModelProperty("租户id")
@LogField(name="租户id",index=0)
private Long tenantId;
}

View File

@ -0,0 +1,65 @@
package com.xjrsoft.module.mdm.dto;
import com.xjrsoft.common.page.PageInput;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
/**
* @title: 分页查询入参
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LngBRegionPageDto extends PageInput {
/**
* 主键
*/
@ApiModelProperty("主键")
private Long id;
/**
* 助记码
*/
@ApiModelProperty("助记码")
private String code;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createUserId;
/**
* 类型
*/
@ApiModelProperty("类型")
private String regionTypeCode;
/**
* 上级ID
*/
@ApiModelProperty("上级ID")
private Long pid;
/**
* 名称(不能重复)
*/
@ApiModelProperty("名称(不能重复)")
private String fullName;
/**
* 有效标志(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(Y-有效N-无效)")
private String valid;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
}

View File

@ -0,0 +1,100 @@
package com.xjrsoft.module.mdm.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.List;
import com.pictc.annotations.datalog.LogTable;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogJoin;
import com.pictc.annotations.datalog.LogJoinColumn;
import com.pictc.annotations.datalog.JoinCaseType;
import com.pictc.annotations.datalog.JoinType;
import com.pictc.annotations.datalog.ValueDirectionType;
/**
* @title: 国家地区
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@Data
@LogTable(source="lng_b_region",name="国家地区")
public class UpdateLngBRegionDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@LogField(name="主键",index=0)
@ApiModelProperty("主键")
private Long id;
/**
* 助记码
*/
@LogField(name="助记码",index=1)
@ApiModelProperty("助记码")
private String code;
/**
* 名称(不能重复)
*/
@LogField(name="名称(不能重复)",index=2)
@ApiModelProperty("名称(不能重复)")
private String fullName;
/**
* 类型
*/
@LogField(name="类型",index=3)
@ApiModelProperty("类型")
private String regionTypeCode;
/**
* 上级ID
*/
@LogField(name="上级ID",index=4)
@ApiModelProperty("上级ID")
private Long pid;
/**
* 全路径名称
*/
@LogField(name="全路径名称",index=5)
@ApiModelProperty("全路径名称")
private String fullPath;
/**
* 有效标志(Y-有效N-无效)
*/
@LogField(name="有效标志(Y-有效N-无效)",index=6)
@ApiModelProperty("有效标志(Y-有效N-无效)")
private String valid;
/**
* 备注
*/
@LogField(name="备注",index=7)
@ApiModelProperty("备注")
private String note;
/**
* 租户id
*/
@LogField(name="租户id",index=8)
@ApiModelProperty("租户id")
private Long tenantId;
}

View File

@ -0,0 +1,70 @@
package com.xjrsoft.module.mdm.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.xjrsoft.common.annotation.Trans;
import com.xjrsoft.common.enums.TransType;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
/**
* @title: 分页列表出参
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@Data
public class LngBRegionPageVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private String id;
/**
* 助记码
*/
@ApiModelProperty("助记码")
private String code;
/**
* 名称(不能重复)
*/
@ApiModelProperty("名称(不能重复)")
private String fullName;
/**
* 类型
*/
@ApiModelProperty("类型")
@Trans(type = TransType.DIC, id = "1980458729324212226")
private String regionTypeCode;
/**
* 上级ID
*/
@ApiModelProperty("上级ID")
private Long pid;
/**
* 有效标志(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(Y-有效N-无效)")
@Trans(type = TransType.DIC, id = "1978057078528327681")
private String valid;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createUserId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
private Long ruleUserId;
}

View File

@ -0,0 +1,128 @@
package com.xjrsoft.module.mdm.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
/**
* @title: 表单出参
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@Data
public class LngBRegionVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private Long id;
/**
* 助记码
*/
@ApiModelProperty("助记码")
private String code;
/**
* 名称(不能重复)
*/
@ApiModelProperty("名称(不能重复)")
private String fullName;
/**
* 类型
*/
@ApiModelProperty("类型")
private String regionTypeCode;
/**
* 上级ID
*/
@ApiModelProperty("上级ID")
private Long pid;
/**
* 全路径名称
*/
@ApiModelProperty("全路径名称")
private String fullPath;
/**
* 有效标志(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(Y-有效N-无效)")
private String valid;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
private Long ruleUserId;
}

View File

@ -0,0 +1,124 @@
package com.xjrsoft.module.mdm.controller;
import cn.hutool.core.bean.BeanUtil;
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.xjrsoft.common.constant.GlobalConstant;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.mdm.dto.AddLngBRegionDto;
import com.xjrsoft.module.mdm.dto.UpdateLngBRegionDto;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.xjrsoft.module.mdm.dto.LngBRegionPageDto;
import com.xjrsoft.module.mdm.entity.LngBRegion;
import com.xjrsoft.module.mdm.service.ICountryRegionService;
import com.xjrsoft.module.mdm.vo.LngBRegionPageVo;
import com.xjrsoft.module.authority.dto.BatchSetDataAuthDto;
import java.util.stream.Collectors;
import java.util.ArrayList;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.mdm.vo.LngBRegionVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @title: 国家地区
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@RestController
@RequestMapping("/mdm" + "/countryRegion")
@Api(value = "/mdm" + "/countryRegion",tags = "国家地区代码")
@AllArgsConstructor
public class CountryRegionController {
private final ICountryRegionService countryRegionService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngBRegion列表(分页)")
@SaCheckPermission("countryRegion:list")
public R page(@Valid LngBRegionPageDto dto){
LambdaQueryWrapper<LngBRegion> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(ObjectUtil.isNotNull(dto.getId()),LngBRegion::getId,dto.getId())
.like(StrUtil.isNotBlank(dto.getCode()),LngBRegion::getCode,dto.getCode())
.eq(ObjectUtil.isNotNull(dto.getCreateUserId()),LngBRegion::getCreateUserId,dto.getCreateUserId())
.like(StrUtil.isNotBlank(dto.getRegionTypeCode()),LngBRegion::getRegionTypeCode,dto.getRegionTypeCode())
.eq(ObjectUtil.isNotNull(dto.getPid()),LngBRegion::getPid,dto.getPid())
.like(StrUtil.isNotBlank(dto.getFullName()),LngBRegion::getFullName,dto.getFullName())
.like(StrUtil.isNotBlank(dto.getValid()),LngBRegion::getValid,dto.getValid())
.like(StrUtil.isNotBlank(dto.getNote()),LngBRegion::getNote,dto.getNote())
.orderByDesc(LngBRegion::getId)
.select(LngBRegion.class,x -> VoToColumnUtil.fieldsToColumns(LngBRegionPageVo.class).contains(x.getProperty()));
IPage<LngBRegion> page = countryRegionService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngBRegionPageVo> pageOutput = ConventPage.getPageOutput(page, LngBRegionPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngBRegion信息")
@SaCheckPermission("countryRegion:detail")
public R info(@RequestParam Long id){
LngBRegion lngBRegion = countryRegionService.getById(id);
if (lngBRegion == null) {
return R.error("找不到此数据!");
}
return R.ok(BeanUtil.toBean(lngBRegion, LngBRegionVo.class));
}
@PostMapping
@ApiOperation(value = "新增LngBRegion")
@SaCheckPermission("countryRegion:add")
public R add(@Valid @RequestBody UpdateLngBRegionDto dto){
UpdateLngBRegionDto res = dataService.insert(dto);
return R.ok(res.getId());
}
@PutMapping
@ApiOperation(value = "修改LngBRegion")
@SaCheckPermission("countryRegion:edit")
public R update(@Valid @RequestBody UpdateLngBRegionDto dto){
return R.ok(dataService.updateById(dto));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("countryRegion:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngBRegionDto.class, ids));
}
@PutMapping("/data-auth")
@ApiOperation(value = "批量设置权限所属人")
@SaCheckPermission("countryRegion:batchSetUserId")
public R setDataAUth(@RequestBody BatchSetDataAuthDto dto){
List<LngBRegion> toUpdateList = new ArrayList<>();
for (Long dataId : dto.getDataIdList()) {
LngBRegion lngBRegion = new LngBRegion();
lngBRegion.setId(dataId);
lngBRegion.setRuleUserId(dto.getUserIdList().get(0));
toUpdateList.add(lngBRegion);
}
return R.ok(countryRegionService.updateBatchById(toUpdateList));
}
}

View File

@ -0,0 +1,140 @@
package com.xjrsoft.module.mdm.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.Version;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
/**
* @title: 国家地区
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@Data
@TableName("lng_b_region")
@ApiModel(value = "国家地区对象", description = "国家地区")
public class LngBRegion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 助记码
*/
@ApiModelProperty("助记码")
private String code;
/**
* 名称(不能重复)
*/
@ApiModelProperty("名称(不能重复)")
private String fullName;
/**
* 类型
*/
@ApiModelProperty("类型")
private String regionTypeCode;
/**
* 上级ID
*/
@ApiModelProperty("上级ID")
private Long pid;
/**
* 全路径名称
*/
@ApiModelProperty("全路径名称")
private String fullPath;
/**
* 有效标志(Y-有效N-无效)
*/
@ApiModelProperty("有效标志(Y-有效N-无效)")
private String valid;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
@TableField(fill = FieldFill.INSERT)
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
@TableField(fill = FieldFill.UPDATE)
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime modifyDate;
/**
* 逻辑删除
*/
@ApiModelProperty("逻辑删除")
@TableField(fill = FieldFill.INSERT)
@TableLogic
private Integer deleteMark;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
@TableField(fill = FieldFill.INSERT)
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT)
private Long ruleUserId;
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.mdm.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.mdm.entity.LngBRegion;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@Mapper
public interface LngBRegionMapper extends BaseMapper<LngBRegion> {
}

View File

@ -0,0 +1,19 @@
package com.xjrsoft.module.mdm.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.yulichang.base.MPJBaseService;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
import com.github.yulichang.extension.mapping.base.MPJRelationService;
import com.xjrsoft.module.mdm.entity.LngBRegion;
import lombok.Data;
import java.util.List;
/**
* @title: service
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
public interface ICountryRegionService extends IService<LngBRegion> {
}

View File

@ -0,0 +1,25 @@
package com.xjrsoft.module.mdm.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.module.mdm.entity.LngBRegion;
import com.xjrsoft.module.mdm.mapper.LngBRegionMapper;
import com.xjrsoft.module.mdm.service.ICountryRegionService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
/**
* @title: service
* @Author 管理员
* @Date: 2025-10-21
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class CountryRegionServiceImpl extends ServiceImpl<LngBRegionMapper, LngBRegion> implements ICountryRegionService {
}