---添加数据日志查询功能
This commit is contained in:
@ -0,0 +1,50 @@
|
||||
package com.xjrsoft.module.dev.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: 测试5
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testfrom_5",name="测试5")
|
||||
public class AddTestfrom5Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
@LogField(name="单行文本",index=0)
|
||||
private String danXingWenBen1188;
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
@LogField(name="下拉选择框",index=0)
|
||||
private String valid;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Long tenantId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package com.xjrsoft.module.dev.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: 测试6
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testfrom_6",name="测试6")
|
||||
public class AddTestfrom6Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
@LogField(name="单行文本",index=0)
|
||||
private String danXingWenBen1647;
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
@LogField(name="下拉选择框",index=0)
|
||||
private String valid;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Long tenantId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package com.xjrsoft.module.dev.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 Testfrom5PageDto extends PageInput {
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1188;
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
private String valid;
|
||||
|
||||
}
|
||||
@ -0,0 +1,35 @@
|
||||
package com.xjrsoft.module.dev.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 Testfrom6PageDto extends PageInput {
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1647;
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
private String valid;
|
||||
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package com.xjrsoft.module.dev.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: 测试5
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testfrom_5",name="测试5")
|
||||
public class UpdateTestfrom5Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=0)
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@LogField(name="单行文本",index=1)
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1188;
|
||||
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@LogField(name="下拉选择框",index=2)
|
||||
@ApiModelProperty("下拉选择框")
|
||||
private String valid;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=3)
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package com.xjrsoft.module.dev.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: 测试6
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testfrom_6",name="测试6")
|
||||
public class UpdateTestfrom6Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=0)
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@LogField(name="单行文本",index=1)
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1647;
|
||||
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@LogField(name="下拉选择框",index=2)
|
||||
@ApiModelProperty("下拉选择框")
|
||||
private String valid;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=3)
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package com.xjrsoft.module.dev.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 Testfrom5PageVo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String id;
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1188;
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
@Trans(type = TransType.API, id = "93d735dcb7364a0f8102188ec4d77ac7")
|
||||
private String valid;
|
||||
/**
|
||||
* 数据权限所属人ID
|
||||
*/
|
||||
@ApiModelProperty("数据权限所属人ID")
|
||||
private Long ruleUserId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,93 @@
|
||||
package com.xjrsoft.module.dev.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 Testfrom5Vo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1188;
|
||||
|
||||
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
private String valid;
|
||||
|
||||
|
||||
/**
|
||||
* 数据权限所属人ID
|
||||
*/
|
||||
@ApiModelProperty("数据权限所属人ID")
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long createUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long modifyUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Integer enabledMark;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package com.xjrsoft.module.dev.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 Testfrom6PageVo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String id;
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1647;
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
@Trans(type = TransType.API, id = "93d735dcb7364a0f8102188ec4d77ac7")
|
||||
private String valid;
|
||||
/**
|
||||
* 数据权限所属人ID
|
||||
*/
|
||||
@ApiModelProperty("数据权限所属人ID")
|
||||
private Long ruleUserId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,93 @@
|
||||
package com.xjrsoft.module.dev.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 Testfrom6Vo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1647;
|
||||
|
||||
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
private String valid;
|
||||
|
||||
|
||||
/**
|
||||
* 数据权限所属人ID
|
||||
*/
|
||||
@ApiModelProperty("数据权限所属人ID")
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long createUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long modifyUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Integer enabledMark;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -100,12 +100,27 @@ public class Testfrom3Controller {
|
||||
return R.ok(dataService.updateById(dto));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/enable")
|
||||
@ApiOperation(value = "启用Testfrom3")
|
||||
@SaCheckPermission("testfrom3:enable")
|
||||
public R enable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.enable(UpdateTestfrom3Dto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/disable")
|
||||
@ApiOperation(value = "禁用Testfrom3")
|
||||
@SaCheckPermission("testfrom3:disable")
|
||||
public R disable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.disable(UpdateTestfrom3Dto.class,ids));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("testfrom3:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateTestfrom3Dto.class, ids));
|
||||
|
||||
return R.ok(dataService.deleteByIds(UpdateTestfrom3Dto.class, ids));
|
||||
}
|
||||
@PostMapping("/import")
|
||||
@ApiOperation(value = "导入")
|
||||
|
||||
@ -0,0 +1,146 @@
|
||||
package com.xjrsoft.module.dev.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.dev.dto.AddTestfrom5Dto;
|
||||
import com.xjrsoft.module.dev.dto.UpdateTestfrom5Dto;
|
||||
import com.xjrsoft.module.dev.dto.UpdateTestfrom6Dto;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
|
||||
import com.xjrsoft.module.dev.dto.Testfrom5PageDto;
|
||||
import com.xjrsoft.module.dev.entity.Testfrom5;
|
||||
import com.xjrsoft.module.dev.service.ITestfrom5Service;
|
||||
import com.xjrsoft.module.dev.vo.Testfrom5PageVo;
|
||||
import com.xjrsoft.module.authority.dto.BatchSetDataAuthDto;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.xjrsoft.module.datalog.entity.DataChangeLog;
|
||||
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.dev.vo.Testfrom5Vo;
|
||||
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: 测试5
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/dev" + "/testfrom5")
|
||||
@Api(value = "/dev" + "/testfrom5",tags = "测试5代码")
|
||||
@AllArgsConstructor
|
||||
public class Testfrom5Controller {
|
||||
|
||||
|
||||
private final ITestfrom5Service testfrom5Service;
|
||||
private final DatalogService dataService;
|
||||
|
||||
@GetMapping(value = "/page")
|
||||
@ApiOperation(value="Testfrom5列表(分页)")
|
||||
@SaCheckPermission("testfrom5:list")
|
||||
public R page(@Valid Testfrom5PageDto dto){
|
||||
|
||||
LambdaQueryWrapper<Testfrom5> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getDanXingWenBen1188()),Testfrom5::getDanXingWenBen1188,dto.getDanXingWenBen1188())
|
||||
.like(StrUtil.isNotBlank(dto.getValid()),Testfrom5::getValid,dto.getValid())
|
||||
.orderByDesc(Testfrom5::getId)
|
||||
.select(Testfrom5.class,x -> VoToColumnUtil.fieldsToColumns(Testfrom5PageVo.class).contains(x.getProperty()));
|
||||
IPage<Testfrom5> page = testfrom5Service.page(ConventPage.getPage(dto), queryWrapper);
|
||||
PageOutput<Testfrom5PageVo> pageOutput = ConventPage.getPageOutput(page, Testfrom5PageVo.class);
|
||||
return R.ok(pageOutput);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/info")
|
||||
@ApiOperation(value="根据id查询Testfrom5信息")
|
||||
@SaCheckPermission("testfrom5:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
Testfrom5 testfrom5 = testfrom5Service.getById(id);
|
||||
if (testfrom5 == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(testfrom5, Testfrom5Vo.class));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ApiOperation(value="根据id查询Testfrom5数据详细日志")
|
||||
@SaCheckPermission("testfrom5:datalog")
|
||||
public R datalog(@RequestParam Long id){
|
||||
List<DataChangeLog> logs = dataService.findLogsByEntityId(UpdateTestfrom5Dto.class,id);
|
||||
return R.ok(logs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "新增Testfrom5")
|
||||
@SaCheckPermission("testfrom5:add")
|
||||
public R add(@Valid @RequestBody UpdateTestfrom5Dto dto){
|
||||
UpdateTestfrom5Dto res = dataService.insert(dto);
|
||||
return R.ok(res.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改Testfrom5")
|
||||
@SaCheckPermission("testfrom5:edit")
|
||||
public R update(@Valid @RequestBody UpdateTestfrom5Dto dto){
|
||||
return R.ok(dataService.updateById(dto));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("testfrom5:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateTestfrom5Dto.class, ids));
|
||||
|
||||
}
|
||||
|
||||
@PostMapping("/enable")
|
||||
@ApiOperation(value = "启用Testfrom5")
|
||||
@SaCheckPermission("testfrom5:enable")
|
||||
public R enable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.enable(UpdateTestfrom5Dto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/disable")
|
||||
@ApiOperation(value = "禁用Testfrom5")
|
||||
@SaCheckPermission("testfrom5:disable")
|
||||
public R disable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.disable(UpdateTestfrom5Dto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PutMapping("/data-auth")
|
||||
@ApiOperation(value = "批量设置权限所属人")
|
||||
@SaCheckPermission("testfrom5:batchSetUserId")
|
||||
public R setDataAUth(@RequestBody BatchSetDataAuthDto dto){
|
||||
List<Testfrom5> toUpdateList = new ArrayList<>();
|
||||
for (Long dataId : dto.getDataIdList()) {
|
||||
Testfrom5 testfrom5 = new Testfrom5();
|
||||
testfrom5.setId(dataId);
|
||||
testfrom5.setRuleUserId(dto.getUserIdList().get(0));
|
||||
toUpdateList.add(testfrom5);
|
||||
}
|
||||
return R.ok(testfrom5Service.updateBatchById(toUpdateList));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,144 @@
|
||||
package com.xjrsoft.module.dev.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.dev.dto.AddTestfrom6Dto;
|
||||
import com.xjrsoft.module.dev.dto.UpdateTestfrom6Dto;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
|
||||
import com.xjrsoft.module.dev.dto.Testfrom6PageDto;
|
||||
import com.xjrsoft.module.dev.entity.Testfrom6;
|
||||
import com.xjrsoft.module.dev.service.ITestfrom6Service;
|
||||
import com.xjrsoft.module.dev.vo.Testfrom6PageVo;
|
||||
import com.xjrsoft.module.authority.dto.BatchSetDataAuthDto;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import com.xjrsoft.module.datalog.entity.DataChangeLog;
|
||||
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.dev.vo.Testfrom6Vo;
|
||||
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: 测试6
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/dev" + "/testfrom6")
|
||||
@Api(value = "/dev" + "/testfrom6",tags = "测试6代码")
|
||||
@AllArgsConstructor
|
||||
public class Testfrom6Controller {
|
||||
|
||||
|
||||
private final ITestfrom6Service testfrom6Service;
|
||||
private final DatalogService dataService;
|
||||
|
||||
@GetMapping(value = "/page")
|
||||
@ApiOperation(value="Testfrom6列表(分页)")
|
||||
@SaCheckPermission("testfrom6:list")
|
||||
public R page(@Valid Testfrom6PageDto dto){
|
||||
|
||||
LambdaQueryWrapper<Testfrom6> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getDanXingWenBen1647()),Testfrom6::getDanXingWenBen1647,dto.getDanXingWenBen1647())
|
||||
.like(StrUtil.isNotBlank(dto.getValid()),Testfrom6::getValid,dto.getValid())
|
||||
.orderByDesc(Testfrom6::getId)
|
||||
.select(Testfrom6.class,x -> VoToColumnUtil.fieldsToColumns(Testfrom6PageVo.class).contains(x.getProperty()));
|
||||
IPage<Testfrom6> page = testfrom6Service.page(ConventPage.getPage(dto), queryWrapper);
|
||||
PageOutput<Testfrom6PageVo> pageOutput = ConventPage.getPageOutput(page, Testfrom6PageVo.class);
|
||||
return R.ok(pageOutput);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/info")
|
||||
@ApiOperation(value="根据id查询Testfrom6信息")
|
||||
@SaCheckPermission("testfrom6:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
Testfrom6 testfrom6 = testfrom6Service.getById(id);
|
||||
if (testfrom6 == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(testfrom6, Testfrom6Vo.class));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ApiOperation(value="根据id查询Testfrom6数据详细日志")
|
||||
@SaCheckPermission("testfrom6:datalog")
|
||||
public R datalog(@RequestParam Long id){
|
||||
List<DataChangeLog> logs = dataService.findLogsByEntityId(UpdateTestfrom6Dto.class,id);
|
||||
return R.ok(logs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "新增Testfrom6")
|
||||
@SaCheckPermission("testfrom6:add")
|
||||
public R add(@Valid @RequestBody UpdateTestfrom6Dto dto){
|
||||
UpdateTestfrom6Dto res = dataService.insert(dto);
|
||||
return R.ok(res.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改Testfrom6")
|
||||
@SaCheckPermission("testfrom6:edit")
|
||||
public R update(@Valid @RequestBody UpdateTestfrom6Dto dto){
|
||||
return R.ok(dataService.updateById(dto));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("testfrom6:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateTestfrom6Dto.class, ids));
|
||||
|
||||
}
|
||||
|
||||
@PostMapping("/enable")
|
||||
@ApiOperation(value = "启用Testfrom6")
|
||||
@SaCheckPermission("testfrom6:enable")
|
||||
public R enable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.enable(UpdateTestfrom6Dto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/disable")
|
||||
@ApiOperation(value = "禁用Testfrom6")
|
||||
@SaCheckPermission("testfrom6:disable")
|
||||
public R disable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.disable(UpdateTestfrom6Dto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PutMapping("/data-auth")
|
||||
@ApiOperation(value = "批量设置权限所属人")
|
||||
@SaCheckPermission("testfrom6:batchSetUserId")
|
||||
public R setDataAUth(@RequestBody BatchSetDataAuthDto dto){
|
||||
List<Testfrom6> toUpdateList = new ArrayList<>();
|
||||
for (Long dataId : dto.getDataIdList()) {
|
||||
Testfrom6 testfrom6 = new Testfrom6();
|
||||
testfrom6.setId(dataId);
|
||||
testfrom6.setRuleUserId(dto.getUserIdList().get(0));
|
||||
toUpdateList.add(testfrom6);
|
||||
}
|
||||
return R.ok(testfrom6Service.updateBatchById(toUpdateList));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,110 @@
|
||||
package com.xjrsoft.module.dev.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: 测试5
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("testfrom_5")
|
||||
@ApiModel(value = "测试5对象", description = "测试5")
|
||||
public class Testfrom5 implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1188;
|
||||
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
private String valid;
|
||||
|
||||
/**
|
||||
* 数据权限所属人ID
|
||||
*/
|
||||
@ApiModelProperty("数据权限所属人ID")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@TableLogic
|
||||
private Integer deleteMark;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Integer enabledMark;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,110 @@
|
||||
package com.xjrsoft.module.dev.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: 测试6
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("testfrom_6")
|
||||
@ApiModel(value = "测试6对象", description = "测试6")
|
||||
public class Testfrom6 implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 单行文本
|
||||
*/
|
||||
@ApiModelProperty("单行文本")
|
||||
private String danXingWenBen1647;
|
||||
|
||||
/**
|
||||
* 下拉选择框
|
||||
*/
|
||||
@ApiModelProperty("下拉选择框")
|
||||
private String valid;
|
||||
|
||||
/**
|
||||
* 数据权限所属人ID
|
||||
*/
|
||||
@ApiModelProperty("数据权限所属人ID")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@TableLogic
|
||||
private Integer deleteMark;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Integer enabledMark;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xjrsoft.module.dev.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.dev.entity.Testfrom5;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface Testfrom5Mapper extends BaseMapper<Testfrom5> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xjrsoft.module.dev.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.dev.entity.Testfrom6;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface Testfrom6Mapper extends BaseMapper<Testfrom6> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.xjrsoft.module.dev.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.dev.entity.Testfrom5;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public interface ITestfrom5Service extends IService<Testfrom5> {
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.xjrsoft.module.dev.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.dev.entity.Testfrom6;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-10-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public interface ITestfrom6Service extends IService<Testfrom6> {
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package com.xjrsoft.module.dev.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||
import com.xjrsoft.module.dev.entity.Testfrom5;
|
||||
import com.xjrsoft.module.dev.mapper.Testfrom5Mapper;
|
||||
import com.xjrsoft.module.dev.service.ITestfrom5Service;
|
||||
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 Testfrom5ServiceImpl extends ServiceImpl<Testfrom5Mapper, Testfrom5> implements ITestfrom5Service {
|
||||
}
|
||||
@ -0,0 +1,25 @@
|
||||
package com.xjrsoft.module.dev.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||
import com.xjrsoft.module.dev.entity.Testfrom6;
|
||||
import com.xjrsoft.module.dev.mapper.Testfrom6Mapper;
|
||||
import com.xjrsoft.module.dev.service.ITestfrom6Service;
|
||||
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 Testfrom6ServiceImpl extends ServiceImpl<Testfrom6Mapper, Testfrom6> implements ITestfrom6Service {
|
||||
}
|
||||
@ -12,5 +12,10 @@ public interface ExceptionCommonCode {
|
||||
*/
|
||||
final BusinessCode DATA_FIELD_DUPLICATION = BusinessCode.of(10501,"字段【{}】不允许重复");
|
||||
|
||||
/**
|
||||
* 数据删除时,id不能为空
|
||||
*/
|
||||
final BusinessCode DATA_DEL_ID_IS_NULL = BusinessCode.of(10510,"删除数据时,表【{}】的主键为空,删除失败!");
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
#Generated by Maven
|
||||
#Wed Sep 24 16:43:44 CST 2025
|
||||
#Tue Oct 21 16:19:00 CST 2025
|
||||
version=2.0.4
|
||||
groupId=com.geg
|
||||
artifactId=itc-pcitc-dependencies-api
|
||||
|
||||
@ -0,0 +1,22 @@
|
||||
com\pictc\enums\BSalesCode.class
|
||||
com\pictc\annotations\datalog\LogField.class
|
||||
com\pictc\annotations\datalog\LogTable.class
|
||||
com\pictc\enums\BContractCode.class
|
||||
com\pictc\annotations\datalog\JoinValueType.class
|
||||
com\pictc\constant\ContractLiteflowRule.class
|
||||
com\pictc\annotations\datalog\LogJoin.class
|
||||
com\xjrsoft\module\datalog\vo\DataChangeLogDto.class
|
||||
com\pictc\annotations\datalog\LogJoinColumn.class
|
||||
com\pictc\annotations\datalog\ValueDirectionType.class
|
||||
com\pictc\enums\BReserveCode.class
|
||||
com\pictc\enums\ExceptionCommonCode.class
|
||||
com\pictc\annotations\datalog\SourceType.class
|
||||
com\xjrsoft\module\datalog\vo\OperationType.class
|
||||
com\pictc\common\mybatis\JsonTypeHandler.class
|
||||
com\pictc\enums\BusinessCode.class
|
||||
com\pictc\enums\BTransportCode.class
|
||||
com\xjrsoft\module\datalog\vo\FieldChangeDto.class
|
||||
com\pictc\enums\BProcurementCode.class
|
||||
com\pictc\enums\BFinanceCode.class
|
||||
com\pictc\annotations\datalog\JoinCaseType.class
|
||||
com\pictc\annotations\datalog\JoinType.class
|
||||
|
||||
@ -1,13 +1,22 @@
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\xjrsoft\module\datalog\vo\FieldChangeDto.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\enums\BProcurementCode.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\enums\BSalesCode.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\xjrsoft\module\datalog\vo\OperationType.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\enums\BContractCode.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\JoinCaseType.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\enums\BFinanceCode.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\LogField.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\JoinValueType.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\LogJoin.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\JoinType.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\common\mybatis\JsonTypeHandler.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\enums\BusinessCode.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\enums\ExceptionCommonCode.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\xjrsoft\module\datalog\vo\DataChangeLogDto.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\ValueDirectionType.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\SourceType.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\LogTable.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\constant\ContractLiteflowRule.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\enums\BTransportCode.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\annotations\datalog\LogJoinColumn.java
|
||||
F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-dependencies\itc-pcitc-dependencies-api\src\main\java\com\pictc\enums\BReserveCode.java
|
||||
|
||||
@ -48,10 +48,14 @@ import com.pictc.converts.ConverUtil;
|
||||
import com.pictc.datalog.LogFieldInfo;
|
||||
import com.pictc.datalog.LogJoinInfo;
|
||||
import com.pictc.datalog.LogTableInfo;
|
||||
import com.pictc.enums.BusinessCode;
|
||||
import com.pictc.enums.ExceptionCommonCode;
|
||||
import com.pictc.exceptions.OrmException;
|
||||
import com.pictc.jdbc.JdbcContext;
|
||||
import com.pictc.jdbc.ResultSetUtils;
|
||||
import com.pictc.jdbc.model.JdbcParam;
|
||||
import com.xjrsoft.common.enums.YesOrNoEnum;
|
||||
import com.xjrsoft.common.exception.BusinessException;
|
||||
import com.xjrsoft.common.utils.SecureUtil;
|
||||
import com.xjrsoft.module.datalog.entity.DataChangeLog;
|
||||
import com.xjrsoft.module.datalog.entity.json.FieldChange;
|
||||
@ -124,7 +128,7 @@ public class DataLogTools {
|
||||
|
||||
public static final String SQL_LIST = "SELECT * FROM ${TBL_NAME} WHERE entity_id = ? ORDER BY operation_time DESC, flow_id DESC";
|
||||
|
||||
public static final Set<String> excludeFields = SetUtils.of("tenantId","dataVersion","tenantId","tenantId","tenantId");
|
||||
public static final Set<String> excludeFields = SetUtils.of("tenantId","dataVersion","createUserId","createDate","modifyUserId","modifyDate","modifyDate","deleteMark");
|
||||
|
||||
|
||||
public static DataChangeLog createLog(Class<?> klazz,OperationType type) {
|
||||
@ -250,6 +254,13 @@ public class DataLogTools {
|
||||
}
|
||||
|
||||
|
||||
public static boolean deleteByIds(Class<?> klazz, @Valid List<Long> ids) {
|
||||
for (Long id : ids) {
|
||||
deleteById(klazz, id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static <T>T deleteById(Class<T> klazz,Long id) {
|
||||
LogTableInfo tabInfo = getAnnotation(klazz);
|
||||
BaseMapper mapper = MybatisTools.getMapper(tabInfo.getEntityType());
|
||||
@ -274,13 +285,68 @@ public class DataLogTools {
|
||||
return entity;
|
||||
}
|
||||
|
||||
public static boolean deleteByIds(Class<?> klazz, @Valid List<Long> ids) {
|
||||
private static void delete(Object entity,LogTableInfo tableinfo,BaseMapper mapper){
|
||||
Long idValue = tableinfo.getIdValue(entity);
|
||||
if(idValue!=null && idValue > 0) {
|
||||
mapper.deleteById(idValue);
|
||||
}else {
|
||||
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_DEL_ID_IS_NULL,tableinfo.getTableName()));
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean enable(Class<?> klazz, @Valid List<Long> ids) {
|
||||
for (Long id : ids) {
|
||||
deleteById(klazz, id);
|
||||
enableById(klazz, id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static <T>T enableById(Class<T> klazz,Long id) {
|
||||
LogTableInfo tabInfo = getAnnotation(klazz);
|
||||
BaseMapper mapper = MybatisTools.getMapper(tabInfo.getEntityType());
|
||||
Object entity = findNativeById(klazz, id);
|
||||
if(entity==null) return null;
|
||||
T old = BeanUtils.newInstance(klazz);
|
||||
BeanUtil.copyProperties(entity,old,true);
|
||||
List<DataChangeLog> logs = CollectionUtils.newArrayList();
|
||||
tabInfo.setFieldValue(entity,"valid",YesOrNoEnum.YES.getTextCode());
|
||||
mapper.updateById(entity);
|
||||
T dto = (T)tabInfo.toDto(entity);
|
||||
DataChangeLog datalog = createLog(klazz,OperationType.UPDATE);
|
||||
datalog.setEntityId(id);
|
||||
buildFields(datalog,tabInfo,dto,null);
|
||||
logs.add(datalog);
|
||||
saveLogs(tabInfo,logs);
|
||||
return dto;
|
||||
}
|
||||
|
||||
public static boolean disable(Class<?> klazz, @Valid List<Long> ids) {
|
||||
for (Long id : ids) {
|
||||
enableById(klazz, id);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static <T>T disableById(Class<T> klazz,Long id) {
|
||||
LogTableInfo tabInfo = getAnnotation(klazz);
|
||||
BaseMapper mapper = MybatisTools.getMapper(tabInfo.getEntityType());
|
||||
Object entity = findNativeById(klazz, id);
|
||||
if(entity==null) return null;
|
||||
T old = BeanUtils.newInstance(klazz);
|
||||
BeanUtil.copyProperties(entity,old,true);
|
||||
List<DataChangeLog> logs = CollectionUtils.newArrayList();
|
||||
tabInfo.setFieldValue(entity,"valid",YesOrNoEnum.NO.getTextCode());
|
||||
mapper.updateById(entity);
|
||||
T dto = (T)tabInfo.toDto(entity);
|
||||
DataChangeLog datalog = createLog(klazz,OperationType.UPDATE);
|
||||
datalog.setEntityId(id);
|
||||
buildFields(datalog,tabInfo,dto,null);
|
||||
logs.add(datalog);
|
||||
saveLogs(tabInfo,logs);
|
||||
return dto;
|
||||
}
|
||||
|
||||
|
||||
public static <T>T findById(Class<T> klazz,Serializable id){
|
||||
return findById(klazz,id,false);
|
||||
}
|
||||
@ -295,6 +361,13 @@ public class DataLogTools {
|
||||
return dto;
|
||||
}
|
||||
|
||||
|
||||
private static Object findNativeById(Class<?> klazz, Serializable id) {
|
||||
LogTableInfo tabInfo = getAnnotation(klazz);
|
||||
BaseMapper mapper = MybatisTools.getMapper(tabInfo.getEntityType());
|
||||
return mapper.selectById(id);
|
||||
}
|
||||
|
||||
public static void initJoinValues(LogTableInfo tabInfo,Object entity,Set<Class<?>> classPath,boolean full){
|
||||
List<LogJoinInfo> joins = tabInfo.getJoins();
|
||||
BaseMapper mapper = MybatisTools.getMapper(tabInfo.getEntityType());
|
||||
@ -362,18 +435,8 @@ public class DataLogTools {
|
||||
}
|
||||
|
||||
|
||||
private static void delete(Object entity,LogTableInfo tableinfo,BaseMapper mapper){
|
||||
Long idValue = tableinfo.getIdValue(entity);
|
||||
if(idValue!=null && idValue > 0) {
|
||||
// QueryChainWrapper wrapper = new QueryChainWrapper(mapper);
|
||||
// wrapper.eq(tableinfo.getIdColumn(),tableinfo.getIdValue(entity));
|
||||
// mapper.delete(wrapper);
|
||||
mapper.deleteById(idValue);
|
||||
}else {
|
||||
throw new RuntimeException("删除数据时,表【"+tableinfo.getName()+"】的主键为空,删除失败!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static <T>void initJoinValue(T entity,LogTableInfo tabInfo,Set<Class<?>> classes) {
|
||||
if(classes==null) {
|
||||
@ -881,4 +944,6 @@ public class DataLogTools {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -18,8 +18,12 @@ public interface DatalogService {
|
||||
|
||||
public <T>T deleteById(Class<T> klazz,long id);
|
||||
|
||||
public <T>List<DataChangeLog> findByEntityId(Class<T> klazz,long id);
|
||||
public <T>List<DataChangeLog> findLogsByEntityId(Class<T> klazz,long id);
|
||||
|
||||
public <T>boolean deleteByIds(Class<T> class1, @Valid List<Long> ids);
|
||||
|
||||
public <T>boolean enable(Class<T> class1, @Valid List<Long> ids);
|
||||
|
||||
public <T>boolean disable(Class<T> class1, @Valid List<Long> ids);
|
||||
|
||||
}
|
||||
|
||||
@ -52,16 +52,26 @@ public class DatalogServiceImpl implements DatalogService{
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public <T> boolean deleteByIds(Class<T> class1, @Valid List<Long> ids) {
|
||||
return DataLogTools.deleteByIds(class1, ids);
|
||||
public <T> boolean deleteByIds(Class<T> klazz, @Valid List<Long> ids) {
|
||||
return DataLogTools.deleteByIds(klazz, ids);
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
@Override
|
||||
public <T> List<DataChangeLog> findByEntityId(Class<T> klazz, long dataId) {
|
||||
public <T> List<DataChangeLog> findLogsByEntityId(Class<T> klazz, long dataId) {
|
||||
return DataLogTools.findLogsByEntityId(klazz, dataId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean enable(Class<T> klazz, @Valid List<Long> ids) {
|
||||
return DataLogTools.enable(klazz, ids);
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> boolean disable(Class<T> klazz, @Valid List<Long> ids) {
|
||||
return DataLogTools.disable(klazz, ids);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user