Merge branch 'dev' of http://47.94.165.164:13000/geg-gas/geg-gas-pcitc into dev
This commit is contained in:
@ -0,0 +1,62 @@
|
||||
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: 测试流程
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testflow_001",name="测试流程")
|
||||
public class AddTestflow001Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
@LogField(name="客户",index=0)
|
||||
private String customer;
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
@LogField(name="客户编码",index=0)
|
||||
private String customerCode;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
@LogField(name="名称",index=0)
|
||||
private String name;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
@LogField(name="备注",index=0)
|
||||
private String note;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Long tenantId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
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-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class Testflow001PageDto extends PageInput {
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
}
|
||||
@ -0,0 +1,79 @@
|
||||
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: 测试流程
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testflow_001",name="测试流程")
|
||||
public class UpdateTestflow001Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=0)
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@LogField(name="客户",index=1)
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@LogField(name="客户编码",index=2)
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@LogField(name="名称",index=3)
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@LogField(name="备注",index=4)
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=5)
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
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-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class Testflow001PageVo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String id;
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
}
|
||||
@ -0,0 +1,100 @@
|
||||
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-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class Testflow001Vo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long createUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long modifyUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Integer enabledMark;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -1,7 +1,5 @@
|
||||
package com.xjrsoft.config;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
|
||||
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
|
||||
import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
|
||||
|
||||
@ -0,0 +1,119 @@
|
||||
package com.xjrsoft.module.dev.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xjrsoft.common.model.result.R;
|
||||
import com.xjrsoft.common.page.ConventPage;
|
||||
import com.xjrsoft.common.page.PageOutput;
|
||||
import com.xjrsoft.common.utils.VoToColumnUtil;
|
||||
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
|
||||
import com.xjrsoft.module.dev.dto.Testflow001PageDto;
|
||||
import com.xjrsoft.module.dev.dto.UpdateTestflow001Dto;
|
||||
import com.xjrsoft.module.dev.entity.Testflow001;
|
||||
import com.xjrsoft.module.dev.service.ITestflow001Service;
|
||||
import com.xjrsoft.module.dev.vo.Testflow001PageVo;
|
||||
import com.xjrsoft.module.dev.vo.Testflow001Vo;
|
||||
import com.xjrsoft.module.system.client.ICodeRuleClient;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
/**
|
||||
* @title: 测试流程
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/dev" + "/testflow001")
|
||||
@Api(value = "/dev" + "/testflow001",tags = "测试流程代码")
|
||||
@AllArgsConstructor
|
||||
public class Testflow001Controller {
|
||||
|
||||
|
||||
private final ITestflow001Service testflow001Service;
|
||||
private final ICodeRuleClient codeRuleClient;
|
||||
private final DatalogService dataService;
|
||||
|
||||
@GetMapping(value = "/page")
|
||||
@ApiOperation(value="Testflow001列表(分页)")
|
||||
@SaCheckPermission("testflow001:list")
|
||||
public R page(@Valid Testflow001PageDto dto){
|
||||
|
||||
LambdaQueryWrapper<Testflow001> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getCustomer()),Testflow001::getCustomer,dto.getCustomer())
|
||||
.like(StrUtil.isNotBlank(dto.getCustomerCode()),Testflow001::getCustomerCode,dto.getCustomerCode())
|
||||
.like(StrUtil.isNotBlank(dto.getName()),Testflow001::getName,dto.getName())
|
||||
.like(StrUtil.isNotBlank(dto.getNote()),Testflow001::getNote,dto.getNote())
|
||||
.orderByDesc(Testflow001::getId)
|
||||
.select(Testflow001.class,x -> VoToColumnUtil.fieldsToColumns(Testflow001PageVo.class).contains(x.getProperty()));
|
||||
IPage<Testflow001> page = testflow001Service.page(ConventPage.getPage(dto), queryWrapper);
|
||||
PageOutput<Testflow001PageVo> pageOutput = ConventPage.getPageOutput(page, Testflow001PageVo.class);
|
||||
return R.ok(pageOutput);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/info")
|
||||
@ApiOperation(value="根据id查询Testflow001信息")
|
||||
@SaCheckPermission("testflow001:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
Testflow001 testflow001 = testflow001Service.getById(id);
|
||||
if (testflow001 == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(testflow001, Testflow001Vo.class));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ApiOperation(value="根据id查询Testflow001数据详细日志")
|
||||
@SaCheckPermission("testflow001:datalog")
|
||||
public R datalog(@RequestParam Long id){
|
||||
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateTestflow001Dto.class,id);
|
||||
return R.ok(logs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "新增Testflow001")
|
||||
@SaCheckPermission("testflow001:add")
|
||||
public R add(@Valid @RequestBody UpdateTestflow001Dto dto){
|
||||
codeRuleClient.useEncode("TestCode");
|
||||
UpdateTestflow001Dto res = dataService.insert(dto);
|
||||
return R.ok(res.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改Testflow001")
|
||||
@SaCheckPermission("testflow001:edit")
|
||||
public R update(@Valid @RequestBody UpdateTestflow001Dto dto){
|
||||
return R.ok(dataService.updateById(dto));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("testflow001:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateTestflow001Dto.class, ids));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,115 @@
|
||||
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: 测试流程
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("testflow_001")
|
||||
@ApiModel(value = "测试流程对象", description = "测试流程")
|
||||
public class Testflow001 implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@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.Testflow001;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface Testflow001Mapper extends BaseMapper<Testflow001> {
|
||||
|
||||
}
|
||||
@ -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.Testflow001;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public interface ITestflow001Service extends IService<Testflow001> {
|
||||
}
|
||||
@ -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.Testflow001;
|
||||
import com.xjrsoft.module.dev.mapper.Testflow001Mapper;
|
||||
import com.xjrsoft.module.dev.service.ITestflow001Service;
|
||||
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-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class Testflow001ServiceImpl extends ServiceImpl<Testflow001Mapper, Testflow001> implements ITestflow001Service {
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
spring:
|
||||
cloud:
|
||||
nacos: #nacos监控
|
||||
config:
|
||||
server-addr: 10.10.2.101:8848 # nacos 配置中心地址
|
||||
namespace: ITC-MS
|
||||
group: DNE
|
||||
username: nacos
|
||||
password: Lng@123
|
||||
extension-configs:
|
||||
- data-id: global-local.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
- data-id: discovery-local.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
- data-id: datasource-local.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
- data-id: seata-local.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
- data-id: redis-local.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
- data-id: magic-api.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
- data-id: sa-token.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
- data-id: camunda.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
- data-id: sentinel-local.yml
|
||||
refresh: true
|
||||
group: DNE
|
||||
|
||||
discovery:
|
||||
ip: 10.0.0.2
|
||||
#network-interface: net7
|
||||
|
||||
xjrsoft:
|
||||
generate:
|
||||
apiJavaPath: F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-mdm\itc-pcitc-mdm-api
|
||||
javaPath: F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-mdm\itc-pcitc-mdm-service
|
||||
webPath: F:\ges-scm\code\dev\geg-gas-web
|
||||
appPath: F:\ges-scm\code\dev\uniapp\xjrsoft-uni #前端app
|
||||
|
||||
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
package com.xjrsoft;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -7,6 +12,8 @@ import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
import com.xjrsoft.module.common.db.service.CommonCallService;
|
||||
|
||||
import cn.hutool.core.io.IoUtil;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest(classes = ITCDemoApplication.class)
|
||||
public class CallTest {
|
||||
@ -21,5 +28,21 @@ public class CallTest {
|
||||
String out = callService.saveAfter("Ing_b_price_term", 12);
|
||||
System.out.println(out);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
String filePath = "D:\\java\\conf\\cn-ips.txt";
|
||||
boolean first = false;
|
||||
// 2. 流式读取(适合大文件,逐行处理,不占内存)
|
||||
try (Stream<String> lineStream = Files.lines(Paths.get(filePath))) {
|
||||
lineStream.forEach(line -> {
|
||||
// 逐行处理逻辑(如解析、过滤)
|
||||
if (!line.isEmpty()) { // 跳过空行
|
||||
System.out.print(";" + line);
|
||||
}
|
||||
});
|
||||
} catch (IOException e) {
|
||||
System.err.println("流式读取失败:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,7 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
public enum JoinCaseType {
|
||||
|
||||
FULL,NONE
|
||||
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
/**
|
||||
* @author 张福财
|
||||
* @date 2025年8月28日 下午6:00:10
|
||||
* @Description: 关联类型 ONE_ONE ONE_MANY
|
||||
*/
|
||||
public enum JoinType {
|
||||
|
||||
ONE,
|
||||
MANY
|
||||
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
/**
|
||||
* @author 张福财
|
||||
* @date 2025年8月26日 上午9:18:35
|
||||
* @Description: 关联值类型
|
||||
*/
|
||||
public enum JoinValueType {
|
||||
|
||||
FEILD, //字段关联
|
||||
STATIC //字段等于静态值
|
||||
|
||||
}
|
||||
@ -1,41 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import org.springframework.core.annotation.AliasFor;
|
||||
|
||||
/**
|
||||
* @author 张福财
|
||||
* @date 2025年8月26日 下午5:33:01
|
||||
* @Description: 数据日志属性配置
|
||||
*/
|
||||
@Target({ElementType.METHOD, ElementType.FIELD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
public @interface LogField {
|
||||
|
||||
@AliasFor("name")
|
||||
String value() default "";
|
||||
|
||||
/**
|
||||
* @Description: 业务名称
|
||||
* @return String 返回类型
|
||||
*/
|
||||
@AliasFor("value")
|
||||
String name() default "";
|
||||
|
||||
/**
|
||||
* @Description: 数据库字段
|
||||
* @return String 返回类型
|
||||
*/
|
||||
String column() default "";
|
||||
|
||||
/**
|
||||
* @Description: 位置
|
||||
* @return int 返回类型
|
||||
*/
|
||||
int index() default 0;
|
||||
|
||||
}
|
||||
@ -1,63 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Inherited;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* @author 张福财
|
||||
* @date 2025年8月26日 上午9:37:23
|
||||
* @Description: 关联关系
|
||||
*/
|
||||
@Target({ElementType.METHOD, ElementType.FIELD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Inherited
|
||||
public @interface LogJoin {
|
||||
|
||||
/**
|
||||
* @Description: 业务名称
|
||||
* @return String 返回类型
|
||||
*/
|
||||
String name();
|
||||
|
||||
/**
|
||||
* @Description: 关联对象
|
||||
* @return Class<?> 返回类型
|
||||
*/
|
||||
Class<?> target();
|
||||
|
||||
/**
|
||||
* @Description: 关联类型
|
||||
* @return JoinType 返回类型
|
||||
*/
|
||||
JoinType type();
|
||||
|
||||
/**
|
||||
* @Description: 级联类型:DEL(删除)、UPD(修改)、FULL(全部);
|
||||
* @return JoinType 返回类型
|
||||
*/
|
||||
JoinCaseType caseType() default JoinCaseType.FULL;
|
||||
|
||||
/**
|
||||
* @Description: 关联列
|
||||
* @return DataLogJoinColumn[] 返回类型
|
||||
*/
|
||||
LogJoinColumn[] columns() default {};
|
||||
|
||||
/**
|
||||
* @Description: 数据来源:默认通过target配置的表名去关联查询;如果sourceType = TQ 时配置查询ID
|
||||
* @return String 返回类型
|
||||
*/
|
||||
String source() default "";
|
||||
|
||||
/**
|
||||
* @Description: TODO(这里用一句话描述这个方法的作用)
|
||||
* @return
|
||||
* @return QJoinSource 返回类型
|
||||
*/
|
||||
SourceType sourceType() default SourceType.TABLE;
|
||||
|
||||
|
||||
}
|
||||
@ -1,48 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Inherited;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
/**
|
||||
* @author 张福财
|
||||
* @date 2025年8月26日 上午9:37:45
|
||||
* @Description: 关联属性配置
|
||||
*/
|
||||
@Target({ElementType.METHOD, ElementType.FIELD})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Inherited
|
||||
public @interface LogJoinColumn {
|
||||
|
||||
/**
|
||||
* @Description: 属性
|
||||
* @return String 返回类型
|
||||
*/
|
||||
String field() default "";
|
||||
|
||||
/**
|
||||
* @Description: 关联属性
|
||||
* @return String 返回类型
|
||||
*/
|
||||
String relatedField() default "";
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 赋值方向
|
||||
* @return ValueDirectionType 返回类型
|
||||
*/
|
||||
ValueDirectionType valueDirection() default ValueDirectionType.LEFT;
|
||||
|
||||
/**
|
||||
* @Description: 关联值类型:JoinValueType: FEILD【字段关联】、STATIC【字段等于静态值】
|
||||
* @return String 返回类型
|
||||
*/
|
||||
JoinValueType valueType() default JoinValueType.FEILD;
|
||||
|
||||
String staticValue() default "";
|
||||
|
||||
Class<?> staticType() default String.class;
|
||||
|
||||
}
|
||||
@ -1,48 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Inherited;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
import org.springframework.core.annotation.AliasFor;
|
||||
|
||||
/**
|
||||
* @author 张福财
|
||||
* @date 2025年8月25日 下午6:09:03
|
||||
* @Description: TODO(这里用一句话描述这个类的作用)
|
||||
*/
|
||||
@Target({ElementType.TYPE})
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Inherited
|
||||
public @interface LogTable {
|
||||
|
||||
/**
|
||||
* @Description: 业务名称
|
||||
* @return String 返回类型
|
||||
*/
|
||||
@AliasFor("name")
|
||||
String value() default "";
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 业务名称
|
||||
* @return String 返回类型
|
||||
*/
|
||||
@AliasFor("value")
|
||||
String name() default "";
|
||||
|
||||
/**
|
||||
* @Description: 表名或者查询ID
|
||||
* @return String 返回类型
|
||||
*/
|
||||
String source();
|
||||
|
||||
/**
|
||||
* @Description:
|
||||
* @return QJoinSource 返回类型
|
||||
*/
|
||||
SourceType sourceType() default SourceType.TABLE;
|
||||
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
/**
|
||||
* @author 张福财
|
||||
* @date 2025年8月28日 下午4:24:27
|
||||
* @Description: 数据来源,默认从关联表,获取从SQL配置表
|
||||
*/
|
||||
public enum SourceType {
|
||||
|
||||
TABLE,
|
||||
TSQL
|
||||
|
||||
}
|
||||
@ -1,13 +0,0 @@
|
||||
package com.pictc.annotations.datalog;
|
||||
|
||||
/**
|
||||
* @author 张福财
|
||||
* @date 2025年8月28日 下午2:40:03
|
||||
* @Description: 赋值方向
|
||||
* 左边为主表
|
||||
* 右边为子表
|
||||
*/
|
||||
public enum ValueDirectionType {
|
||||
LEFT, //向左
|
||||
RIGHT
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.pictc.config;
|
||||
|
||||
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import com.pictc.listener.PEventListenerPublisher;
|
||||
import com.pictc.listener.TNacosManager;
|
||||
|
||||
@Configuration
|
||||
public class PEventListenerConfig {
|
||||
|
||||
@Bean
|
||||
public PEventListenerPublisher pEventListenerPublisher() {
|
||||
return new PEventListenerPublisher();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public RestTemplate restTemplate() {
|
||||
return new RestTemplate();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public TNacosManager nacosManager() {
|
||||
return new TNacosManager();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package com.pictc.listener;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
public class ListenerParameterContext implements Serializable{
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 发送源
|
||||
*/
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 数据
|
||||
*/
|
||||
private Object data;
|
||||
/**
|
||||
* 单个监听器执行成功,就算成功
|
||||
*/
|
||||
private boolean single;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package com.pictc.listener;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class MethodInfo {
|
||||
|
||||
private Object bean;
|
||||
|
||||
private Method method;
|
||||
|
||||
private PEventListener annotation;
|
||||
|
||||
public MethodInfo(Object bean, Method method, PEventListener annotation) {
|
||||
super();
|
||||
this.bean = bean;
|
||||
this.method = method;
|
||||
this.annotation = annotation;
|
||||
}
|
||||
|
||||
public Object invoke(Object[] args) throws Exception {
|
||||
return method.invoke(bean, args);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package com.pictc.listener;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Target(ElementType.METHOD) // 标注在方法上
|
||||
@Retention(RetentionPolicy.RUNTIME) // 运行时保留,反射可获取
|
||||
public @interface PEventListener {
|
||||
|
||||
|
||||
/**
|
||||
* EL表达式内容
|
||||
*/
|
||||
String value() default "";
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,62 @@
|
||||
package com.pictc.listener;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Set;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.RequestEntity;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import com.pictc.utils.CollectionUtils;
|
||||
import com.pictc.utils.ObjectUtils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
public class PEventListenerPublisher {
|
||||
|
||||
private static RestTemplate rest;
|
||||
|
||||
@Autowired
|
||||
public void setRest(RestTemplate rest) {
|
||||
PEventListenerPublisher.rest = rest;
|
||||
}
|
||||
|
||||
public static boolean publish(Object source,Object data) {
|
||||
return publish(source, data, false);
|
||||
}
|
||||
|
||||
public static boolean publish(Object source,Object data,boolean single) {
|
||||
ListenerParameterContext conetext = new ListenerParameterContext();
|
||||
conetext.setSource(TNacosManager.getAppName()+":"+source.getClass().getCanonicalName());
|
||||
conetext.setData(data);
|
||||
conetext.setSingle(single);
|
||||
Set<String> services = TNacosManager.getNotSelfServices();
|
||||
boolean flag = single?false:true;
|
||||
if(CollectionUtils.isNotEmpty(services)) {
|
||||
for (String serviceId : services) {
|
||||
try {
|
||||
URI uri = TNacosManager.getServiceURI(serviceId);
|
||||
if(uri!=null) {
|
||||
HttpHeaders headers = TNacosManager.createNewHeaders();
|
||||
byte[] bytes = ObjectUtils.toBytes(conetext);
|
||||
RequestEntity<byte[]> request = new RequestEntity<byte[]>(bytes,headers,HttpMethod.POST,uri);
|
||||
ResponseEntity<Boolean> responseEntity = rest.exchange(request,boolean.class);
|
||||
if(single && responseEntity.hasBody() && responseEntity.getBody()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
log.info("客户端:{}调用失败!",serviceId);
|
||||
}
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,214 @@
|
||||
package com.pictc.listener;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Enumeration;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.cloud.client.ServiceInstance;
|
||||
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
|
||||
import com.alibaba.cloud.nacos.NacosServiceManager;
|
||||
import com.alibaba.nacos.api.common.Constants;
|
||||
import com.alibaba.nacos.api.exception.NacosException;
|
||||
import com.alibaba.nacos.api.naming.NamingService;
|
||||
import com.alibaba.nacos.api.naming.pojo.ListView;
|
||||
import com.alibaba.nacos.client.naming.event.InstancesChangeEvent;
|
||||
import com.alibaba.nacos.common.notify.Event;
|
||||
import com.alibaba.nacos.common.notify.NotifyCenter;
|
||||
import com.alibaba.nacos.common.notify.listener.Subscriber;
|
||||
import com.pictc.utils.CollectionUtils;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
@Slf4j
|
||||
@Getter
|
||||
public class TNacosManager extends Subscriber<InstancesChangeEvent> implements InitializingBean{
|
||||
|
||||
private static Set<String> services = CollectionUtils.newConcurrentSet();
|
||||
|
||||
private static Object lock = new Object();
|
||||
|
||||
private static NacosServiceManager nacosServiceManager;
|
||||
|
||||
private static NacosDiscoveryProperties properties;
|
||||
|
||||
private static NamingService nacos;
|
||||
|
||||
private static String appName;
|
||||
|
||||
private static String group;
|
||||
|
||||
private static LoadBalancerClient loadba;
|
||||
|
||||
@Autowired
|
||||
public void setLoadbalancerClient(LoadBalancerClient loadbalancerClient) {
|
||||
TNacosManager.loadba = loadbalancerClient;
|
||||
}
|
||||
|
||||
@Value("${spring.application.name}")
|
||||
public void setAppName(String appName) {
|
||||
TNacosManager.appName = appName;
|
||||
}
|
||||
|
||||
public static String getAppName() {
|
||||
return appName;
|
||||
}
|
||||
|
||||
public static boolean isSelf(String serviceId) {
|
||||
return appName.equals(serviceId);
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setNacosServiceManager(NacosServiceManager nacosServiceManager) {
|
||||
TNacosManager.nacosServiceManager = nacosServiceManager;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
public void setProperties(NacosDiscoveryProperties properties) {
|
||||
TNacosManager.properties = properties;
|
||||
}
|
||||
|
||||
public static Set<String> getServices() {
|
||||
synchronized (lock) {
|
||||
initServices();
|
||||
return services;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static Set<String> getNotSelfServices() {
|
||||
return getServices().stream().filter(it->it.equals(appName)).collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
public static URI getServiceURI(String serviceId) throws URISyntaxException {
|
||||
ServiceInstance instance = loadba.choose(serviceId);
|
||||
if(instance==null) return null;
|
||||
String url = instance.getUri().toString();
|
||||
if(url.endsWith("/")) {
|
||||
url = url.substring(0, url.length()-1);
|
||||
}
|
||||
return new URI(url+"/reception/listener");
|
||||
}
|
||||
|
||||
public static HttpHeaders createNewHeaders() {
|
||||
HttpHeaders source = getHeaders();
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
if(source!=null) {
|
||||
for (String name : source.keySet()) {
|
||||
if(HttpHeaders.CONTENT_TYPE.equalsIgnoreCase(name)
|
||||
|| HttpHeaders.CONTENT_LENGTH.equalsIgnoreCase(name)
|
||||
|| HttpHeaders.CONTENT_DISPOSITION.equalsIgnoreCase(name)
|
||||
|| HttpHeaders.CONTENT_ENCODING.equalsIgnoreCase(name)
|
||||
|| HttpHeaders.CONTENT_LANGUAGE.equalsIgnoreCase(name)
|
||||
|| HttpHeaders.CONTENT_LOCATION.equalsIgnoreCase(name)
|
||||
|| HttpHeaders.CONTENT_RANGE.equalsIgnoreCase(name)
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
headers.addAll(name,source.get(name));
|
||||
}
|
||||
}
|
||||
return headers;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterPropertiesSet() throws Exception {
|
||||
init();
|
||||
NotifyCenter.registerSubscriber(this);
|
||||
initServices();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<? extends Event> subscribeType() {
|
||||
return InstancesChangeEvent.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEvent(InstancesChangeEvent event) {
|
||||
String serviceName = event.getServiceName();
|
||||
String split = Constants.SERVICE_INFO_SPLITER;
|
||||
if (serviceName.contains(split)) {
|
||||
serviceName = serviceName.substring(serviceName.indexOf(split) + split.length());
|
||||
}
|
||||
initServices();
|
||||
}
|
||||
|
||||
private static void init() {
|
||||
if(nacos==null) {
|
||||
nacos = nacosServiceManager.getNamingService();
|
||||
group = properties.getGroup();
|
||||
}
|
||||
}
|
||||
|
||||
private static void initServices() {
|
||||
try {
|
||||
init();
|
||||
services.clear();
|
||||
int index = 1;
|
||||
while (true) {
|
||||
ListView<String> listView = nacos.getServicesOfServer(index,20,group);
|
||||
if(CollectionUtils.isEmpty(listView.getData())) {
|
||||
break;
|
||||
}else {
|
||||
for (String name : listView.getData()) {
|
||||
if(!services.contains(name)) {
|
||||
services.add(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
index++;
|
||||
}
|
||||
} catch (NacosException e) {
|
||||
log.error("初始化服务名异常",e);
|
||||
}
|
||||
}
|
||||
|
||||
public static HttpHeaders getHeaders() {
|
||||
HttpServletRequest request = getRequest();
|
||||
HttpHeaders headers = null;
|
||||
if(request!=null) {
|
||||
headers = new HttpHeaders();
|
||||
Enumeration<String> headerNames = request.getHeaderNames();
|
||||
if (headerNames != null) {
|
||||
while (headerNames.hasMoreElements()) {
|
||||
String name = headerNames.nextElement();
|
||||
headers.addAll(name, getValues(request.getHeaders(name)));
|
||||
}
|
||||
}
|
||||
}
|
||||
return headers;
|
||||
}
|
||||
|
||||
private static List<String> getValues(Enumeration<String> sourcs){
|
||||
List<String> values = new ArrayList<String>();
|
||||
if (sourcs != null) {
|
||||
while (sourcs.hasMoreElements()) {
|
||||
values.add(sourcs.nextElement());
|
||||
}
|
||||
}
|
||||
return values;
|
||||
}
|
||||
|
||||
private static HttpServletRequest getRequest() {
|
||||
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();
|
||||
if(servletRequestAttributes!=null) {
|
||||
return servletRequestAttributes.getRequest();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@ -777,7 +777,6 @@ public class DataLogTools {
|
||||
change.setNewValue(parseValue(BeanUtils.getFieldValue(item.getField(),entity),item.getField().getType()));
|
||||
datalog.addFiledChnage(change);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -891,7 +890,9 @@ public class DataLogTools {
|
||||
// }
|
||||
// executeBatch(sql, batchParams);
|
||||
for (DataChangeLog item : logs) {
|
||||
logDbService.insertDataLog(tableName,item);
|
||||
if(item.hasFieldChanges()) {
|
||||
logDbService.insertDataLog(tableName,item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,70 @@
|
||||
package com.pictc.utils;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Parameter;
|
||||
import java.lang.reflect.ParameterizedType;
|
||||
import java.lang.reflect.Type;
|
||||
|
||||
import org.springframework.core.DefaultParameterNameDiscoverer;
|
||||
import org.springframework.core.ParameterNameDiscoverer;
|
||||
|
||||
public class MethodUtils {
|
||||
|
||||
private static ParameterNameDiscoverer discoverer = new DefaultParameterNameDiscoverer();
|
||||
|
||||
private MethodUtils() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static String toString(Method method) {
|
||||
StringBuilder builder = new StringBuilder(method.getName());
|
||||
builder.append("(");
|
||||
String[] names = getArgNames(method);
|
||||
Parameter[] parameters = method.getParameters();
|
||||
if(parameters!=null) {
|
||||
for (int i = 0; i < parameters.length; i++) {
|
||||
if(i>0) {
|
||||
builder.append(",");
|
||||
}
|
||||
if(names!=null) {
|
||||
builder.append(names[i]);
|
||||
}else {
|
||||
builder.append("arg"+i);
|
||||
}
|
||||
Parameter parameter = parameters[i];
|
||||
builder.append(":");
|
||||
builder.append(typeToString(parameter.getParameterizedType()));
|
||||
}
|
||||
}
|
||||
builder.append("):");
|
||||
if(Void.class.equals(method.getReturnType())) {
|
||||
builder.append("void");
|
||||
}else {
|
||||
builder.append(method.getReturnType().getName());
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
public static String[] getArgNames(Method method) {
|
||||
return discoverer.getParameterNames(method);
|
||||
}
|
||||
|
||||
public static String typeToString(Type type) {
|
||||
if(type instanceof ParameterizedType) {
|
||||
ParameterizedType gtype = ((ParameterizedType)type);
|
||||
StringBuilder builder = new StringBuilder();
|
||||
builder.append(gtype.getRawType().getTypeName());
|
||||
Type[] generics = gtype.getActualTypeArguments();
|
||||
builder.append("<");
|
||||
for (int i = 0; i < generics.length; i++) {
|
||||
if(i>0) {
|
||||
builder.append(",");
|
||||
}
|
||||
builder.append(typeToString(generics[i]));
|
||||
}
|
||||
builder.append(">");
|
||||
return builder.toString();
|
||||
}
|
||||
return type.getTypeName();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,96 @@
|
||||
package com.pictc.utils;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.Closeable;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @Description TODO(这里用一句话描述这个类的作用)
|
||||
* @author zhangfucai
|
||||
* @Date 2023年4月25日 上午12:49:14
|
||||
* @version 1.0.0
|
||||
*/
|
||||
public class ObjectUtils {
|
||||
|
||||
private ObjectUtils() {
|
||||
super();
|
||||
}
|
||||
|
||||
public static byte[] toBytes(Object obj){
|
||||
if(obj!=null) {
|
||||
if(!(obj instanceof Serializable)) {
|
||||
throw new RuntimeException(obj+"没有实现 Serializable!");
|
||||
}
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
ObjectOutputStream oo=null;
|
||||
try {
|
||||
oo = new ObjectOutputStream(out);
|
||||
oo.writeObject(obj);
|
||||
oo.flush();
|
||||
return out.toByteArray();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("对象序列化失败!",e);
|
||||
}finally {
|
||||
closeQuietly(oo,out);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void write(OutputStream out,Object obj) {
|
||||
if(obj!=null) {
|
||||
if(!(obj instanceof Serializable)) {
|
||||
throw new RuntimeException(obj+"没有实现 Serializable!");
|
||||
}
|
||||
ObjectOutputStream oo=null;
|
||||
try {
|
||||
oo = new ObjectOutputStream(out);
|
||||
oo.writeObject(obj);
|
||||
oo.flush();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("对象序列化失败!",e);
|
||||
}finally {
|
||||
closeQuietly(oo,out);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static <T>T reader(InputStream in){
|
||||
ObjectInputStream ois = null;
|
||||
try {
|
||||
ois = new ObjectInputStream(in);
|
||||
return (T) ois.readObject();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException("对象反序列化失败!",e);
|
||||
}finally {
|
||||
closeQuietly(ois,in);
|
||||
}
|
||||
}
|
||||
|
||||
public static <T>T reader(byte[] bytes){
|
||||
return reader(new ByteArrayInputStream(bytes));
|
||||
}
|
||||
|
||||
public static void closeQuietly(Closeable... closeables) {
|
||||
if (closeables == null)
|
||||
return;
|
||||
|
||||
for (Closeable closeable : closeables) {
|
||||
if (closeable == null)
|
||||
return;
|
||||
|
||||
try {
|
||||
closeable.close();
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,119 @@
|
||||
package com.xjrsoft.common;
|
||||
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.List;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.boot.ApplicationArguments;
|
||||
import org.springframework.boot.ApplicationRunner;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.expression.ExpressionParser;
|
||||
import org.springframework.expression.spel.standard.SpelExpressionParser;
|
||||
import org.springframework.expression.spel.support.StandardEvaluationContext;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.pictc.listener.ListenerParameterContext;
|
||||
import com.pictc.listener.MethodInfo;
|
||||
import com.pictc.listener.PEventListener;
|
||||
import com.pictc.utils.CollectionUtils;
|
||||
import com.pictc.utils.ObjectUtils;
|
||||
import com.pictc.utils.StringUtils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
@Slf4j
|
||||
@ApiIgnore
|
||||
@RequestMapping("/reception")
|
||||
public class ServiceListenerProvider implements ApplicationContextAware,ApplicationRunner{
|
||||
|
||||
private ApplicationContext context;
|
||||
|
||||
private List<MethodInfo> cmethods = CollectionUtils.newArrayList();
|
||||
|
||||
// SpEL解析器
|
||||
private final ExpressionParser parser = new SpelExpressionParser();
|
||||
|
||||
private static byte[] FALSE;
|
||||
|
||||
private static byte[] TRUE;
|
||||
|
||||
static {
|
||||
try {
|
||||
FALSE = "false".getBytes("UTF-8");
|
||||
TRUE = "true".getBytes("UTF-8");
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
||||
this.context = applicationContext;
|
||||
}
|
||||
|
||||
@PostMapping("/listener")
|
||||
public void reception(HttpServletRequest request,HttpServletResponse response) throws Exception {
|
||||
boolean flag = false;
|
||||
if(!cmethods.isEmpty()) {
|
||||
ListenerParameterContext context = ObjectUtils.reader(request.getInputStream());
|
||||
log.info("监听服务:{},调用{}->{},是否单例:{}",context.getSource(),JSON.toJSONString(context.getData()),context.isSingle());
|
||||
StandardEvaluationContext elEContext = new StandardEvaluationContext();
|
||||
elEContext.setVariable("source", context.getSource());
|
||||
elEContext.setVariable("data", context.getData());
|
||||
for (MethodInfo info : cmethods) {
|
||||
PEventListener annotation = info.getAnnotation();
|
||||
if(StringUtils.isNotEmpty(annotation.value())) {
|
||||
Object result = parser.parseExpression(annotation.value()).getValue(elEContext);
|
||||
System.out.println("EL表达式执行结果:" + result);
|
||||
if(result!=null && (boolean)result == false) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
flag = parseResult(info.invoke(new Object[] {context.getSource(),context.getData()}));
|
||||
if(context.isSingle() && flag) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
ServletOutputStream stream = response.getOutputStream();
|
||||
stream.write(flag?TRUE:FALSE);
|
||||
stream.flush();
|
||||
}else {
|
||||
log.info("没有注册监听器");
|
||||
}
|
||||
}
|
||||
|
||||
private boolean parseResult(Object val) {
|
||||
if(val==null) return false;
|
||||
if(Boolean.class.equals(val.getClass())) {
|
||||
return Boolean.class.cast(val).booleanValue();
|
||||
}else if(boolean.class.equals(val.getClass())) {
|
||||
return (boolean)val;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// 项目启动后执行扫描
|
||||
@Override
|
||||
public void run(ApplicationArguments args) throws Exception {
|
||||
String[] beanNames = context.getBeanDefinitionNames();
|
||||
for (String beanName : beanNames) {
|
||||
Object bean = context.getBean(beanName);
|
||||
Method[] methods = bean.getClass().getDeclaredMethods();
|
||||
for (Method method : methods) {
|
||||
if (method.isAnnotationPresent(PEventListener.class)) {
|
||||
cmethods.add(new MethodInfo(bean, method, method.getAnnotation(PEventListener.class)));
|
||||
}
|
||||
}
|
||||
}
|
||||
log.info("监听器客户端:{}",cmethods);
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,5 @@
|
||||
# src/main/resources/META-INF/spring.factories
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
com.pictc.config.PcitcAutoConfig,\
|
||||
com.pictc.config.JdbcConfig
|
||||
com.pictc.config.JdbcConfig,\
|
||||
com.pictc.config.PEventListenerConfig
|
||||
@ -1,4 +1,5 @@
|
||||
# src/main/resources/META-INF/spring.factories
|
||||
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
com.pictc.config.PcitcAutoConfig,\
|
||||
com.pictc.config.JdbcConfig
|
||||
com.pictc.config.JdbcConfig,\
|
||||
com.pictc.config.PEventListenerConfig
|
||||
@ -0,0 +1,24 @@
|
||||
package com.xjrsoft.module.mdm.client;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import com.xjrsoft.common.constant.GlobalConstant;
|
||||
|
||||
/**
|
||||
* @author: ksy
|
||||
* @since: 2025/11/5
|
||||
*/
|
||||
@FeignClient(value = GlobalConstant.CLIENT_PCITC_MDM_NAME, path = GlobalConstant.CLIENT_API_PRE + GlobalConstant.MDM_MODULE_PREFIX + "/tran/lngStation")
|
||||
public interface ILngStationClient {
|
||||
|
||||
@GetMapping("/getAllTranData")
|
||||
Map<String,String> getAllTranData();
|
||||
|
||||
@GetMapping("/getTranById")
|
||||
String getTranById(@RequestParam("id")String id);
|
||||
|
||||
}
|
||||
@ -0,0 +1,62 @@
|
||||
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: 测试流程1
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testflow_001",name="测试流程1")
|
||||
public class AddTestflow001Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
@LogField(name="客户",index=0)
|
||||
private String customer;
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
@LogField(name="客户编码",index=0)
|
||||
private String customerCode;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
@LogField(name="名称",index=0)
|
||||
private String name;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
@LogField(name="备注",index=0)
|
||||
private String note;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Long tenantId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,56 @@
|
||||
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: 测试流程3
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testflow_003",name="测试流程3")
|
||||
public class AddTestflow003Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
@LogField(name="名称",index=0)
|
||||
private String name;
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@ApiModelProperty("编码")
|
||||
@LogField(name="编码",index=0)
|
||||
private String code;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
@LogField(name="备注",index=0)
|
||||
private String note;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Long tenantId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
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-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class Testflow001PageDto extends PageInput {
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
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-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class Testflow003PageDto extends PageInput {
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@ApiModelProperty("编码")
|
||||
private String code;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
}
|
||||
@ -43,21 +43,21 @@ public class UpdateLngBPortDto implements Serializable {
|
||||
/**
|
||||
* 助记码(自动生成,4位,0001……)
|
||||
*/
|
||||
@LogField(name="助记码(自动生成,4位,0001……)",index=1)
|
||||
@LogField(name="助记码",index=1)
|
||||
@ApiModelProperty("助记码(自动生成,4位,0001……)")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 名称(名称和简称都不能重复)
|
||||
*/
|
||||
@LogField(name="名称(名称和简称都不能重复)",index=2)
|
||||
@LogField(name="名称",index=2)
|
||||
@ApiModelProperty("名称(名称和简称都不能重复)")
|
||||
private String fullName;
|
||||
|
||||
/**
|
||||
* 简称(名称和简称都不能重复)
|
||||
*/
|
||||
@LogField(name="简称(名称和简称都不能重复)",index=3)
|
||||
@LogField(name="简称",index=3)
|
||||
@ApiModelProperty("简称(名称和简称都不能重复)")
|
||||
private String shortName;
|
||||
|
||||
@ -127,7 +127,7 @@ public class UpdateLngBPortDto implements Serializable {
|
||||
/**
|
||||
* 有效标志(Y-有效,N-无效)
|
||||
*/
|
||||
@LogField(name="有效标志(Y-有效,N-无效)",index=13)
|
||||
@LogField(name="有效标志",index=13)
|
||||
@ApiModelProperty("有效标志(Y-有效,N-无效)")
|
||||
private String valid;
|
||||
|
||||
@ -141,7 +141,7 @@ public class UpdateLngBPortDto implements Serializable {
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@LogField(name="租户id",index=15)
|
||||
@LogField(name="租户",index=15)
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
@ -0,0 +1,79 @@
|
||||
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: 测试流程1
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testflow_001",name="测试流程1")
|
||||
public class UpdateTestflow001Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=0)
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@LogField(name="客户",index=1)
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@LogField(name="客户编码",index=2)
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@LogField(name="名称",index=3)
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@LogField(name="备注",index=4)
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=5)
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
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: 测试流程3
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="testflow_003",name="测试流程3")
|
||||
public class UpdateTestflow003Dto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=0)
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@LogField(name="名称",index=1)
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@LogField(name="编码",index=2)
|
||||
@ApiModelProperty("编码")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@LogField(name="备注",index=3)
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=4)
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
}
|
||||
@ -44,6 +44,7 @@ public class LngBPngLinePageVo {
|
||||
* 自有接收站(惠州/阳江)
|
||||
*/
|
||||
@ApiModelProperty("自有接收站(惠州/阳江)")
|
||||
@Trans(type = TransType.LNG_STATION)
|
||||
private String staCodeLng;
|
||||
/**
|
||||
* 显示顺序
|
||||
|
||||
@ -0,0 +1,48 @@
|
||||
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-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class Testflow001PageVo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String id;
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
}
|
||||
@ -0,0 +1,100 @@
|
||||
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-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class Testflow001Vo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@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,43 @@
|
||||
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-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class Testflow003PageVo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String id;
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@ApiModelProperty("编码")
|
||||
private String code;
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
}
|
||||
@ -0,0 +1,93 @@
|
||||
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-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class Testflow003Vo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@ApiModelProperty("编码")
|
||||
private String code;
|
||||
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long createUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long modifyUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Integer enabledMark;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -226,4 +226,10 @@ public class AddLngCustomerDto implements Serializable {
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerContact子表")
|
||||
private List<AddLngCustomerContactDto> lngCustomerContactList;
|
||||
|
||||
/**
|
||||
* lngFileUpload
|
||||
*/
|
||||
@ApiModelProperty("lngFileUpload子表")
|
||||
private List<AddLngFileUploadDto> lngFileUploadList;
|
||||
}
|
||||
|
||||
@ -0,0 +1,90 @@
|
||||
package com.xjrsoft.module.sales.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-11-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="lng_file_upload",name="客户")
|
||||
public class AddLngFileUploadDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private String tableName;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Long tableId;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private String columnName;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private String fileOrg;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private String filePath;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Long fileSize;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private String docDesc;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Short sort;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@LogField(name="",index=0)
|
||||
private Long tenantId;
|
||||
|
||||
@LogField(name="",index=10)
|
||||
@ApiModelProperty("")
|
||||
private Long xjrFileId;
|
||||
|
||||
}
|
||||
@ -28,7 +28,7 @@ import com.pictc.annotations.datalog.ValueDirectionType;
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="lng_customer_attr_power",name="客户")
|
||||
@LogTable(source="lng_customer_attr_power",name="客户业务信息")
|
||||
public class UpdateLngCustomerAttrPowerDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -28,7 +28,7 @@ import com.pictc.annotations.datalog.ValueDirectionType;
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="lng_customer_bank",name="客户")
|
||||
@LogTable(source="lng_customer_bank",name="客户银行信息")
|
||||
public class UpdateLngCustomerBankDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -28,7 +28,7 @@ import com.pictc.annotations.datalog.ValueDirectionType;
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="lng_customer_contact",name="客户")
|
||||
@LogTable(source="lng_customer_contact",name="客户联系人信息")
|
||||
public class UpdateLngCustomerContactDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -28,7 +28,7 @@ import com.pictc.annotations.datalog.ValueDirectionType;
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="lng_customer_doc",name="客户")
|
||||
@LogTable(source="lng_customer_doc",name="客户证书信息")
|
||||
public class UpdateLngCustomerDocDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -96,5 +96,14 @@ public class UpdateLngCustomerDocDto implements Serializable {
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
/**
|
||||
* lngFileUpload
|
||||
*/
|
||||
@ApiModelProperty("lngFileUpload子表")
|
||||
@LogJoin(name = "lngFileUpload子表",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
|
||||
},
|
||||
caseType = JoinCaseType.FULL, target = UpdateLngFileUploadDto.class, type = JoinType.MANY)
|
||||
private List<UpdateLngFileUploadDto> fileList;
|
||||
}
|
||||
|
||||
@ -252,7 +252,7 @@ public class UpdateLngCustomerDto implements Serializable {
|
||||
* lngCustomerAttrPower
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerAttrPower子表")
|
||||
@LogJoin(name = "lngCustomerAttrPower子表",
|
||||
@LogJoin(name = "客户业务信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT)
|
||||
},
|
||||
@ -262,7 +262,7 @@ public class UpdateLngCustomerDto implements Serializable {
|
||||
* lngCustomerBank
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerBank子表")
|
||||
@LogJoin(name = "lngCustomerBank子表",
|
||||
@LogJoin(name = "客户银行信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT)
|
||||
},
|
||||
@ -272,7 +272,7 @@ public class UpdateLngCustomerDto implements Serializable {
|
||||
* lngCustomerDoc
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerDoc子表")
|
||||
@LogJoin(name = "lngCustomerDoc子表",
|
||||
@LogJoin(name = "客户证书信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT)
|
||||
},
|
||||
@ -282,10 +282,20 @@ public class UpdateLngCustomerDto implements Serializable {
|
||||
* lngCustomerContact
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerContact子表")
|
||||
@LogJoin(name = "lngCustomerContact子表",
|
||||
columns = {
|
||||
@LogJoin(name = "客户联系人信息",columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT)
|
||||
},
|
||||
caseType = JoinCaseType.FULL, target = UpdateLngCustomerContactDto.class, type = JoinType.MANY)
|
||||
private List<UpdateLngCustomerContactDto> lngCustomerContactList;
|
||||
|
||||
/**
|
||||
* lngFileUpload
|
||||
*/
|
||||
@ApiModelProperty("lngFileUpload子表")
|
||||
@LogJoin(name = "lngFileUpload子表",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
|
||||
},
|
||||
caseType = JoinCaseType.FULL, target = UpdateLngFileUploadDto.class, type = JoinType.MANY)
|
||||
private List<UpdateLngFileUploadDto> lngFileUploadList;
|
||||
}
|
||||
|
||||
@ -0,0 +1,109 @@
|
||||
package com.xjrsoft.module.sales.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-11-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@LogTable(source="lng_file_upload",name="客户")
|
||||
public class UpdateLngFileUploadDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=0)
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=1)
|
||||
@ApiModelProperty("")
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=2)
|
||||
@ApiModelProperty("")
|
||||
private Long tableId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=3)
|
||||
@ApiModelProperty("")
|
||||
private String columnName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=4)
|
||||
@ApiModelProperty("")
|
||||
private String fileOrg;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=5)
|
||||
@ApiModelProperty("")
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=6)
|
||||
@ApiModelProperty("")
|
||||
private Long fileSize;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=7)
|
||||
@ApiModelProperty("")
|
||||
private String docDesc;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=8)
|
||||
@ApiModelProperty("")
|
||||
private Short sort;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@LogField(name="",index=9)
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
@LogField(name="",index=10)
|
||||
@ApiModelProperty("")
|
||||
private Long xjrFileId;
|
||||
}
|
||||
@ -122,7 +122,11 @@ public class LngCustomerDocVo {
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* lngFileUpload
|
||||
*/
|
||||
@ApiModelProperty("lngFileUpload子表")
|
||||
private List<LngFileUploadVo> fileList;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,5 +1,8 @@
|
||||
package com.xjrsoft.module.sales.vo;
|
||||
|
||||
import com.xjrsoft.common.annotation.Trans;
|
||||
import com.xjrsoft.common.enums.TransType;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@ -41,26 +44,34 @@ public class LngCustomerPageVo {
|
||||
* 企业性质(国有企业/非国有企业)
|
||||
*/
|
||||
@ApiModelProperty("企业性质(国有企业/非国有企业)")
|
||||
@Trans(type = TransType.DIC, id = "1990667133987635201")
|
||||
private String natureCode;
|
||||
/**
|
||||
* 客户分类(一类/二类)
|
||||
*/
|
||||
@ApiModelProperty("客户分类(一类/二类)")
|
||||
@Trans(type = TransType.DIC, id = "1990668094164484097")
|
||||
private String classCode;
|
||||
/**
|
||||
* 客户类别(电厂/工业用户/城燃/贸易商)
|
||||
*/
|
||||
@ApiModelProperty("客户类别(电厂/工业用户/城燃/贸易商)")
|
||||
@Trans(type = TransType.DIC, id = "1990668471983194113")
|
||||
private String typeCode;
|
||||
/**
|
||||
* 有效标志(不在黑名单)(Y-有效,N-无效)
|
||||
*/
|
||||
@ApiModelProperty("有效标志(不在黑名单)(Y-有效,N-无效)")
|
||||
@Trans(type = TransType.DIC, id = "1978057078528327681")
|
||||
private String valid;
|
||||
/**
|
||||
* 状态(未提交/审批中/已审批/已驳回)
|
||||
*/
|
||||
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
|
||||
@Trans(type = TransType.DIC, id = "1990669393069129729", transToFieldName = "approName")
|
||||
private String approCode;
|
||||
|
||||
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
|
||||
private String approName;
|
||||
|
||||
}
|
||||
|
||||
@ -297,5 +297,11 @@ public class LngCustomerVo {
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerContact子表")
|
||||
private List<LngCustomerContactVo> lngCustomerContactList;
|
||||
|
||||
/**
|
||||
* lngFileUpload
|
||||
*/
|
||||
@ApiModelProperty("lngFileUpload子表")
|
||||
private List<LngFileUploadVo> lngFileUploadList;
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,143 @@
|
||||
package com.xjrsoft.module.sales.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;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.pictc.annotations.datalog.LogField;
|
||||
|
||||
/**
|
||||
* @title: 表单出参
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class LngFileUploadVo {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long id;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String tableName;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tableId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String columnName;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String fileOrg;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String filePath;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long fileSize;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String docDesc;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Short sort;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long createUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime createDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long modifyUserId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tenantId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long deptId;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
@ApiModelProperty("")
|
||||
private String presignedUrl;
|
||||
|
||||
|
||||
@LogField(name="",index=10)
|
||||
@ApiModelProperty("")
|
||||
private Long xjrFileId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package com.xjrsoft.module.mdm.client;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.xjrsoft.common.constant.GlobalConstant;
|
||||
import com.xjrsoft.common.utils.TenantUtil;
|
||||
import com.xjrsoft.module.mdm.entity.LngBStationLng;
|
||||
import com.xjrsoft.module.mdm.service.ILNGStationService;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
/**
|
||||
* @author: yjw
|
||||
* @since: 2025/3/5
|
||||
*/
|
||||
//@Api(hidden = true)
|
||||
@RestController
|
||||
@RequestMapping(GlobalConstant.CLIENT_API_PRE + GlobalConstant.MDM_MODULE_PREFIX + "/tran/lngStation")
|
||||
@AllArgsConstructor
|
||||
public class LngStationClientImpl implements ILngStationClient {
|
||||
|
||||
private final ILNGStationService lngStationService;
|
||||
|
||||
@GetMapping("/getAllTranData")
|
||||
@Override
|
||||
public Map<String, String> getAllTranData() {
|
||||
try {
|
||||
TenantUtil.ignore(true);
|
||||
List<LngBStationLng> list = lngStationService.list();
|
||||
return list.stream().collect(Collectors.toMap(LngBStationLng::getCode,LngBStationLng::getFullName));
|
||||
}finally {
|
||||
TenantUtil.clear();
|
||||
}
|
||||
}
|
||||
|
||||
@GetMapping("/getTranById")
|
||||
@Override
|
||||
public String getTranById(@RequestParam("id")String code) {
|
||||
LngBStationLng region = lngStationService.getByCode(code);
|
||||
return region!=null?region.getFullName():null;
|
||||
}
|
||||
|
||||
}
|
||||
@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.pictc.utils.CollectionUtils;
|
||||
import com.xjrsoft.common.model.result.R;
|
||||
import com.xjrsoft.common.page.ConventPage;
|
||||
import com.xjrsoft.common.page.PageOutput;
|
||||
@ -24,9 +25,11 @@ import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
|
||||
import com.xjrsoft.module.mdm.dto.LngBDocCpPageDto;
|
||||
import com.xjrsoft.module.mdm.dto.UpdateLngBDocCpDto;
|
||||
import com.xjrsoft.module.mdm.entity.LngBDocCp;
|
||||
import com.xjrsoft.module.mdm.entity.LngBRegion;
|
||||
import com.xjrsoft.module.mdm.service.IDocCpService;
|
||||
import com.xjrsoft.module.mdm.vo.LngBDocCpPageVo;
|
||||
import com.xjrsoft.module.mdm.vo.LngBDocCpVo;
|
||||
import com.xjrsoft.module.mdm.vo.LngBRegionVo;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
@ -122,4 +125,25 @@ public class DocCpController {
|
||||
public R disable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.disable(UpdateLngBDocCpDto.class,ids));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/queryList")
|
||||
@ApiOperation(value="LngBDocCp列表(不分页)")
|
||||
public R list(UpdateLngBDocCpDto dto){
|
||||
|
||||
LambdaQueryWrapper<LngBDocCp> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getFullName()), LngBDocCp::getFullName, dto.getFullName())
|
||||
.eq(StrUtil.isNotBlank(dto.getValid()), LngBDocCp::getValid, dto.getValid())
|
||||
.orderByDesc(LngBDocCp::getCode);
|
||||
List<LngBDocCpVo> voList = CollectionUtils.newArrayList();
|
||||
List<LngBDocCp> docList = docCpService.list(queryWrapper);
|
||||
if(docList != null && docList.size() > 0) {
|
||||
for(LngBDocCp doc:docList) {
|
||||
LngBDocCpVo vo = new LngBDocCpVo();
|
||||
BeanUtil.copyProperties(doc, vo);
|
||||
voList.add(vo);
|
||||
}
|
||||
}
|
||||
return R.ok(voList);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,119 @@
|
||||
package com.xjrsoft.module.mdm.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xjrsoft.common.model.result.R;
|
||||
import com.xjrsoft.common.page.ConventPage;
|
||||
import com.xjrsoft.common.page.PageOutput;
|
||||
import com.xjrsoft.common.utils.VoToColumnUtil;
|
||||
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
|
||||
import com.xjrsoft.module.mdm.dto.Testflow001PageDto;
|
||||
import com.xjrsoft.module.mdm.dto.UpdateTestflow001Dto;
|
||||
import com.xjrsoft.module.mdm.entity.Testflow001;
|
||||
import com.xjrsoft.module.mdm.service.ITestflow001Service;
|
||||
import com.xjrsoft.module.mdm.vo.Testflow001PageVo;
|
||||
import com.xjrsoft.module.mdm.vo.Testflow001Vo;
|
||||
import com.xjrsoft.module.system.client.ICodeRuleClient;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
/**
|
||||
* @title: 测试流程
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/mdm" + "/testflow001")
|
||||
@Api(value = "/mdm" + "/testflow001",tags = "测试流程代码")
|
||||
@AllArgsConstructor
|
||||
public class Testflow001Controller {
|
||||
|
||||
|
||||
private final ITestflow001Service testflow001Service;
|
||||
private final ICodeRuleClient codeRuleClient;
|
||||
private final DatalogService dataService;
|
||||
|
||||
@GetMapping(value = "/page")
|
||||
@ApiOperation(value="Testflow001列表(分页)")
|
||||
@SaCheckPermission("testflow001:list")
|
||||
public R page(@Valid Testflow001PageDto dto){
|
||||
|
||||
LambdaQueryWrapper<Testflow001> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getCustomer()),Testflow001::getCustomer,dto.getCustomer())
|
||||
.like(StrUtil.isNotBlank(dto.getCustomerCode()),Testflow001::getCustomerCode,dto.getCustomerCode())
|
||||
.like(StrUtil.isNotBlank(dto.getName()),Testflow001::getName,dto.getName())
|
||||
.like(StrUtil.isNotBlank(dto.getNote()),Testflow001::getNote,dto.getNote())
|
||||
.orderByDesc(Testflow001::getId)
|
||||
.select(Testflow001.class,x -> VoToColumnUtil.fieldsToColumns(Testflow001PageVo.class).contains(x.getProperty()));
|
||||
IPage<Testflow001> page = testflow001Service.page(ConventPage.getPage(dto), queryWrapper);
|
||||
PageOutput<Testflow001PageVo> pageOutput = ConventPage.getPageOutput(page, Testflow001PageVo.class);
|
||||
return R.ok(pageOutput);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/info")
|
||||
@ApiOperation(value="根据id查询Testflow001信息")
|
||||
@SaCheckPermission("testflow001:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
Testflow001 testflow001 = testflow001Service.getById(id);
|
||||
if (testflow001 == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(testflow001, Testflow001Vo.class));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ApiOperation(value="根据id查询Testflow001数据详细日志")
|
||||
@SaCheckPermission("testflow001:datalog")
|
||||
public R datalog(@RequestParam Long id){
|
||||
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateTestflow001Dto.class,id);
|
||||
return R.ok(logs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "新增Testflow001")
|
||||
@SaCheckPermission("testflow001:add")
|
||||
public R add(@Valid @RequestBody UpdateTestflow001Dto dto){
|
||||
codeRuleClient.useEncode("TestCode");
|
||||
UpdateTestflow001Dto res = dataService.insert(dto);
|
||||
return R.ok(res.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改Testflow001")
|
||||
@SaCheckPermission("testflow001:edit")
|
||||
public R update(@Valid @RequestBody UpdateTestflow001Dto dto){
|
||||
return R.ok(dataService.updateById(dto));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("testflow001:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateTestflow001Dto.class, ids));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,118 @@
|
||||
package com.xjrsoft.module.mdm.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xjrsoft.common.model.result.R;
|
||||
import com.xjrsoft.common.page.ConventPage;
|
||||
import com.xjrsoft.common.page.PageOutput;
|
||||
import com.xjrsoft.common.utils.VoToColumnUtil;
|
||||
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
|
||||
import com.xjrsoft.module.mdm.dto.Testflow003PageDto;
|
||||
import com.xjrsoft.module.mdm.dto.UpdateTestflow003Dto;
|
||||
import com.xjrsoft.module.mdm.entity.Testflow003;
|
||||
import com.xjrsoft.module.mdm.service.ITestflow003Service;
|
||||
import com.xjrsoft.module.mdm.vo.Testflow003PageVo;
|
||||
import com.xjrsoft.module.mdm.vo.Testflow003Vo;
|
||||
import com.xjrsoft.module.system.client.ICodeRuleClient;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
/**
|
||||
* @title: 测试流程3
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/mdm" + "/testflow003")
|
||||
@Api(value = "/mdm" + "/testflow003",tags = "测试流程3代码")
|
||||
@AllArgsConstructor
|
||||
public class Testflow003Controller {
|
||||
|
||||
|
||||
private final ITestflow003Service testflow003Service;
|
||||
private final ICodeRuleClient codeRuleService;
|
||||
private final DatalogService dataService;
|
||||
|
||||
@GetMapping(value = "/page")
|
||||
@ApiOperation(value="Testflow003列表(分页)")
|
||||
@SaCheckPermission("testflow003:list")
|
||||
public R page(@Valid Testflow003PageDto dto){
|
||||
|
||||
LambdaQueryWrapper<Testflow003> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getName()),Testflow003::getName,dto.getName())
|
||||
.like(StrUtil.isNotBlank(dto.getCode()),Testflow003::getCode,dto.getCode())
|
||||
.like(StrUtil.isNotBlank(dto.getNote()),Testflow003::getNote,dto.getNote())
|
||||
.orderByDesc(Testflow003::getId)
|
||||
.select(Testflow003.class,x -> VoToColumnUtil.fieldsToColumns(Testflow003PageVo.class).contains(x.getProperty()));
|
||||
IPage<Testflow003> page = testflow003Service.page(ConventPage.getPage(dto), queryWrapper);
|
||||
PageOutput<Testflow003PageVo> pageOutput = ConventPage.getPageOutput(page, Testflow003PageVo.class);
|
||||
return R.ok(pageOutput);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/info")
|
||||
@ApiOperation(value="根据id查询Testflow003信息")
|
||||
@SaCheckPermission("testflow003:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
Testflow003 testflow003 = testflow003Service.getById(id);
|
||||
if (testflow003 == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(testflow003, Testflow003Vo.class));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ApiOperation(value="根据id查询Testflow003数据详细日志")
|
||||
@SaCheckPermission("testflow003:datalog")
|
||||
public R datalog(@RequestParam Long id){
|
||||
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateTestflow003Dto.class,id);
|
||||
return R.ok(logs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "新增Testflow003")
|
||||
@SaCheckPermission("testflow003:add")
|
||||
public R add(@Valid @RequestBody UpdateTestflow003Dto dto){
|
||||
codeRuleService.useEncode("TestCode");
|
||||
UpdateTestflow003Dto res = dataService.insert(dto,null);
|
||||
return R.ok(res.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改Testflow003")
|
||||
@SaCheckPermission("testflow003:edit")
|
||||
public R update(@Valid @RequestBody UpdateTestflow003Dto dto){
|
||||
return R.ok(dataService.updateById(dto));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("testflow003:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateTestflow003Dto.class, ids));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,115 @@
|
||||
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-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("testflow_001")
|
||||
@ApiModel(value = "测试流程对象", description = "测试流程")
|
||||
public class Testflow001 implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户
|
||||
*/
|
||||
@ApiModelProperty("客户")
|
||||
private String customer;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String customerCode;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@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,109 @@
|
||||
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: 测试流程3
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("testflow_003")
|
||||
@ApiModel(value = "测试流程3对象", description = "测试流程3")
|
||||
public class Testflow003 implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 名称
|
||||
*/
|
||||
@ApiModelProperty("名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@ApiModelProperty("编码")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@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.mdm.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.mdm.entity.Testflow001;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface Testflow001Mapper extends BaseMapper<Testflow001> {
|
||||
|
||||
}
|
||||
@ -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.Testflow003;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface Testflow003Mapper extends BaseMapper<Testflow003> {
|
||||
|
||||
}
|
||||
@ -23,4 +23,6 @@ public interface ILNGStationService extends IService<LngBStationLng> {
|
||||
boolean enable(@Valid List<Long> ids);
|
||||
|
||||
boolean disable(@Valid List<Long> ids);
|
||||
|
||||
LngBStationLng getByCode(String code);
|
||||
}
|
||||
|
||||
@ -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.Testflow001;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public interface ITestflow001Service extends IService<Testflow001> {
|
||||
}
|
||||
@ -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.Testflow003;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public interface ITestflow003Service extends IService<Testflow003> {
|
||||
}
|
||||
@ -17,7 +17,6 @@ import com.pictc.utils.CollectionUtils;
|
||||
import com.xjrsoft.common.constant.GlobalConstant;
|
||||
import com.xjrsoft.common.utils.TreeUtil;
|
||||
import com.xjrsoft.module.mdm.entity.LngBRegion;
|
||||
import com.xjrsoft.module.mdm.enums.CountryRegionEnum;
|
||||
import com.xjrsoft.module.mdm.mapper.LngBRegionMapper;
|
||||
import com.xjrsoft.module.mdm.service.ICountryRegionService;
|
||||
import com.xjrsoft.module.mdm.vo.LngBRegionTreeVo;
|
||||
@ -60,7 +59,8 @@ public class CountryRegionServiceImpl extends ServiceImpl<LngBRegionMapper, LngB
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<LngBRegion> tempQw = Wrappers.<LngBRegion>query().lambda()
|
||||
.notIn(StringUtils.isNotBlank(excludeType),LngBRegion::getRegionTypeCode, excludeTypeList);
|
||||
.notIn(StringUtils.isNotBlank(excludeType),LngBRegion::getRegionTypeCode, excludeTypeList)
|
||||
.orderByAsc(LngBRegion::getCode);
|
||||
//.eq(StringUtils.isNotBlank(startPCode),LngBRegion::getCode, startPCode);
|
||||
List<LngBRegion> allList = this.list(tempQw);
|
||||
Map<Long,LngBRegion> map = allList.stream().collect(Collectors.toMap(LngBRegion::getId,
|
||||
@ -145,10 +145,10 @@ public class CountryRegionServiceImpl extends ServiceImpl<LngBRegionMapper, LngB
|
||||
.in(pid == null, LngBRegion::getPid, pidList)
|
||||
.and(StrUtil.isNotBlank(keyword), x -> {
|
||||
x.like(StrUtil.isNotBlank(keyword), LngBRegion::getFullName, keyword);
|
||||
}));
|
||||
}).orderByAsc(LngBRegion::getCode));
|
||||
|
||||
List<LngBRegionVo> voList = CollectionUtils.newArrayList();
|
||||
if(voList != null && regionList.size() > 0) {
|
||||
if(regionList != null && regionList.size() > 0) {
|
||||
for(LngBRegion br:regionList) {
|
||||
LngBRegionVo vo = new LngBRegionVo();
|
||||
BeanUtil.copyProperties(br, vo);
|
||||
|
||||
@ -1,5 +1,12 @@
|
||||
package com.xjrsoft.module.mdm.service.impl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.pictc.constant.FieldNameConstants;
|
||||
@ -7,6 +14,8 @@ import com.pictc.constant.TableNameConstants;
|
||||
import com.pictc.enums.BusinessCode;
|
||||
import com.pictc.enums.ExceptionCommonCode;
|
||||
import com.pictc.utils.DataLogTools;
|
||||
import com.xjrsoft.common.advice.tran.LngStationDataProvider;
|
||||
import com.xjrsoft.common.advice.tran.RegionDataProvider;
|
||||
import com.xjrsoft.common.exception.BusinessException;
|
||||
import com.xjrsoft.module.common.db.service.CommonCallService;
|
||||
import com.xjrsoft.module.mdm.dto.UpdateLngBStationLngDto;
|
||||
@ -14,13 +23,8 @@ import com.xjrsoft.module.mdm.entity.LngBStationLng;
|
||||
import com.xjrsoft.module.mdm.mapper.LngBStationLngMapper;
|
||||
import com.xjrsoft.module.mdm.service.ILNGStationService;
|
||||
import com.xjrsoft.module.system.client.ICodeRuleClient;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
@ -37,6 +41,8 @@ public class LNGStationServiceImpl extends ServiceImpl<LngBStationLngMapper, Lng
|
||||
private final ICodeRuleClient codeRuleClient;
|
||||
|
||||
private final String STATIONCODE = "stationCode";
|
||||
|
||||
private final LngStationDataProvider tranProvider;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@ -46,6 +52,7 @@ public class LNGStationServiceImpl extends ServiceImpl<LngBStationLngMapper, Lng
|
||||
UpdateLngBStationLngDto res = DataLogTools.insert(dto);
|
||||
codeRuleClient.useEncode(STATIONCODE);
|
||||
this.addOrUpdateAfter(res.getId());
|
||||
tranProvider.saveData(dto.getCode(), dto.getFullName());
|
||||
return res.getId();
|
||||
}
|
||||
|
||||
@ -79,6 +86,7 @@ public class LNGStationServiceImpl extends ServiceImpl<LngBStationLngMapper, Lng
|
||||
this.checkParams(dto);
|
||||
DataLogTools.update(dto);
|
||||
this.addOrUpdateAfter(dto.getId());
|
||||
tranProvider.saveData(dto.getCode(), dto.getFullName());
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -107,4 +115,11 @@ public class LNGStationServiceImpl extends ServiceImpl<LngBStationLngMapper, Lng
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LngBStationLng getByCode(String code) {
|
||||
LambdaQueryWrapper<LngBStationLng> queryWrapper = new LambdaQueryWrapper<LngBStationLng>();
|
||||
queryWrapper.eq(LngBStationLng::getCode,code);
|
||||
return baseMapper.selectOne(queryWrapper);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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.Testflow001;
|
||||
import com.xjrsoft.module.mdm.mapper.Testflow001Mapper;
|
||||
import com.xjrsoft.module.mdm.service.ITestflow001Service;
|
||||
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-11-25
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class Testflow001ServiceImpl extends ServiceImpl<Testflow001Mapper, Testflow001> implements ITestflow001Service {
|
||||
}
|
||||
@ -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.Testflow003;
|
||||
import com.xjrsoft.module.mdm.mapper.Testflow003Mapper;
|
||||
import com.xjrsoft.module.mdm.service.ITestflow003Service;
|
||||
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-11-26
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class Testflow003ServiceImpl extends ServiceImpl<Testflow003Mapper, Testflow003> implements ITestflow003Service {
|
||||
}
|
||||
@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.pictc.utils.StringUtils;
|
||||
import com.xjrsoft.common.model.result.R;
|
||||
import com.xjrsoft.common.page.ConventPage;
|
||||
import com.xjrsoft.common.page.PageOutput;
|
||||
@ -85,7 +86,7 @@ public class CustomerController {
|
||||
@ApiOperation(value="根据id查询LngCustomer信息")
|
||||
@SaCheckPermission("customer:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
LngCustomer lngCustomer = customerService.getByIdDeep(id);
|
||||
LngCustomer lngCustomer = customerService.getCustomerById(id);
|
||||
if (lngCustomer == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
@ -107,9 +108,10 @@ public class CustomerController {
|
||||
public R add(@Valid @RequestBody UpdateLngCustomerDto dto){
|
||||
String code = codeRuleClient.genEncode(CUSTOMER_CODE);
|
||||
dto.setCuCode("C"+code);
|
||||
customerService.add(dto);
|
||||
Long id = customerService.add(dto);
|
||||
dto.setId(id);
|
||||
codeRuleClient.useEncode(CUSTOMER_CODE);
|
||||
return R.ok();
|
||||
return R.ok(dto);
|
||||
/**
|
||||
return R.ok(dataService.insert(dto,new DataOperationListener<UpdateLngCustomerDto>() {
|
||||
|
||||
@ -123,9 +125,9 @@ public class CustomerController {
|
||||
@Override
|
||||
public UpdateLngCustomerDto after(DataOperationContent<UpdateLngCustomerDto> content) {
|
||||
String msg = CommonCallUtils.saveAfter(content.getTableName(),content.getIdValue());
|
||||
if (StringUtils.isNotBlank(msg)) {
|
||||
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg));
|
||||
}
|
||||
if (StringUtils.isNotBlank(msg)) {
|
||||
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg));
|
||||
}
|
||||
codeRuleClient.useEncode(CUSTOMER_CODE);
|
||||
return content.getObj();
|
||||
}
|
||||
@ -138,7 +140,6 @@ public class CustomerController {
|
||||
@ApiOperation(value = "修改LngCustomer")
|
||||
@SaCheckPermission("customer:edit")
|
||||
public R update(@Valid @RequestBody UpdateLngCustomerDto dto){
|
||||
// return R.ok(dataService.updateById(dto));
|
||||
customerService.update(dto);
|
||||
return R.ok();
|
||||
}
|
||||
@ -147,7 +148,7 @@ public class CustomerController {
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("customer:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(customerService.delete(ids));
|
||||
return R.ok(customerService.delete(ids));
|
||||
|
||||
}
|
||||
|
||||
@ -155,7 +156,7 @@ public class CustomerController {
|
||||
@ApiOperation(value = "启用LngCustomer")
|
||||
@SaCheckPermission("customer:enable")
|
||||
public R enable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.enable(UpdateLngCustomerDto.class,ids));
|
||||
return R.ok(dataService.enable(UpdateLngCustomerDto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
@ -163,7 +164,7 @@ public class CustomerController {
|
||||
@ApiOperation(value = "禁用LngCustomer")
|
||||
@SaCheckPermission("customer:disable")
|
||||
public R disable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.disable(UpdateLngCustomerDto.class,ids));
|
||||
return R.ok(dataService.disable(UpdateLngCustomerDto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -15,6 +15,7 @@ import com.pictc.annotations.datalog.JoinType;
|
||||
import com.pictc.annotations.datalog.LogJoin;
|
||||
import com.pictc.annotations.datalog.LogJoinColumn;
|
||||
import com.pictc.annotations.datalog.ValueDirectionType;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngFileUploadDto;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@ -272,8 +273,8 @@ public class LngCustomer implements Serializable {
|
||||
@EntityMapping(thisField = "cuCode", joinField = "cuCode")
|
||||
@LogJoin(name = "客户业务信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT)
|
||||
}, caseType = JoinCaseType.NONE, target = LngCustomerAttrPower.class, type = JoinType.MANY)
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT)
|
||||
}, caseType = JoinCaseType.FULL, target = LngCustomerAttrPower.class, type = JoinType.MANY)
|
||||
private List<LngCustomerAttrPower> lngCustomerAttrPowerList;
|
||||
/**
|
||||
* lngCustomerBank
|
||||
@ -283,8 +284,8 @@ public class LngCustomer implements Serializable {
|
||||
@EntityMapping(thisField = "cuCode", joinField = "cuCode")
|
||||
@LogJoin(name = "客户银行信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT)
|
||||
}, caseType = JoinCaseType.NONE, target = LngCustomerBank.class, type = JoinType.MANY)
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT)
|
||||
}, caseType = JoinCaseType.FULL, target = LngCustomerBank.class, type = JoinType.MANY)
|
||||
|
||||
private List<LngCustomerBank> lngCustomerBankList;
|
||||
/**
|
||||
@ -295,8 +296,8 @@ public class LngCustomer implements Serializable {
|
||||
@EntityMapping(thisField = "cuCode", joinField = "cuCode")
|
||||
@LogJoin(name = "客户证书信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT)
|
||||
}, caseType = JoinCaseType.NONE, target = LngCustomerDoc.class, type = JoinType.MANY)
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT)
|
||||
}, caseType = JoinCaseType.FULL, target = LngCustomerDoc.class, type = JoinType.MANY)
|
||||
|
||||
private List<LngCustomerDoc> lngCustomerDocList;
|
||||
/**
|
||||
@ -307,9 +308,23 @@ public class LngCustomer implements Serializable {
|
||||
@EntityMapping(thisField = "cuCode", joinField = "cuCode")
|
||||
@LogJoin(name = "客户联系人信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT)
|
||||
}, caseType = JoinCaseType.NONE, target = LngCustomerContact.class, type = JoinType.MANY)
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.RIGHT)
|
||||
}, caseType = JoinCaseType.FULL, target = LngCustomerContact.class, type = JoinType.MANY)
|
||||
|
||||
private List<LngCustomerContact> lngCustomerContactList;
|
||||
|
||||
|
||||
/**
|
||||
* lngFileUpload
|
||||
*/
|
||||
@ApiModelProperty("lngFileUpload子表")
|
||||
@TableField(exist = false)
|
||||
@EntityMapping(thisField = "id", joinField = "tableId")
|
||||
@LogJoin(name = "lngFileUpload子表",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
|
||||
},
|
||||
caseType = JoinCaseType.FULL, target = UpdateLngFileUploadDto.class, type = JoinType.MANY)
|
||||
private List<LngFileUpload> lngFileUploadList;
|
||||
|
||||
}
|
||||
@ -22,7 +22,7 @@ import lombok.Data;
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer_attr_power")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
@ApiModel(value = "客户业务信息", description = "客户")
|
||||
public class LngCustomerAttrPower implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -25,7 +25,7 @@ import java.util.List;
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer_bank")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
@ApiModel(value = "客户银行信息", description = "客户")
|
||||
public class LngCustomerBank implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -25,7 +25,7 @@ import java.util.List;
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer_contact")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
@ApiModel(value = "客户-联系人", description = "客户")
|
||||
public class LngCustomerContact implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ -1,20 +1,24 @@
|
||||
package com.xjrsoft.module.sales.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
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.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.yulichang.annotation.EntityMapping;
|
||||
import com.pictc.annotations.datalog.JoinCaseType;
|
||||
import com.pictc.annotations.datalog.JoinType;
|
||||
import com.pictc.annotations.datalog.LogJoin;
|
||||
import com.pictc.annotations.datalog.LogJoinColumn;
|
||||
import com.pictc.annotations.datalog.ValueDirectionType;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngFileUploadDto;
|
||||
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
@ -25,7 +29,7 @@ import java.util.List;
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer_doc")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
@ApiModel(value = "客户-资质证书", description = "客户")
|
||||
public class LngCustomerDoc implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
@ -127,6 +131,18 @@ public class LngCustomerDoc implements Serializable {
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
/**
|
||||
* lngFileUpload
|
||||
*/
|
||||
@ApiModelProperty("lngFileUpload子表")
|
||||
@TableField(exist = false)
|
||||
@EntityMapping(thisField = "id", joinField = "tableId")
|
||||
@LogJoin(name = "lngFileUpload子表",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
|
||||
},
|
||||
caseType = JoinCaseType.FULL, target = UpdateLngFileUploadDto.class, type = JoinType.MANY)
|
||||
private List<LngFileUpload> fileList;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,143 @@
|
||||
package com.xjrsoft.module.sales.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-11-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_file_upload")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
public class LngFileUpload implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long tableId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String columnName;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String fileOrg;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Long fileSize;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private String docDesc;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
private Short sort;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@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("")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ApiModelProperty("")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
@ApiModelProperty("")
|
||||
@TableField(exist = false)
|
||||
private String presignedUrl;
|
||||
|
||||
//@ApiModelProperty("")
|
||||
//private Long xjrFileId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,18 @@
|
||||
package com.xjrsoft.module.sales.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngFileUpload;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-21
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngFileUploadMapper extends MPJBaseMapper<LngFileUpload>,BaseMapper<LngFileUpload> {
|
||||
|
||||
}
|
||||
@ -24,7 +24,7 @@ public interface ICustomerService extends MPJBaseService<LngCustomer>, MPJDeepSe
|
||||
* @return
|
||||
*/
|
||||
|
||||
Boolean add(UpdateLngCustomerDto updateLngCustomerDto);
|
||||
Long add(UpdateLngCustomerDto updateLngCustomerDto);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
@ -42,4 +42,6 @@ public interface ICustomerService extends MPJBaseService<LngCustomer>, MPJDeepSe
|
||||
*/
|
||||
Boolean delete(List<Long> ids);
|
||||
|
||||
LngCustomer getCustomerById(Long id);
|
||||
|
||||
}
|
||||
|
||||
@ -2,27 +2,37 @@ package com.xjrsoft.module.sales.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||
import com.pictc.utils.StringUtils;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerAttrPower;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerAttrPowerMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerBank;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerBankMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerDoc;
|
||||
import com.xjrsoft.module.sales.entity.LngFileUpload;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerDocMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerContact;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerContactMapper;
|
||||
import com.xjrsoft.common.factory.CloudStorageService;
|
||||
import com.xjrsoft.common.factory.OssFactory;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerAttrPowerDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerBankDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerContactDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDocDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngFileUploadDto;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomer;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerMapper;
|
||||
import com.xjrsoft.module.sales.mapper.LngFileUploadMapper;
|
||||
import com.xjrsoft.module.sales.service.ICustomerService;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
@ -37,47 +47,69 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, LngCustomer> implements ICustomerService {
|
||||
private final LngCustomerMapper customerLngCustomerMapper;
|
||||
private final LngCustomerMapper lngCustomerMapper;
|
||||
|
||||
private final LngCustomerAttrPowerMapper customerLngCustomerAttrPowerMapper;
|
||||
private final LngCustomerBankMapper customerLngCustomerBankMapper;
|
||||
private final LngCustomerDocMapper customerLngCustomerDocMapper;
|
||||
private final LngCustomerContactMapper customerLngCustomerContactMapper;
|
||||
private final LngCustomerAttrPowerMapper lngCustomerAttrPowerMapper;
|
||||
private final LngCustomerBankMapper lngCustomerBankMapper;
|
||||
private final LngCustomerDocMapper lngCustomerDocMapper;
|
||||
private final LngCustomerContactMapper lngCustomerContactMapper;
|
||||
private final LngFileUploadMapper lngFileUploadMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean add(UpdateLngCustomerDto updateLngCustomerDto) {
|
||||
public Long add(UpdateLngCustomerDto updateLngCustomerDto) {
|
||||
|
||||
LngCustomer lngCustomer = new LngCustomer();
|
||||
BeanUtil.copyProperties(updateLngCustomerDto, lngCustomer);
|
||||
customerLngCustomerMapper.insert(lngCustomer);
|
||||
lngCustomerMapper.insert(lngCustomer);
|
||||
for (UpdateLngCustomerAttrPowerDto updateLngCustomerAttrPowerDto : updateLngCustomerDto.getLngCustomerAttrPowerList()) {
|
||||
LngCustomerAttrPower lngCustomerAttrPower = new LngCustomerAttrPower();
|
||||
BeanUtil.copyProperties(updateLngCustomerAttrPowerDto, lngCustomerAttrPower);
|
||||
lngCustomerAttrPower.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerAttrPowerMapper.insert(lngCustomerAttrPower);
|
||||
lngCustomerAttrPowerMapper.insert(lngCustomerAttrPower);
|
||||
}
|
||||
for (UpdateLngCustomerBankDto updateLngCustomerBankDto : updateLngCustomerDto.getLngCustomerBankList()) {
|
||||
LngCustomerBank lngCustomerBank = new LngCustomerBank();
|
||||
BeanUtil.copyProperties(updateLngCustomerBankDto, lngCustomerBank);
|
||||
lngCustomerBank.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerBankMapper.insert(lngCustomerBank);
|
||||
lngCustomerBankMapper.insert(lngCustomerBank);
|
||||
}
|
||||
for (UpdateLngCustomerDocDto updateLngCustomerDocDto : updateLngCustomerDto.getLngCustomerDocList()) {
|
||||
LngCustomerDoc lngCustomerDoc = new LngCustomerDoc();
|
||||
BeanUtil.copyProperties(updateLngCustomerDocDto, lngCustomerDoc);
|
||||
lngCustomerDoc.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerDocMapper.insert(lngCustomerDoc);
|
||||
lngCustomerDocMapper.insert(lngCustomerDoc);
|
||||
|
||||
if(CollectionUtil.isNotEmpty(updateLngCustomerDocDto.getFileList())) {
|
||||
for(UpdateLngFileUploadDto lngFileUploadDto:updateLngCustomerDocDto.getFileList()) {
|
||||
LngFileUpload lngFileUpload = new LngFileUpload();
|
||||
BeanUtil.copyProperties(lngFileUploadDto, lngFileUpload);
|
||||
lngFileUpload.setTableName("lng_customer_doc");
|
||||
lngFileUpload.setTableId(lngCustomerDoc.getId());
|
||||
lngFileUploadMapper.insert(lngFileUpload);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
for (UpdateLngCustomerContactDto updateLngCustomerContactDto : updateLngCustomerDto.getLngCustomerContactList()) {
|
||||
LngCustomerContact lngCustomerContact = new LngCustomerContact();
|
||||
BeanUtil.copyProperties(updateLngCustomerContactDto, lngCustomerContact);
|
||||
lngCustomerContact.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerContactMapper.insert(lngCustomerContact);
|
||||
lngCustomerContactMapper.insert(lngCustomerContact);
|
||||
}
|
||||
|
||||
return true;
|
||||
if(updateLngCustomerDto.getLngFileUploadList() != null) {
|
||||
for (UpdateLngFileUploadDto lngFileUploadDto : updateLngCustomerDto.getLngFileUploadList()) {
|
||||
LngFileUpload lngFileUpload = new LngFileUpload();
|
||||
BeanUtil.copyProperties(lngFileUploadDto, lngFileUpload);
|
||||
lngFileUpload.setTableName("lng_customer");
|
||||
lngFileUpload.setTableId(lngCustomer.getId());
|
||||
lngFileUploadMapper.insert(lngFileUpload);
|
||||
}
|
||||
}
|
||||
|
||||
return lngCustomer.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -85,11 +117,11 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
|
||||
public Boolean update(UpdateLngCustomerDto updateLngCustomerDto) {
|
||||
LngCustomer lngCustomer = new LngCustomer();
|
||||
BeanUtil.copyProperties(updateLngCustomerDto, lngCustomer);
|
||||
customerLngCustomerMapper.updateById(lngCustomer);
|
||||
lngCustomerMapper.updateById(lngCustomer);
|
||||
//********************************* LngCustomerAttrPower 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngCustomerAttrPower> lngCustomerAttrPowerList = customerLngCustomerAttrPowerMapper.selectList(Wrappers.lambdaQuery(LngCustomerAttrPower.class).eq(LngCustomerAttrPower::getCuCode, lngCustomer.getCuCode()).select(LngCustomerAttrPower::getId));
|
||||
List<LngCustomerAttrPower> lngCustomerAttrPowerList = lngCustomerAttrPowerMapper.selectList(Wrappers.lambdaQuery(LngCustomerAttrPower.class).eq(LngCustomerAttrPower::getCuCode, lngCustomer.getCuCode()).select(LngCustomerAttrPower::getId));
|
||||
List<Long> lngCustomerAttrPowerIds = lngCustomerAttrPowerList.stream().map(LngCustomerAttrPower::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngCustomerAttrPowerOldIds = updateLngCustomerDto.getLngCustomerAttrPowerList().stream().map(UpdateLngCustomerAttrPowerDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
@ -102,18 +134,18 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
|
||||
//如果不等于空则修改
|
||||
if (lngCustomerAttrPower.getId() != null) {
|
||||
|
||||
customerLngCustomerAttrPowerMapper.updateById(lngCustomerAttrPower);
|
||||
lngCustomerAttrPowerMapper.updateById(lngCustomerAttrPower);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngCustomerAttrPower.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerAttrPowerMapper.insert(lngCustomerAttrPower);
|
||||
lngCustomerAttrPowerMapper.insert(lngCustomerAttrPower);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngCustomerAttrPowerRemoveIds.size() > 0){
|
||||
customerLngCustomerAttrPowerMapper.deleteBatchIds(lngCustomerAttrPowerRemoveIds);
|
||||
lngCustomerAttrPowerMapper.deleteBatchIds(lngCustomerAttrPowerRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngCustomerAttrPower 增删改 结束 *******************************************/
|
||||
@ -121,7 +153,7 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
|
||||
//********************************* LngCustomerBank 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngCustomerBank> lngCustomerBankList = customerLngCustomerBankMapper.selectList(Wrappers.lambdaQuery(LngCustomerBank.class).eq(LngCustomerBank::getCuCode, lngCustomer.getCuCode()).select(LngCustomerBank::getId));
|
||||
List<LngCustomerBank> lngCustomerBankList = lngCustomerBankMapper.selectList(Wrappers.lambdaQuery(LngCustomerBank.class).eq(LngCustomerBank::getCuCode, lngCustomer.getCuCode()).select(LngCustomerBank::getId));
|
||||
List<Long> lngCustomerBankIds = lngCustomerBankList.stream().map(LngCustomerBank::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngCustomerBankOldIds = updateLngCustomerDto.getLngCustomerBankList().stream().map(UpdateLngCustomerBankDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
@ -133,18 +165,18 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
|
||||
BeanUtil.copyProperties(lngCustomerBankDto, lngCustomerBank);
|
||||
//如果不等于空则修改
|
||||
if (lngCustomerBank.getId() != null) {
|
||||
customerLngCustomerBankMapper.updateById(lngCustomerBank);
|
||||
lngCustomerBankMapper.updateById(lngCustomerBank);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngCustomerBank.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerBankMapper.insert(lngCustomerBank);
|
||||
lngCustomerBankMapper.insert(lngCustomerBank);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngCustomerBankRemoveIds.size() > 0){
|
||||
customerLngCustomerBankMapper.deleteBatchIds(lngCustomerBankRemoveIds);
|
||||
lngCustomerBankMapper.deleteBatchIds(lngCustomerBankRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngCustomerBank 增删改 结束 *******************************************/
|
||||
@ -152,7 +184,7 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
|
||||
//********************************* LngCustomerDoc 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngCustomerDoc> lngCustomerDocList = customerLngCustomerDocMapper.selectList(Wrappers.lambdaQuery(LngCustomerDoc.class).eq(LngCustomerDoc::getCuCode, lngCustomer.getCuCode()).select(LngCustomerDoc::getId));
|
||||
List<LngCustomerDoc> lngCustomerDocList = lngCustomerDocMapper.selectList(Wrappers.lambdaQuery(LngCustomerDoc.class).eq(LngCustomerDoc::getCuCode, lngCustomer.getCuCode()).select(LngCustomerDoc::getId));
|
||||
List<Long> lngCustomerDocIds = lngCustomerDocList.stream().map(LngCustomerDoc::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngCustomerDocOldIds = updateLngCustomerDto.getLngCustomerDocList().stream().map(UpdateLngCustomerDocDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
@ -162,20 +194,34 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
|
||||
for (UpdateLngCustomerDocDto lngCustomerDocDto : updateLngCustomerDto.getLngCustomerDocList()) {
|
||||
LngCustomerDoc lngCustomerDoc = new LngCustomerDoc();
|
||||
BeanUtil.copyProperties(lngCustomerDocDto, lngCustomerDoc);
|
||||
//如果不等于空则修改
|
||||
//如果不等于空则修改
|
||||
if (lngCustomerDoc.getId() != null) {
|
||||
customerLngCustomerDocMapper.updateById(lngCustomerDoc);
|
||||
|
||||
lngCustomerDocMapper.updateById(lngCustomerDoc);
|
||||
lngFileUploadMapper.delete(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableName, "lng_customer_doc").eq(LngFileUpload::getTableId, lngCustomerDoc.getId()));
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngCustomerDoc.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerDocMapper.insert(lngCustomerDoc);
|
||||
lngCustomerDocMapper.insert(lngCustomerDoc);
|
||||
}
|
||||
if(CollectionUtil.isNotEmpty(lngCustomerDocDto.getFileList())) {
|
||||
for(UpdateLngFileUploadDto lngFileUploadDto:lngCustomerDocDto.getFileList()) {
|
||||
LngFileUpload lngFileUpload = new LngFileUpload();
|
||||
BeanUtil.copyProperties(lngFileUploadDto, lngFileUpload);
|
||||
lngFileUpload.setTableName("lng_customer_doc");
|
||||
lngFileUpload.setTableId(lngCustomerDoc.getId());
|
||||
lngFileUploadMapper.insert(lngFileUpload);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngCustomerDocRemoveIds.size() > 0){
|
||||
customerLngCustomerDocMapper.deleteBatchIds(lngCustomerDocRemoveIds);
|
||||
lngCustomerDocMapper.deleteBatchIds(lngCustomerDocRemoveIds);
|
||||
lngFileUploadMapper.delete(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableName, "lng_customer_doc").in(LngFileUpload::getTableId, lngCustomerDocRemoveIds));
|
||||
|
||||
}
|
||||
}
|
||||
//********************************* LngCustomerDoc 增删改 结束 *******************************************/
|
||||
@ -183,7 +229,7 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
|
||||
//********************************* LngCustomerContact 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngCustomerContact> lngCustomerContactList = customerLngCustomerContactMapper.selectList(Wrappers.lambdaQuery(LngCustomerContact.class).eq(LngCustomerContact::getCuCode, lngCustomer.getCuCode()).select(LngCustomerContact::getId));
|
||||
List<LngCustomerContact> lngCustomerContactList = lngCustomerContactMapper.selectList(Wrappers.lambdaQuery(LngCustomerContact.class).eq(LngCustomerContact::getCuCode, lngCustomer.getCuCode()).select(LngCustomerContact::getId));
|
||||
List<Long> lngCustomerContactIds = lngCustomerContactList.stream().map(LngCustomerContact::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngCustomerContactOldIds = updateLngCustomerDto.getLngCustomerContactList().stream().map(UpdateLngCustomerContactDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
@ -195,34 +241,99 @@ public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, L
|
||||
BeanUtil.copyProperties(lngCustomerContactDto, lngCustomerContact);
|
||||
//如果不等于空则修改
|
||||
if (lngCustomerContact.getId() != null) {
|
||||
customerLngCustomerContactMapper.updateById(lngCustomerContact);
|
||||
lngCustomerContactMapper.updateById(lngCustomerContact);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngCustomerContact.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerContactMapper.insert(lngCustomerContact);
|
||||
lngCustomerContactMapper.insert(lngCustomerContact);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngCustomerContactRemoveIds.size() > 0){
|
||||
customerLngCustomerContactMapper.deleteBatchIds(lngCustomerContactRemoveIds);
|
||||
lngCustomerContactMapper.deleteBatchIds(lngCustomerContactRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngCustomerContact 增删改 结束 *******************************************/
|
||||
|
||||
//********************************* LngFileUpload 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngFileUpload> lngFileUploadList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableName, "lng_customer").eq(LngFileUpload::getTableId, lngCustomer.getId()).select(LngFileUpload::getId));
|
||||
List<Long> lngFileUploadIds = lngFileUploadList.stream().map(LngFileUpload::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngFileUploadOldIds = updateLngCustomerDto.getLngFileUploadList().stream().map(UpdateLngFileUploadDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
//找到需要删除的id
|
||||
List<Long> lngFileUploadRemoveIds = lngFileUploadIds.stream().filter(item -> !lngFileUploadOldIds.contains(item)).collect(Collectors.toList());
|
||||
|
||||
for (UpdateLngFileUploadDto lngFileUploadDto : updateLngCustomerDto.getLngFileUploadList()) {
|
||||
LngFileUpload lngFileUpload = new LngFileUpload();
|
||||
BeanUtil.copyProperties(lngFileUploadDto, lngFileUpload);
|
||||
lngFileUpload.setTableName("lng_customer");
|
||||
//如果不等于空则修改
|
||||
if (lngFileUpload.getId() != null) {
|
||||
lngFileUploadMapper.updateById(lngFileUpload);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
lngFileUpload.setTableId(lngCustomer.getId());
|
||||
lngFileUploadMapper.insert(lngFileUpload);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngFileUploadRemoveIds.size() > 0){
|
||||
lngFileUploadMapper.deleteBatchIds(lngFileUploadRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngFileUpload 增删改 结束 *******************************************/
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean delete(List<Long> ids) {
|
||||
customerLngCustomerMapper.deleteBatchIds(ids);
|
||||
customerLngCustomerAttrPowerMapper.delete(Wrappers.lambdaQuery(LngCustomerAttrPower.class).in(LngCustomerAttrPower::getCuCode, ids));
|
||||
customerLngCustomerBankMapper.delete(Wrappers.lambdaQuery(LngCustomerBank.class).in(LngCustomerBank::getCuCode, ids));
|
||||
customerLngCustomerDocMapper.delete(Wrappers.lambdaQuery(LngCustomerDoc.class).in(LngCustomerDoc::getCuCode, ids));
|
||||
customerLngCustomerContactMapper.delete(Wrappers.lambdaQuery(LngCustomerContact.class).in(LngCustomerContact::getCuCode, ids));
|
||||
|
||||
return true;
|
||||
List<LngCustomer> customerList = lngCustomerMapper.selectList(Wrappers.lambdaQuery(LngCustomer.class).in(LngCustomer::getId, ids));
|
||||
List<String> cuCodeList = customerList.stream().map(LngCustomer::getCuCode).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
lngCustomerMapper.deleteBatchIds(ids);
|
||||
if(CollectionUtil.isNotEmpty(cuCodeList)) {
|
||||
lngCustomerAttrPowerMapper.delete(Wrappers.lambdaQuery(LngCustomerAttrPower.class).in(LngCustomerAttrPower::getCuCode, cuCodeList));
|
||||
lngCustomerBankMapper.delete(Wrappers.lambdaQuery(LngCustomerBank.class).in(LngCustomerBank::getCuCode, cuCodeList));
|
||||
lngCustomerDocMapper.delete(Wrappers.lambdaQuery(LngCustomerDoc.class).in(LngCustomerDoc::getCuCode, cuCodeList));
|
||||
lngCustomerContactMapper.delete(Wrappers.lambdaQuery(LngCustomerContact.class).in(LngCustomerContact::getCuCode, cuCodeList));
|
||||
lngFileUploadMapper.delete(Wrappers.lambdaQuery(LngFileUpload.class).in(LngFileUpload::getTableId, ids).eq(LngFileUpload::getTableName, "lng_customer"));
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LngCustomer getCustomerById(Long id) {
|
||||
|
||||
LngCustomer lngCustomer = this.getByIdDeep(id);
|
||||
if(lngCustomer == null) {
|
||||
return null;
|
||||
}
|
||||
if(CollectionUtil.isNotEmpty(lngCustomer.getLngCustomerDocList())) {
|
||||
for(LngCustomerDoc lngCustomerDoc: lngCustomer.getLngCustomerDocList()) {
|
||||
List<LngFileUpload> tempList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableId, lngCustomerDoc.getId()).eq(LngFileUpload::getTableName, "lng_customer_doc"));
|
||||
if(CollectionUtil.isNotEmpty(tempList)) {
|
||||
CloudStorageService storageService = OssFactory.build();
|
||||
tempList.forEach(file -> {
|
||||
file.setPresignedUrl(storageService.fixUrl(file.getFilePath()));
|
||||
});
|
||||
lngCustomerDoc.setFileList(tempList);
|
||||
}
|
||||
}
|
||||
}
|
||||
List<LngFileUpload> fileList = lngFileUploadMapper.selectList(Wrappers.lambdaQuery(LngFileUpload.class).eq(LngFileUpload::getTableId, lngCustomer.getId()).eq(LngFileUpload::getTableName, "lng_customer"));
|
||||
if (CollUtil.isNotEmpty(fileList)) {
|
||||
CloudStorageService storageService = OssFactory.build();
|
||||
fileList.forEach(file -> {
|
||||
file.setPresignedUrl(storageService.fixUrl(file.getFilePath()));
|
||||
});
|
||||
}
|
||||
lngCustomer.setLngFileUploadList(fileList);
|
||||
return lngCustomer;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user