diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/client/IDemoApplianceClient.java b/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/client/IDemoApplianceClient.java deleted file mode 100644 index e6df9c1..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/client/IDemoApplianceClient.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.xjrsoft.module.prdManage.client; - -import com.xjrsoft.common.constant.GlobalConstant; -import com.xjrsoft.module.prdManage.dto.DemoAppliancePageDto; -import com.xjrsoft.module.prdManage.vo.DemoApplianceVo; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; - -import java.util.List; - -/** - * @author: yjw - * @since: 2025/3/4 - */ -@FeignClient(value = "demo-service", - path = GlobalConstant.CLIENT_API_PRE + "prdManage/demoAppliance") -public interface IDemoApplianceClient { - - @PostMapping("/getListByQuery") - List getListByQuery(@RequestBody DemoAppliancePageDto dto); -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/AddDemoApplianceDto.java b/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/AddDemoApplianceDto.java deleted file mode 100644 index a164172..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/AddDemoApplianceDto.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.xjrsoft.module.prdManage.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - - -/** -* @title: 示例-家电管理 -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@Data -public class AddDemoApplianceDto implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String serialNumber; - /** - * - */ - @ApiModelProperty("") - private String category; - /** - * - */ - @ApiModelProperty("") - private LocalDateTime purchaseDate; - /** - * - */ - @ApiModelProperty("") - private Integer warrantyPeriod; - /** - * - */ - @ApiModelProperty("") - private Integer powerRating; - /** - * - */ - @ApiModelProperty("") - private String brand; - /** - * - */ - @ApiModelProperty("") - private Double sellingPrice; - /** - * - */ - @ApiModelProperty("") - private String status; - -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/DemoAppliancePageDto.java b/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/DemoAppliancePageDto.java deleted file mode 100644 index 5a65f25..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/DemoAppliancePageDto.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.xjrsoft.module.prdManage.dto; - -import com.xjrsoft.common.page.PageInput; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; - - -/** -* @title: 分页查询入参 -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@Data -@EqualsAndHashCode(callSuper = false) -public class DemoAppliancePageDto extends PageInput { - - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String serialNumber; - /** - * - */ - @ApiModelProperty("") - private String category; - -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/UpdateDemoApplianceDto.java b/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/UpdateDemoApplianceDto.java deleted file mode 100644 index 99ee8f3..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/dto/UpdateDemoApplianceDto.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.xjrsoft.module.prdManage.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - - -/** -* @title: 示例-家电管理 -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@Data -public class UpdateDemoApplianceDto implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * - */ - @ApiModelProperty("") - private Integer id; - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String serialNumber; - /** - * - */ - @ApiModelProperty("") - private String category; - /** - * - */ - @ApiModelProperty("") - private LocalDateTime purchaseDate; - /** - * - */ - @ApiModelProperty("") - private Integer warrantyPeriod; - /** - * - */ - @ApiModelProperty("") - private Integer powerRating; - /** - * - */ - @ApiModelProperty("") - private String brand; - /** - * - */ - @ApiModelProperty("") - private Double sellingPrice; - /** - * - */ - @ApiModelProperty("") - private String status; - -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/vo/DemoAppliancePageVo.java b/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/vo/DemoAppliancePageVo.java deleted file mode 100644 index 64f0b81..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/vo/DemoAppliancePageVo.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.xjrsoft.module.prdManage.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** -* @title: 分页列表出参 -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@Data -public class DemoAppliancePageVo { - - /** - * - */ - @ApiModelProperty("") - private String id; - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String serialNumber; - /** - * - */ - @ApiModelProperty("") - private String category; - /** - * - */ - @ApiModelProperty("") - private LocalDateTime purchaseDate; - /** - * - */ - @ApiModelProperty("") - private Integer warrantyPeriod; - /** - * - */ - @ApiModelProperty("") - private Integer powerRating; - /** - * - */ - @ApiModelProperty("") - private String brand; - /** - * - */ - @ApiModelProperty("") - private Double sellingPrice; - /** - * - */ - @ApiModelProperty("") - private String status; - -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/vo/DemoApplianceVo.java b/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/vo/DemoApplianceVo.java deleted file mode 100644 index 7afe8c0..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/prdManage/vo/DemoApplianceVo.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.xjrsoft.module.prdManage.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** -* @title: 表单出参 -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@Data -public class DemoApplianceVo { - - /** - * - */ - @ApiModelProperty("") - private Integer id; - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String serialNumber; - /** - * - */ - @ApiModelProperty("") - private String category; - /** - * - */ - @ApiModelProperty("") - private LocalDateTime purchaseDate; - /** - * - */ - @ApiModelProperty("") - private Integer warrantyPeriod; - /** - * - */ - @ApiModelProperty("") - private Integer powerRating; - /** - * - */ - @ApiModelProperty("") - private String brand; - /** - * - */ - @ApiModelProperty("") - private Double sellingPrice; - /** - * - */ - @ApiModelProperty("") - private String status; - - - -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/AddDemoCustomerDto.java b/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/AddDemoCustomerDto.java deleted file mode 100644 index 54b0ee7..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/AddDemoCustomerDto.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.xjrsoft.module.relationManage.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - - -/** -* @title: demo_客户管理 -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@Data -public class AddDemoCustomerDto implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String gender; - /** - * - */ - @ApiModelProperty("") - private String phone; - /** - * - */ - @ApiModelProperty("") - private String email; - /** - * - */ - @ApiModelProperty("") - private String address; - /** - * - */ - @ApiModelProperty("") - private String company; - /** - * - */ - @ApiModelProperty("") - private String position; - -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/DemoCustomerPageDto.java b/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/DemoCustomerPageDto.java deleted file mode 100644 index c9c63cd..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/DemoCustomerPageDto.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.xjrsoft.module.relationManage.dto; - -import com.xjrsoft.common.page.PageInput; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; -import lombok.EqualsAndHashCode; - - -/** -* @title: 分页查询入参 -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@Data -@EqualsAndHashCode(callSuper = false) -public class DemoCustomerPageDto extends PageInput { - - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String gender; - /** - * - */ - @ApiModelProperty("") - private String phone; - /** - * - */ - @ApiModelProperty("") - private String email; - -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/UpdateDemoCustomerDto.java b/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/UpdateDemoCustomerDto.java deleted file mode 100644 index db65601..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/dto/UpdateDemoCustomerDto.java +++ /dev/null @@ -1,61 +0,0 @@ -package com.xjrsoft.module.relationManage.dto; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - - -/** -* @title: demo_客户管理 -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@Data -public class UpdateDemoCustomerDto implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * - */ - @ApiModelProperty("") - private Long id; - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String gender; - /** - * - */ - @ApiModelProperty("") - private String phone; - /** - * - */ - @ApiModelProperty("") - private String email; - /** - * - */ - @ApiModelProperty("") - private String address; - /** - * - */ - @ApiModelProperty("") - private String company; - /** - * - */ - @ApiModelProperty("") - private String position; -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/vo/DemoCustomerPageVo.java b/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/vo/DemoCustomerPageVo.java deleted file mode 100644 index 7f3e1a1..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/vo/DemoCustomerPageVo.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.xjrsoft.module.relationManage.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -/** -* @title: 分页列表出参 -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@Data -public class DemoCustomerPageVo { - - /** - * - */ - @ApiModelProperty("") - private String id; - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String gender; - /** - * - */ - @ApiModelProperty("") - private String phone; - /** - * - */ - @ApiModelProperty("") - private String email; - /** - * - */ - @ApiModelProperty("") - private String address; - /** - * - */ - @ApiModelProperty("") - private String company; - /** - * - */ - @ApiModelProperty("") - private String position; - -} diff --git a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/vo/DemoCustomerVo.java b/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/vo/DemoCustomerVo.java deleted file mode 100644 index 2aa1ce7..0000000 --- a/demo/demo-api/src/main/java/com/xjrsoft/module/relationManage/vo/DemoCustomerVo.java +++ /dev/null @@ -1,74 +0,0 @@ -package com.xjrsoft.module.relationManage.vo; - -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.time.LocalDateTime; - -/** -* @title: 表单出参 -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@Data -public class DemoCustomerVo { - - /** - * - */ - @ApiModelProperty("") - private Long id; - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String gender; - /** - * - */ - @ApiModelProperty("") - private String phone; - /** - * - */ - @ApiModelProperty("") - private String email; - /** - * - */ - @ApiModelProperty("") - private String address; - /** - * - */ - @ApiModelProperty("") - private String company; - /** - * - */ - @ApiModelProperty("") - private String position; - - @ApiModelProperty("") - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty("") - private Long createUserId; - - /** - * - */ - @ApiModelProperty("") - private Long deptId; - - -} diff --git a/demo/demo-service/pom.xml b/demo/demo-service/pom.xml deleted file mode 100644 index 4ee3cfc..0000000 --- a/demo/demo-service/pom.xml +++ /dev/null @@ -1,220 +0,0 @@ - - - 4.0.0 - - - com.geg - demo - ${revision} - - - demo-service - demo-service - demo-service - - - ${java.version} - ${java.version} - - - - - - com.geg - itc-ms-common-service - ${framework.version} - - - - com.geg - demo-api - ${revision} - - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - - org.springframework.cloud - spring-cloud-starter-loadbalancer - - - - org.springframework.boot - spring-boot-starter-data-redis - - - redis.clients - jedis - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-discovery - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-config - - - - - org.springframework.cloud - spring-cloud-starter-bootstrap - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-sentinel - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - - - - - - com.alibaba.csp - sentinel-datasource-nacos - - - - - com.github.yulichang - mybatis-plus-join - - - - com.cloud.govern - service-invoke-sdk - - - - org.freemarker - freemarker - - - - com.unfbx - chatgpt-java - - - org.slf4j - slf4j-simple - - - - - - tech.powerjob - powerjob-worker-spring-boot-starter - - - - me.zhyd.oauth - JustAuth - - - - org.keycloak - keycloak-authz-client - - - - com.microsoft.ews-java-api - ews-java-api - - - - tech.powerjob - powerjob-official-processors - - - - tech.powerjob - powerjob-worker - - - - org.springframework.boot - spring-boot-starter-test - test - - - - cn.smallbun.screw - screw-core - - - - io.github.openfeign - feign-okhttp - - - - com.belerweb - pinyin4j - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - - - - - - src/main/java - - **/*.xml - - - - src/main/java - - **/*.yml - **/*.properties - **/*.xml - - false - - - src/main/resources - - **/*.yml - **/*.properties - **/*.xml - **/*.vm - **/*.ftl - **/*.jpg - **/*.png - **/*.xls - **/*.xlsx - - false - - - - \ No newline at end of file diff --git a/demo/demo-service/src/main/java/com/xjrsoft/ITCDemoApplication.java b/demo/demo-service/src/main/java/com/xjrsoft/ITCDemoApplication.java deleted file mode 100644 index 125da20..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/ITCDemoApplication.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.xjrsoft; - -import com.xjrsoft.common.annotation.UniqueNameGenerator; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -import org.springframework.cloud.openfeign.EnableFeignClients; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.context.annotation.EnableAspectJAutoProxy; - -/** - * @author Zexy - */ -@SpringBootApplication -@EnableAspectJAutoProxy(exposeProxy = true) -@ComponentScan(nameGenerator = UniqueNameGenerator.class) -@EnableFeignClients -@EnableDiscoveryClient -public class ITCDemoApplication { - - public static void main(String[] args) { - SpringApplication.run(ITCDemoApplication.class, args); - } - -} \ No newline at end of file diff --git a/demo/demo-service/src/main/java/com/xjrsoft/common/schedule/DemoSysncTask.java b/demo/demo-service/src/main/java/com/xjrsoft/common/schedule/DemoSysncTask.java deleted file mode 100644 index 2c7223f..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/common/schedule/DemoSysncTask.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.xjrsoft.common.schedule; - -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.scheduling.annotation.EnableScheduling; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Component; - -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; - -@RequiredArgsConstructor -@Component -@ConditionalOnProperty(name = {"schedule.enabled","schedule.sync-xx.enabled"}, havingValue = "true") -@Slf4j -@EnableScheduling -public class DemoSysncTask { - @Scheduled(cron = "${schedule.sync-xx.cron:0 0/60 * * * *}") //60分钟跑一次 - public void sync(){ - log.info("同步XX数据 => " + LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); - try{ - //todo 任务具体实现 - } catch (Exception e){ - log.error("同步XX数据失败:" + e); - } - } -} diff --git a/demo/demo-service/src/main/java/com/xjrsoft/common/util/SpringContextUtil.java b/demo/demo-service/src/main/java/com/xjrsoft/common/util/SpringContextUtil.java deleted file mode 100644 index 744614b..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/common/util/SpringContextUtil.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.xjrsoft.common.util; - -import org.springframework.context.ApplicationContext; -import org.springframework.context.ApplicationContextAware; -import org.springframework.stereotype.Component; - -@Component -public class SpringContextUtil implements ApplicationContextAware { - - private static ApplicationContext context; - - @Override - public void setApplicationContext(ApplicationContext applicationContext) { - SpringContextUtil.context = applicationContext; - } - - public static ApplicationContext getApplicationContext() { - return context; - } - - public static T getBean(Class beanClass) { - return context.getBean(beanClass); - } - - public static Object getBean(String beanName) { - return context.getBean(beanName); - } -} diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/controller/DemoApplianceController.java b/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/controller/DemoApplianceController.java deleted file mode 100644 index 233bfb9..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/controller/DemoApplianceController.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.xjrsoft.module.prdManage.controller; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.StrUtil; -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.prdManage.dto.AddDemoApplianceDto; -import com.xjrsoft.module.prdManage.dto.DemoAppliancePageDto; -import com.xjrsoft.module.prdManage.dto.UpdateDemoApplianceDto; -import com.xjrsoft.module.prdManage.entity.DemoAppliance; -import com.xjrsoft.module.prdManage.service.IDemoApplianceService; -import com.xjrsoft.module.prdManage.vo.DemoAppliancePageVo; -import com.xjrsoft.module.prdManage.vo.DemoApplianceVo; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -/** -* @title: 示例-家电管理 -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@RestController -@RequestMapping("/prdManage" + "/demoAppliance") -@Api(value = "/prdManage" + "/demoAppliance",tags = "示例-家电管理代码") -@AllArgsConstructor -public class DemoApplianceController { - - -private final IDemoApplianceService demoApplianceService; - - @GetMapping(value = "/page") - @ApiOperation(value="DemoAppliance列表(分页)") - @SaCheckPermission("demoAppliance:list") - public R page(@Valid DemoAppliancePageDto dto){ - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper - .like(StrUtil.isNotBlank(dto.getName()),DemoAppliance::getName,dto.getName()) - .like(StrUtil.isNotBlank(dto.getSerialNumber()),DemoAppliance::getSerialNumber,dto.getSerialNumber()) - .like(StrUtil.isNotBlank(dto.getCategory()),DemoAppliance::getCategory,dto.getCategory()) - .orderByDesc(DemoAppliance::getId) - .select(DemoAppliance.class,x -> VoToColumnUtil.fieldsToColumns(DemoAppliancePageVo.class).contains(x.getProperty())); - IPage page = demoApplianceService.page(ConventPage.getPage(dto), queryWrapper); - PageOutput pageOutput = ConventPage.getPageOutput(page, DemoAppliancePageVo.class); - return R.ok(pageOutput); - } - - @GetMapping(value = "/info") - @ApiOperation(value="根据id查询DemoAppliance信息") - @SaCheckPermission("demoAppliance:detail") - public R info(@RequestParam Integer id){ - DemoAppliance demoAppliance = demoApplianceService.getById(id); - if (demoAppliance == null) { - return R.error("找不到此数据!"); - } - return R.ok(BeanUtil.toBean(demoAppliance, DemoApplianceVo.class)); - } - - - @PostMapping - @ApiOperation(value = "新增DemoAppliance") - @SaCheckPermission("demoAppliance:add") - public R add(@Valid @RequestBody AddDemoApplianceDto dto){ - DemoAppliance demoAppliance = BeanUtil.toBean(dto, DemoAppliance.class); - boolean isSuccess = demoApplianceService.save(demoAppliance); - return R.ok(demoAppliance.getId()); - } - - @PutMapping - @ApiOperation(value = "修改DemoAppliance") - @SaCheckPermission("demoAppliance:edit") - public R update(@Valid @RequestBody UpdateDemoApplianceDto dto){ - - DemoAppliance demoAppliance = BeanUtil.toBean(dto, DemoAppliance.class); - return R.ok(demoApplianceService.updateById(demoAppliance)); - - } - - @DeleteMapping - @ApiOperation(value = "删除") - @SaCheckPermission("demoAppliance:delete") - public R delete(@Valid @RequestBody List ids){ - return R.ok(demoApplianceService.removeBatchByIds(ids)); - - } - - } \ No newline at end of file diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/entity/DemoAppliance.java b/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/entity/DemoAppliance.java deleted file mode 100644 index c9dc380..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/entity/DemoAppliance.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.xjrsoft.module.prdManage.entity; - -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - - -/** -* @title: 示例-家电管理 -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@Data -@TableName("demo_appliance") -@ApiModel(value = "示例-家电管理对象", description = "示例-家电管理") -public class DemoAppliance implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * - */ - @ApiModelProperty("") - @TableId - private Integer id; - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String serialNumber; - /** - * - */ - @ApiModelProperty("") - private String category; - /** - * - */ - @ApiModelProperty("") - private LocalDateTime purchaseDate; - /** - * - */ - @ApiModelProperty("") - private Integer warrantyPeriod; - /** - * - */ - @ApiModelProperty("") - private Integer powerRating; - /** - * - */ - @ApiModelProperty("") - private String brand; - /** - * - */ - @ApiModelProperty("") - private Double sellingPrice; - /** - * - */ - @ApiModelProperty("") - private String status; - - -} \ No newline at end of file diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/mapper/DemoApplianceMapper.java b/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/mapper/DemoApplianceMapper.java deleted file mode 100644 index 7993209..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/mapper/DemoApplianceMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.xjrsoft.module.prdManage.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xjrsoft.module.prdManage.entity.DemoAppliance; -import org.apache.ibatis.annotations.Mapper; - -/** -* @title: mapper -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@Mapper -public interface DemoApplianceMapper extends BaseMapper { - -} diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/service/IDemoApplianceService.java b/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/service/IDemoApplianceService.java deleted file mode 100644 index 97832d3..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/service/IDemoApplianceService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.xjrsoft.module.prdManage.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.xjrsoft.module.prdManage.entity.DemoAppliance; - -/** -* @title: service -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ - -public interface IDemoApplianceService extends IService { -} diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/service/impl/DemoApplianceServiceImpl.java b/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/service/impl/DemoApplianceServiceImpl.java deleted file mode 100644 index 2962646..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/prdManage/service/impl/DemoApplianceServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.xjrsoft.module.prdManage.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xjrsoft.module.prdManage.entity.DemoAppliance; -import com.xjrsoft.module.prdManage.mapper.DemoApplianceMapper; -import com.xjrsoft.module.prdManage.service.IDemoApplianceService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -/** -* @title: service -* @Author 管理员 -* @Date: 2025-03-12 -* @Version 1.0 -*/ -@Service -@AllArgsConstructor -public class DemoApplianceServiceImpl extends ServiceImpl implements IDemoApplianceService { -} diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/controller/DemoCustomerManageController.java b/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/controller/DemoCustomerManageController.java deleted file mode 100644 index d9f6d92..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/controller/DemoCustomerManageController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.xjrsoft.module.relationManage.controller; - -import cn.dev33.satoken.annotation.SaCheckPermission; -import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.util.StrUtil; -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.relationManage.dto.AddDemoCustomerDto; -import com.xjrsoft.module.relationManage.dto.DemoCustomerPageDto; -import com.xjrsoft.module.relationManage.dto.UpdateDemoCustomerDto; -import com.xjrsoft.module.relationManage.entity.DemoCustomer; -import com.xjrsoft.module.relationManage.service.IDemoCustomerManageService; -import com.xjrsoft.module.relationManage.vo.DemoCustomerPageVo; -import com.xjrsoft.module.relationManage.vo.DemoCustomerVo; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; - -import javax.validation.Valid; -import java.util.List; - -/** -* @title: demo_客户管理 -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@RestController -@RequestMapping("/relationManage" + "/demoCustomerManage") -@Api(value = "/relationManage" + "/demoCustomerManage",tags = "demo_客户管理代码") -@AllArgsConstructor -public class DemoCustomerManageController { - - -private final IDemoCustomerManageService demoCustomerManageService; - - @GetMapping(value = "/page") - @ApiOperation(value="DemoCustomer列表(分页)") - @SaCheckPermission("demoCustomerManage:list") - public R page(@Valid DemoCustomerPageDto dto){ - - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper - .like(StrUtil.isNotBlank(dto.getName()),DemoCustomer::getName,dto.getName()) - .like(StrUtil.isNotBlank(dto.getGender()),DemoCustomer::getGender,dto.getGender()) - .like(StrUtil.isNotBlank(dto.getPhone()),DemoCustomer::getPhone,dto.getPhone()) - .like(StrUtil.isNotBlank(dto.getEmail()),DemoCustomer::getEmail,dto.getEmail()) - .orderByDesc(DemoCustomer::getId) - .select(DemoCustomer.class,x -> VoToColumnUtil.fieldsToColumns(DemoCustomerPageVo.class).contains(x.getProperty())); - IPage page = demoCustomerManageService.page(ConventPage.getPage(dto), queryWrapper); - PageOutput pageOutput = ConventPage.getPageOutput(page, DemoCustomerPageVo.class); - return R.ok(pageOutput); - } - - @GetMapping(value = "/info") - @ApiOperation(value="根据id查询DemoCustomer信息") - @SaCheckPermission("demoCustomerManage:detail") - public R info(@RequestParam Long id){ - DemoCustomer demoCustomer = demoCustomerManageService.getById(id); - if (demoCustomer == null) { - return R.error("找不到此数据!"); - } - return R.ok(BeanUtil.toBean(demoCustomer, DemoCustomerVo.class)); - } - - - @PostMapping - @ApiOperation(value = "新增DemoCustomer") - @SaCheckPermission("demoCustomerManage:add") - public R add(@Valid @RequestBody AddDemoCustomerDto dto){ - DemoCustomer demoCustomer = BeanUtil.toBean(dto, DemoCustomer.class); - boolean isSuccess = demoCustomerManageService.save(demoCustomer); - return R.ok(demoCustomer.getId()); - } - - @PutMapping - @ApiOperation(value = "修改DemoCustomer") - @SaCheckPermission("demoCustomerManage:edit") - public R update(@Valid @RequestBody UpdateDemoCustomerDto dto){ - - DemoCustomer demoCustomer = BeanUtil.toBean(dto, DemoCustomer.class); - return R.ok(demoCustomerManageService.updateById(demoCustomer)); - - } - - @DeleteMapping - @ApiOperation(value = "删除") - @SaCheckPermission("demoCustomerManage:delete") - public R delete(@Valid @RequestBody List ids){ - return R.ok(demoCustomerManageService.removeBatchByIds(ids)); - - } - - } \ No newline at end of file diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/entity/DemoCustomer.java b/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/entity/DemoCustomer.java deleted file mode 100644 index 51941c1..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/entity/DemoCustomer.java +++ /dev/null @@ -1,90 +0,0 @@ -package com.xjrsoft.module.relationManage.entity; - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - - -/** -* @title: demo_客户管理 -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@Data -@TableName("demo_customer") -@ApiModel(value = "demo_客户管理对象", description = "demo_客户管理") -public class DemoCustomer implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * - */ - @ApiModelProperty("") - @TableId - private Long id; - /** - * - */ - @ApiModelProperty("") - private String name; - /** - * - */ - @ApiModelProperty("") - private String gender; - /** - * - */ - @ApiModelProperty("") - private String phone; - /** - * - */ - @ApiModelProperty("") - private String email; - /** - * - */ - @ApiModelProperty("") - private String address; - /** - * - */ - @ApiModelProperty("") - private String company; - /** - * - */ - @ApiModelProperty("") - private String position; - /** - * - */ - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT) - private LocalDateTime createDate; - - /** - * - */ - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT) - private Long createUserId; - - /** - * - */ - @ApiModelProperty("") - @TableField(fill = FieldFill.INSERT) - private Long deptId; - -} \ No newline at end of file diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/mapper/DemoCustomerMapper.java b/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/mapper/DemoCustomerMapper.java deleted file mode 100644 index 74eab06..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/mapper/DemoCustomerMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.xjrsoft.module.relationManage.mapper; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.xjrsoft.module.relationManage.entity.DemoCustomer; -import org.apache.ibatis.annotations.Mapper; - -/** -* @title: mapper -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@Mapper -public interface DemoCustomerMapper extends BaseMapper { - -} diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/service/IDemoCustomerManageService.java b/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/service/IDemoCustomerManageService.java deleted file mode 100644 index 853866a..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/service/IDemoCustomerManageService.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.xjrsoft.module.relationManage.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.xjrsoft.module.relationManage.entity.DemoCustomer; - -/** -* @title: service -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ - -public interface IDemoCustomerManageService extends IService { -} diff --git a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/service/impl/DemoCustomerManageServiceImpl.java b/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/service/impl/DemoCustomerManageServiceImpl.java deleted file mode 100644 index 0fced8c..0000000 --- a/demo/demo-service/src/main/java/com/xjrsoft/module/relationManage/service/impl/DemoCustomerManageServiceImpl.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.xjrsoft.module.relationManage.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.xjrsoft.module.relationManage.entity.DemoCustomer; -import com.xjrsoft.module.relationManage.mapper.DemoCustomerMapper; -import com.xjrsoft.module.relationManage.service.IDemoCustomerManageService; -import lombok.AllArgsConstructor; -import org.springframework.stereotype.Service; - -/** -* @title: service -* @Author 管理员 -* @Date: 2025-03-11 -* @Version 1.0 -*/ -@Service -@AllArgsConstructor -public class DemoCustomerManageServiceImpl extends ServiceImpl implements IDemoCustomerManageService { -} diff --git a/demo/demo-service/src/main/resources/banner.txt b/demo/demo-service/src/main/resources/banner.txt deleted file mode 100644 index d71415b..0000000 --- a/demo/demo-service/src/main/resources/banner.txt +++ /dev/null @@ -1,6 +0,0 @@ - ██╗ ██╗ ██╗██████╗ ███████╗ ██████╗ ███████╗████████╗ - ╚██╗██╔╝ ██║██╔══██╗██╔════╝██╔═══██╗██╔════╝╚══██╔══╝ - ╚███╔╝ ██║██████╔╝███████╗██║ ██║█████╗ ██║ - ██╔██╗ ██ ██║██╔══██╗╚════██║██║ ██║██╔══╝ ██║ - ██╔╝ ██╗╚█████╔╝██║ ██║███████║╚██████╔╝██║ ██║ - ╚═╝ ╚═╝ ╚════╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ diff --git a/facade-service/pom.xml b/facade-service/pom.xml deleted file mode 100644 index 58d7758..0000000 --- a/facade-service/pom.xml +++ /dev/null @@ -1,237 +0,0 @@ - - - 4.0.0 - - - com.geg - ms-demo - ${revision} - - - facade-service - facade-service - facade-service - - - ${java.version} - ${java.version} - UTF-8 - - - - - - com.geg - itc-ms-common-service - ${framework.version} - - - - com.geg - itc-ms-facade-api - ${framework.version} - - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - - org.springframework.cloud - spring-cloud-starter-loadbalancer - - - - org.springframework.boot - spring-boot-starter-data-redis - - - redis.clients - jedis - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-discovery - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-nacos-config - - - - - org.springframework.cloud - spring-cloud-starter-bootstrap - - - - - com.alibaba.cloud - spring-cloud-starter-alibaba-sentinel - - - com.fasterxml.jackson.dataformat - jackson-dataformat-xml - - - - - - com.alibaba.csp - sentinel-datasource-nacos - - - - - com.github.yulichang - mybatis-plus-join - - - - com.cloud.govern - service-invoke-sdk - - - - org.freemarker - freemarker - - - - com.unfbx - chatgpt-java - - - org.slf4j - slf4j-simple - - - - - - tech.powerjob - powerjob-worker-spring-boot-starter - - - - me.zhyd.oauth - JustAuth - - - - org.keycloak - keycloak-authz-client - - - - com.microsoft.ews-java-api - ews-java-api - - - - tech.powerjob - powerjob-official-processors - - - - tech.powerjob - powerjob-worker - - - - org.springframework.boot - spring-boot-starter-test - test - - - - cn.smallbun.screw - screw-core - - - - io.github.openfeign - feign-okhttp - - - - com.belerweb - pinyin4j - - - - - - org.springframework.boot - spring-boot-maven-plugin - 2.7.6 - - - - repackage - - - - false - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - - - - - - src/main/java - - **/*.xml - - - - src/main/java - - **/*.yml - **/*.properties - **/*.xml - - false - - - src/main/resources - - **/*.yml - **/*.properties - **/*.xml - **/*.vm - **/*.ftl - **/*.jpg - **/*.png - **/*.xls - **/*.xlsx - - false - - - - \ No newline at end of file diff --git a/facade-service/src/main/java/com/xjrsoft/module/magicapi/client/MagicApiClientImpl.java b/facade-service/src/main/java/com/xjrsoft/module/magicapi/client/MagicApiClientImpl.java deleted file mode 100644 index 89c465a..0000000 --- a/facade-service/src/main/java/com/xjrsoft/module/magicapi/client/MagicApiClientImpl.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.xjrsoft.module.magicapi.client; - -import com.xjrsoft.common.constant.GlobalConstant; -import com.xjrsoft.module.magicapi.dto.ExecuteWorkflowApiDto; -import com.xjrsoft.module.magicapi.vo.MagicApiInfoVo; -import com.xjrsoft.module.magicapi.service.IMagicApiService; -import io.swagger.annotations.Api; -import lombok.AllArgsConstructor; -import org.springframework.web.bind.annotation.*; - -/** - * @Author: tzx - * @Date: 2023/10/10 17:43 - */ -@Api(hidden = true) -@RestController -@RequestMapping(GlobalConstant.CLIENT_API_PRE + GlobalConstant.MAGICAPI_MODULE_PREFIX + "/magic-api") -@AllArgsConstructor -public class MagicApiClientImpl implements IMagicApiClient { - - private IMagicApiService magicApiService; - - - @Override - @GetMapping("/executeApi") - public Object executeApi(@RequestParam("id") String id) { - return magicApiService.executeApi(id); - } - - @PostMapping("/executeWorkflowApi") - @Override - public Object executeWorkflowApi(@RequestBody ExecuteWorkflowApiDto dto) { - return magicApiService.executeWorkflowApi(dto.getApiConfig(), dto.getProcessParam(), dto.getVarMap(), dto.getProcessInstId(), dto.getExecutionId()); - } - - @GetMapping("/info") - @Override - public MagicApiInfoVo info(@RequestParam("id") String id) { - return magicApiService.info(id); - } - -} diff --git a/facade-service/src/main/java/com/xjrsoft/module/magicapi/controller/MagicApiController.java b/facade-service/src/main/java/com/xjrsoft/module/magicapi/controller/MagicApiController.java deleted file mode 100644 index d2d3982..0000000 --- a/facade-service/src/main/java/com/xjrsoft/module/magicapi/controller/MagicApiController.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.xjrsoft.module.magicapi.controller; - - -import com.xjrsoft.common.annotation.XjrLog; -import com.xjrsoft.common.constant.GlobalConstant; -import com.xjrsoft.common.model.result.R; -import com.xjrsoft.module.magicapi.vo.MagicApiTreeVo; -import com.xjrsoft.module.magicapi.service.IMagicApiService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -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 java.util.List; - -/** - *

- * magic-api模块接口 - *

- * - * @author tzx - * @since 2022-10-30 - */ -@RestController -@RequestMapping(GlobalConstant.MAGICAPI_MODULE_PREFIX) -@Api(value = GlobalConstant.MAGICAPI_MODULE_PREFIX, tags = "magic-api模块接口") -@AllArgsConstructor -public class MagicApiController { - - private final IMagicApiService magicApiService; - - @GetMapping(value = "/tree") - @ApiOperation("查询所有分组以及api 树结构") - @XjrLog(value = "查询所有分组以及api 树结构") - public R tree(@RequestParam(required = false) String keyword ) { - List tree = magicApiService.tree(keyword); - return R.ok(tree); - } - - @GetMapping(value = "/group/tree") - @ApiOperation("查询所有树结构分组") - @XjrLog(value = "查询所有树结构分组") - public R groupTree(){ - return R.ok(magicApiService.groupTree()); - } - - @GetMapping(value = "/info") - @ApiOperation("查询api详情") - @XjrLog(value = "查询api详情") - public R info(@RequestParam String id){ - return R.ok(magicApiService.info(id)); - } - - @GetMapping(value = "/list") - @ApiOperation("根据分组id 查询所有api") - @XjrLog(value = "根据分组id 查询所有api") - public R list(@RequestParam String groupId){ - return R.ok(magicApiService.list(groupId)); - } - -} diff --git a/facade-service/src/main/java/com/xjrsoft/module/magicapi/service/IMagicApiService.java b/facade-service/src/main/java/com/xjrsoft/module/magicapi/service/IMagicApiService.java deleted file mode 100644 index 03c9aee..0000000 --- a/facade-service/src/main/java/com/xjrsoft/module/magicapi/service/IMagicApiService.java +++ /dev/null @@ -1,55 +0,0 @@ -package com.xjrsoft.module.magicapi.service; - -import com.xjrsoft.module.magicapi.vo.MagicApiGroupTreeVo; -import com.xjrsoft.module.magicapi.vo.MagicApiInfoVo; -import com.xjrsoft.module.magicapi.vo.MagicApiTreeVo; -import com.xjrsoft.module.workflow.model.ApiConfig; - -import java.util.List; -import java.util.Map; - -public interface IMagicApiService { - - /** - * 分组以及api 树结构 - * @return - */ - List tree(String keyword); - - /** - * 分组树 - * @return - */ - List groupTree(); - - /** - * 根据 id 获取 接口信息 - * @param id - * @return - */ - MagicApiInfoVo info(String id); - - /** - * 根据分组查询所有接口 - * @param groupId - * @return - */ - List list(String groupId); - - /** - * 执行API - * @param id 接口id - * @param - * @return - */ - T executeApi(String id); - - /** - * 执行工作流api - * @param apiConfig - * @param processParam - * @param varMap - * @return - */ - Object executeWorkflowApi(ApiConfig apiConfig, Map processParam, Map varMap,String processInstId,String executionId); -} diff --git a/facade-service/src/main/java/com/xjrsoft/module/magicapi/service/impl/MagicApiServiceImpl.java b/facade-service/src/main/java/com/xjrsoft/module/magicapi/service/impl/MagicApiServiceImpl.java deleted file mode 100644 index 070a7a1..0000000 --- a/facade-service/src/main/java/com/xjrsoft/module/magicapi/service/impl/MagicApiServiceImpl.java +++ /dev/null @@ -1,195 +0,0 @@ -package com.xjrsoft.module.magicapi.service.impl; - -import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.xjrsoft.common.utils.TreeUtil; -import com.xjrsoft.module.magicapi.vo.MagicApiGroupTreeVo; -import com.xjrsoft.module.magicapi.vo.MagicApiInfoVo; -import com.xjrsoft.module.magicapi.vo.MagicApiTreeVo; -import com.xjrsoft.module.workflow.model.ApiConfig; -import com.xjrsoft.module.workflow.model.ApiRequestParamsConfig; -import com.xjrsoft.module.magicapi.service.IMagicApiService; -import com.xjrsoft.module.magicapi.utils.MagicApiUtil; -import lombok.AllArgsConstructor; -import org.apache.commons.collections.CollectionUtils; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.ssssssss.magicapi.core.model.*; -import org.ssssssss.magicapi.core.service.MagicAPIService; -import org.ssssssss.magicapi.core.service.MagicResourceService; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * magic-api服务 - * - * @author apple - */ -@Service -@AllArgsConstructor -public class MagicApiServiceImpl implements IMagicApiService { - - private final MagicResourceService magicResourceService; - - private final MagicAPIService magicAPIService; - - @Override - public List tree(String keyword) { - TreeNode tree = magicResourceService.tree("api"); - - List> children = tree.getChildren(); - - return TreeUtil.build(buildTreeData(children, keyword)); - } - - @Override - public List groupTree() { - TreeNode tree = magicResourceService.tree("api"); - - List> children = tree.getChildren(); - List treeVoList = new ArrayList<>(); - buildGroupTreeData(treeVoList, children); - return TreeUtil.build(treeVoList); - } - - @Override - public MagicApiInfoVo info(String id) { - MagicEntity entity = magicResourceService.file(id); - BaseDefinition requestBodyDefinition = ((ApiInfo) entity).getRequestBodyDefinition(); - MagicApiInfoVo magicApiInfoVo = BeanUtil.toBean(entity, MagicApiInfoVo.class); - String groupId = entity.getGroupId(); - if (StringUtils.isNotEmpty(groupId)) { - String groupPath = magicResourceService.getGroupPath(groupId); - magicApiInfoVo.setPath(groupPath + magicApiInfoVo.getPath()); - } - magicApiInfoVo.setRequestBodyDefinition(requestBodyDefinition); - return magicApiInfoVo; - } - - @Override - public List list(String groupId) { - String groupPath = magicResourceService.getGroupPath(groupId); - - List magicEntities = magicResourceService.listFiles(groupId); - - List magicApiInfoVos = BeanUtil.copyToList(magicEntities, MagicApiInfoVo.class); - for (MagicApiInfoVo magicApiInfoVo : magicApiInfoVos) { - magicApiInfoVo.setPath(groupPath + magicApiInfoVo.getPath()); - } - - return magicApiInfoVos; - } - - public T executeApi(String id) { - MagicApiInfoVo info = info(id); - return magicAPIService.execute(info.getMethod(), info.getPath(), new HashMap<>()); - } - - public Object executeWorkflowApi(ApiConfig apiConfig, Map processParam, Map varMap,String processInstId,String executionId){ - MagicApiInfoVo info = info(apiConfig.getId()); - - Map params = new HashMap<>(); - for(ListrequestParamsConfigs:new List[]{ - apiConfig.getRequestParamsConfigs(), - apiConfig.getRequestHeaderConfigs(), - apiConfig.getRequestBodyConfigs() - }){ - for (ApiRequestParamsConfig requestParamsConfig : requestParamsConfigs) { - MagicApiUtil.initApiParams(processParam,varMap,params,requestParamsConfig); - } - } - //补充流程参数 - params.put("processInstId",processInstId); - params.put("executionId",executionId); - - Object result = magicAPIService.execute(info.getMethod(), info.getPath(), params); - return result; - } - - /** - * 查询分组以及api 树结构 - * - * @param treeNodes - * @return - */ - private List buildTreeData(List> treeNodes, String keyword) { - - List treeVoList = new ArrayList<>(); - for (TreeNode treeNode : treeNodes) { - Group node = treeNode.getNode(); - - List nodeEntity = magicResourceService.listFiles(node.getId()); - - - if(StringUtils.isNotBlank(keyword) && !node.getName().contains(keyword) && nodeEntity.stream().noneMatch(x -> x.getName().contains(keyword) || ((ApiInfo)x).getPath().contains(keyword))){ - continue; - } - - MagicApiTreeVo groupVo = new MagicApiTreeVo(); - groupVo.setId(node.getId()); - groupVo.setParentId(node.getParentId()); - groupVo.setType("group"); - groupVo.setName(node.getName()); - - treeVoList.add(groupVo); - - - for (MagicEntity magicEntity : nodeEntity) { - MagicApiTreeVo vo = new MagicApiTreeVo(); - - ApiInfo apiInfo = (ApiInfo) magicEntity; - if(StringUtils.isNotBlank(keyword) && !magicEntity.getName().contains(keyword) && !apiInfo.getPath().contains(keyword)){ - continue; - } - - vo.setId(magicEntity.getId()); - vo.setType("api"); - vo.setParentId(magicEntity.getGroupId()); - vo.setName(magicEntity.getName()); - String groupPath = StringUtils.isEmpty(node.getPath()) ? StringPool.EMPTY : node.getPath(); - - vo.setPath(groupPath + apiInfo.getPath()); - vo.setMethod(apiInfo.getMethod()); - - treeVoList.add(vo); - } - - - if (treeNode.getChildren().size() > 0) { - treeVoList.addAll(buildTreeData(treeNode.getChildren(), keyword)); - } - - } - - return treeVoList; - } - - /** - * 构建 分组树结构 - * - * @param treeNodes - * @return - */ - private void buildGroupTreeData(List treeVoList, List> treeNodes) { - - for (TreeNode treeNode : treeNodes) { - Group node = treeNode.getNode(); - - MagicApiGroupTreeVo groupVo = new MagicApiGroupTreeVo(); - - groupVo.setId(node.getId()); - groupVo.setParentId(node.getParentId()); - groupVo.setName(node.getName()); - - treeVoList.add(groupVo); - List> children = treeNode.getChildren(); - if (CollectionUtils.isNotEmpty(children)) { - buildGroupTreeData(treeVoList, children); - } - - } - } -} diff --git a/facade-service/src/main/java/com/xjrsoft/module/magicapi/utils/MagicApiUtil.java b/facade-service/src/main/java/com/xjrsoft/module/magicapi/utils/MagicApiUtil.java deleted file mode 100644 index a3c12e1..0000000 --- a/facade-service/src/main/java/com/xjrsoft/module/magicapi/utils/MagicApiUtil.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.xjrsoft.module.magicapi.utils; - -import cn.dev33.satoken.session.SaSession; -import cn.dev33.satoken.stp.StpUtil; -import cn.hutool.core.lang.TypeReference; -import cn.hutool.core.map.MapUtil; -import cn.hutool.extra.spring.SpringUtil; -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import com.baomidou.mybatisplus.core.toolkit.StringPool; -import com.xjrsoft.common.constant.GlobalConstant; -import com.xjrsoft.common.utils.RedisUtil; -import com.xjrsoft.module.organization.dto.DepartmentDto; -import com.xjrsoft.module.organization.dto.UserDeptRelationDto; -import com.xjrsoft.module.organization.dto.UserDto; -import com.xjrsoft.module.workflow.constant.WorkflowConstant; -import com.xjrsoft.module.workflow.model.ApiRequestParamsConfig; - -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.stream.Collectors; - -/** - * @author: yjw - * @since: 2025/3/17 - */ -public class MagicApiUtil { - - public static void initApiParams(Map processParam, Map varMap, Map params, ApiRequestParamsConfig requestParamsConfig) { - if (Objects.equals(requestParamsConfig.getAssignmentType(), "value")) { //值 - params.put(requestParamsConfig.getName(), requestParamsConfig.getValue()); - } else if (Objects.equals(requestParamsConfig.getAssignmentType(), "processParameter")) { //流程参数 - params.put(requestParamsConfig.getName(), processParam.get(requestParamsConfig.getConfig())); - } else if (Objects.equals(requestParamsConfig.getAssignmentType(), "originator")) {//发起人信息 - dealApiParam(requestParamsConfig,params,varMap); - } else {//表单数据 - //使用3下划线切割 - String[] split = requestParamsConfig.getConfig().split(StringPool.UNDERSCORE + StringPool.UNDERSCORE + StringPool.UNDERSCORE); - String formKey = split[1]; - Map formData = MapUtil.get(varMap, formKey, new TypeReference>() { - }); - Object fieldValue = MapUtil.get(formData, split[2], Object.class); - params.put(requestParamsConfig.getName(), fieldValue); - } - } - - private static void dealApiParam(ApiRequestParamsConfig requestParamsConfig, Map params, Map varMap){ - Long startUserId; - if (CollectionUtils.isEmpty(varMap)) {//为空就是发起时的数据 - //如果是拿发起人的数据,作为流程参数,发起和重新发起赋值,使用当前登录人的信息,如果是其它节点,使用流程的发起人数据信息 - SaSession tokenSession = StpUtil.getTokenSession(); - UserDto user = tokenSession.get(GlobalConstant.LOGIN_USER_INFO_KEY, new UserDto()); - startUserId = user.getId(); - }else { - startUserId = MapUtil.get(varMap, WorkflowConstant.PROCESS_START_USER_ID_KEY, Long.class); - } - //如果是设置的发起人 - if (requestParamsConfig.getConfig().contains("initiator_id")) { - params.put(requestParamsConfig.getName(), startUserId); - } - //组织架构名称 - if (requestParamsConfig.getConfig().contains("initiator_dept_name")) { - RedisUtil redisUtil = SpringUtil.getBean(RedisUtil.class); - List userDeptRelations = redisUtil.get(GlobalConstant.USER_DEPT_RELATION_CACHE_KEY, new TypeReference>() { - }); - List departmentList = redisUtil.get(GlobalConstant.DEP_CACHE_KEY, new TypeReference>() { - }); - List startUserDeptRelation = userDeptRelations.stream().filter(x -> x.getUserId().equals(startUserId)).collect(Collectors.toList()); - - List allDeptIds = startUserDeptRelation.stream().map(UserDeptRelationDto::getDeptId).collect(Collectors.toList()); - - List allDept = departmentList.stream().filter(x -> allDeptIds.contains(x.getId())).collect(Collectors.toList()); - - params.put(requestParamsConfig.getName(), allDept.stream().map(DepartmentDto::getName).collect(Collectors.joining(","))); - } - } -} diff --git a/facade-service/src/main/java/com/xjrsoft/module/workflow/client/WorkflowBusinessClientImpl.java b/facade-service/src/main/java/com/xjrsoft/module/workflow/client/WorkflowBusinessClientImpl.java deleted file mode 100644 index db2a6d5..0000000 --- a/facade-service/src/main/java/com/xjrsoft/module/workflow/client/WorkflowBusinessClientImpl.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.xjrsoft.module.workflow.client; - -import cn.hutool.extra.spring.SpringUtil; -import com.xjrsoft.common.constant.GlobalConstant; -import com.xjrsoft.module.workflow.dto.WorkflowBusinessInvokeDto; -import io.swagger.annotations.Api; -import lombok.AllArgsConstructor; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import javax.validation.Valid; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -/** - * @Author: tzx - * @Date: 2023/10/10 17:43 - */ -@Api(hidden = true) -@RestController -@RequestMapping(GlobalConstant.CLIENT_API_PRE + GlobalConstant.MAGICAPI_MODULE_PREFIX + "/invoke") -@AllArgsConstructor -public class WorkflowBusinessClientImpl implements IWorkflowBusinessClient { - - /** - * 统一调用方法 - * - */ - @Transactional(rollbackFor = Exception.class) - @PostMapping("/invoke") - @Override - public Boolean invoke(@RequestBody @Valid WorkflowBusinessInvokeDto dto) { - String classNameAndMethodName = dto.getClassNameAndMethodName(); - try { - // 分割类名和方法名 - String[] parts = classNameAndMethodName.split("\\."); - if (parts.length < 2) { - throw new IllegalArgumentException("Invalid format: className.methodName"); - } - String className = String.join(".", java.util.Arrays.copyOf(parts, parts.length - 1)); - String methodName = parts[parts.length - 1]; - - // 动态加载类 - Class clazz = Class.forName(className); - - // 获取方法的参数类型 - List args = dto.getArgs(); - Class[] parameterTypes = new Class[args.size()]; - for (int i = 0; i < dto.getArgs().size(); i++) { - if (dto.getArgs().get(i) instanceof HashMap) { - parameterTypes[i] = Map.class; - } else { - parameterTypes[i] = args.get(i).getClass(); - } - } - - // 获取方法对象 - Method method = clazz.getDeclaredMethod(methodName, parameterTypes); - method.setAccessible(true); // 确保可以访问私有方法 - - // 判断是否为静态方法 - boolean isStatic = java.lang.reflect.Modifier.isStatic(method.getModifiers()); - - // 调用方法 - if (isStatic) { - return (Boolean) method.invoke(null, args.toArray()); // 静态方法,传入 null - } else { - Object bean = SpringUtil.getBean(className); - if (bean != null) { - Method methodBean = bean.getClass().getMethod(methodName, parameterTypes); - return (Boolean) methodBean.invoke(bean, args.toArray()); - } else { - Object instance = clazz.getDeclaredConstructor().newInstance(); // 创建实例 - return (Boolean) method.invoke(instance, args.toArray()); // 实例方法,传入实例 - } - } - - } catch (Exception e) { - throw new RuntimeException("Failed to invoke method: " + classNameAndMethodName, e); - } - } -} diff --git a/facade-service/src/main/resources/banner.txt b/facade-service/src/main/resources/banner.txt deleted file mode 100644 index d71415b..0000000 --- a/facade-service/src/main/resources/banner.txt +++ /dev/null @@ -1,6 +0,0 @@ - ██╗ ██╗ ██╗██████╗ ███████╗ ██████╗ ███████╗████████╗ - ╚██╗██╔╝ ██║██╔══██╗██╔════╝██╔═══██╗██╔════╝╚══██╔══╝ - ╚███╔╝ ██║██████╔╝███████╗██║ ██║█████╗ ██║ - ██╔██╗ ██ ██║██╔══██╗╚════██║██║ ██║██╔══╝ ██║ - ██╔╝ ██╗╚█████╔╝██║ ██║███████║╚██████╔╝██║ ██║ - ╚═╝ ╚═╝ ╚════╝ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝ diff --git a/facade-service/src/main/resources/lib/DmJdbcDriver18-8.1.2.192.jar b/facade-service/src/main/resources/lib/DmJdbcDriver18-8.1.2.192.jar deleted file mode 100644 index 2374edf..0000000 Binary files a/facade-service/src/main/resources/lib/DmJdbcDriver18-8.1.2.192.jar and /dev/null differ diff --git a/facade-service/src/main/resources/lib/kingbase8-8.6.0.jar b/facade-service/src/main/resources/lib/kingbase8-8.6.0.jar deleted file mode 100644 index 875c5af..0000000 Binary files a/facade-service/src/main/resources/lib/kingbase8-8.6.0.jar and /dev/null differ diff --git a/facade-service/src/main/resources/lib/ojdbc7.jar b/facade-service/src/main/resources/lib/ojdbc7.jar deleted file mode 100644 index fd38a6c..0000000 Binary files a/facade-service/src/main/resources/lib/ojdbc7.jar and /dev/null differ diff --git a/facade-service/src/main/resources/lib/taobao-sdk-java-auto.jar b/facade-service/src/main/resources/lib/taobao-sdk-java-auto.jar deleted file mode 100644 index add5eda..0000000 Binary files a/facade-service/src/main/resources/lib/taobao-sdk-java-auto.jar and /dev/null differ diff --git a/facade-service/src/main/resources/logback.xml b/facade-service/src/main/resources/logback.xml deleted file mode 100644 index 352858a..0000000 --- a/facade-service/src/main/resources/logback.xml +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - - - - - - - ${log.pattern} - - - - - - ${log.path}/sys-info.log - - - - ${log.path}/sys-info.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - INFO - - ACCEPT - - DENY - - - - - ${log.path}/sys-error.log - - - - ${log.path}/sys-error.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - ERROR - - ACCEPT - - DENY - - - - - - ${log.path}/sys-user.log - - - ${log.path}/sys-user.%d{yyyy-MM-dd}.log - - 60 - - - ${log.pattern} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/facade-service/src/main/resources/magic-editor-config.js b/facade-service/src/main/resources/magic-editor-config.js deleted file mode 100644 index 264b71d..0000000 --- a/facade-service/src/main/resources/magic-editor-config.js +++ /dev/null @@ -1,21 +0,0 @@ -var MAGIC_EDITOR_CONFIG = { - title: 'Admin Web IDE', - header: { - skin: true, // 屏蔽皮肤按钮 - document: false, // 屏蔽文档按钮 - repo: false, // 屏蔽gitee和github - qqGroup: false // 屏蔽加入QQ群 - }, - // 其它配置参考本页中其它配置项 - request: { - beforeSend: function (config) { - // console.log('请求设置', window.location.href); - config.headers.Authorization = "Bearer " + window.location.href.split('Authorization=')[1]; - return config; - }, - onError: function (err) { - // console.log('请求出错'); - return Promise.reject(err) - } - }, -} \ No newline at end of file diff --git a/facade-service/src/main/resources/spy.properties b/facade-service/src/main/resources/spy.properties deleted file mode 100644 index f82c530..0000000 --- a/facade-service/src/main/resources/spy.properties +++ /dev/null @@ -1,4 +0,0 @@ -# spy.properties -driverlist=com.kingbase8.Driver -appender=com.p6spy.engine.spy.appender.Slf4JLogger -logMessageFormat=com.xjrsoft.common.handler.P6spySqlLogHandler \ No newline at end of file diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/pom.xml b/itc-pcitc-demo/itc-pcitc-demo-service/pom.xml index 236bff7..ccb7ac9 100644 --- a/itc-pcitc-demo/itc-pcitc-demo-service/pom.xml +++ b/itc-pcitc-demo/itc-pcitc-demo-service/pom.xml @@ -34,6 +34,36 @@ ${revision} + + com.geg + itc-ms-system-api + ${revision} + + + + com.geg + itc-ms-facade-api + ${revision} + + + + com.geg + itc-ms-common-service + ${revision} + + + + com.geg + itc-ms-workflow-api + ${revision} + + + + com.geg + itc-ms-user-api + ${revision} + + app diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/dto/UpdateTestfrom3Dto.java b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/dto/UpdateTestfrom3Dto.java index 4e38411..c159a69 100644 --- a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/dto/UpdateTestfrom3Dto.java +++ b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/dto/UpdateTestfrom3Dto.java @@ -1,23 +1,12 @@ package com.xjrsoft.module.dev.dto; +import java.io.Serializable; + +import com.pictc.annotations.datalog.LogField; +import com.pictc.annotations.datalog.LogTable; + 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; diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/RuleDemo.java b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/RuleDemo.java new file mode 100644 index 0000000..fbfed1e --- /dev/null +++ b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/RuleDemo.java @@ -0,0 +1,36 @@ +package com.xjrsoft.module.dev.rules; + +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import com.pictc.constant.ContractLiteflowRule; +import com.xjrsoft.module.liteflow.client.ILiteFlowChainClient; +import com.xjrsoft.module.liteflow.dto.LiteflowChainDto; +import com.yomahub.liteflow.core.FlowExecutor; +import com.yomahub.liteflow.flow.LiteflowResponse; + +import shade.powerjob.com.google.common.collect.Maps; + +@Component +public class RuleDemo { + + @Autowired + private FlowExecutor flowExecutor; + + @Autowired + private ILiteFlowChainClient liteflow; + + /** + * @Description: 执行规则 + * @return void 返回类型 + */ + public void testConfig(){ + Map params = Maps.newHashMap(); + LiteflowChainDto dto = liteflow.getByName(ContractLiteflowRule.RULE_TEST); + LiteflowResponse liteflowResponse = flowExecutor.execute2Resp(dto.getChainName(),params); + System.out.println(liteflowResponse.isSuccess()); + } + +} diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/TestNodeA.java b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/TestNodeA.java new file mode 100644 index 0000000..4a4b4f3 --- /dev/null +++ b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/TestNodeA.java @@ -0,0 +1,16 @@ +package com.xjrsoft.module.dev.rules; + +import com.pictc.constant.ContractLiteflowRule; +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent(ContractLiteflowRule.RULE_TEST_NODEA) +public class TestNodeA extends NodeComponent { + + @Override + public void process() throws Exception { + //TODO 节点A 业务 + System.out.println("执行节点A"); + } + +} diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/TestNodeB.java b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/TestNodeB.java new file mode 100644 index 0000000..c856cdb --- /dev/null +++ b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/rules/TestNodeB.java @@ -0,0 +1,16 @@ +package com.xjrsoft.module.dev.rules; + +import com.pictc.constant.ContractLiteflowRule; +import com.yomahub.liteflow.annotation.LiteflowComponent; +import com.yomahub.liteflow.core.NodeComponent; + +@LiteflowComponent(ContractLiteflowRule.RULE_TEST_NODEB) +public class TestNodeB extends NodeComponent { + + @Override + public void process() throws Exception { + //TODO 节点B 业务 + System.out.println("执行节点B"); + } + +} diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/service/ITestfrom3Service.java b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/service/ITestfrom3Service.java index 4e02909..7358176 100644 --- a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/service/ITestfrom3Service.java +++ b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/service/ITestfrom3Service.java @@ -1,11 +1,14 @@ package com.xjrsoft.module.dev.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.toolkit.SqlHelper; 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.Testfrom3; import lombok.Data; + +import java.util.Collection; import java.util.List; /** @@ -16,4 +19,6 @@ import java.util.List; */ public interface ITestfrom3Service extends IService { + + void addTestfrom3(Testfrom3 data); } diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/service/impl/Testfrom3ServiceImpl.java b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/service/impl/Testfrom3ServiceImpl.java index 37a5514..963705f 100644 --- a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/service/impl/Testfrom3ServiceImpl.java +++ b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/dev/service/impl/Testfrom3ServiceImpl.java @@ -2,6 +2,11 @@ package com.xjrsoft.module.dev.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.base.MPJBaseServiceImpl; +import com.pictc.enums.BusinessCode; +import com.pictc.enums.ExceptionCommonCode; +import com.pictc.utils.StringUtils; +import com.xjrsoft.common.enums.ResponseCode; +import com.xjrsoft.common.exception.BusinessException; import com.xjrsoft.module.dev.entity.Testfrom3; import com.xjrsoft.module.dev.mapper.Testfrom3Mapper; import com.xjrsoft.module.dev.service.ITestfrom3Service; @@ -11,6 +16,8 @@ import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; /** @@ -22,4 +29,27 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; @Service @AllArgsConstructor public class Testfrom3ServiceImpl extends ServiceImpl implements ITestfrom3Service { + + @Transactional(rollbackFor = Exception.class) + @Override + public void addTestfrom3(Testfrom3 data) { + if (!StringUtils.isEmpty(data.getDanXingWenBen5097())) { + throw new BusinessException(ResponseCode.PARAM_MISS); + } + if(StringUtils.isNotEmpty(data.getDanXingWenBen5097())){ + Long nameCount = findNameCount(data.getDanXingWenBen5097()); + if(nameCount!=null && nameCount.intValue() > 0) { + throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DATA_FIELD_DUPLICATION,"规则名称")); + } + } + baseMapper.insert(data); + } + + private Long findNameCount(String name) { + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(Testfrom3.class); + queryWrapper.eq(Testfrom3::getDanXingWenBen5097,name); + return baseMapper.selectCount(queryWrapper); + } + + } diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/prdManage/entity/Testfrom2.java b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/prdManage/entity/Testfrom2.java index 55d432a..321e7c7 100644 --- a/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/prdManage/entity/Testfrom2.java +++ b/itc-pcitc-demo/itc-pcitc-demo-service/src/main/java/com/xjrsoft/module/prdManage/entity/Testfrom2.java @@ -1,7 +1,7 @@ package com.xjrsoft.module.prdManage.entity; import com.baomidou.mybatisplus.annotation.TableName; -import com.github.yulichang.autoconfigure.conditional.JoinSqlInjectorCondition; +import com.baomidou.mybatisplus.annotation.Version; import com.pictc.annotations.datalog.JoinCaseType; import com.pictc.annotations.datalog.JoinType; import com.pictc.annotations.datalog.LogJoin; @@ -37,11 +37,20 @@ public class Testfrom2 extends BaseMasterEntity { */ @ApiModelProperty("单行文本") private String danXingWenBen9043; + + /** + * 单行文本 + */ + @ApiModelProperty("家电") + private String applianceId; - @LogJoin(name = "", + @LogJoin(name = "家电管理", columns = { - @LogJoinColumn(field = "",relatedField = "", valueDirection = ValueDirectionType.RIGHT) - }, caseType = JoinCaseType.FULL, target = DemoAppliance.class, type = JoinType.MANY) + @LogJoinColumn(field = "applianceId",relatedField = "id", valueDirection = ValueDirectionType.LEFT) + }, caseType = JoinCaseType.NONE, target = DemoAppliance.class, type = JoinType.ONE) private DemoAppliance appliance; + + @Version + private Integer dataVersion; //类型建议为 Integer/Long } \ No newline at end of file diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/agent.config b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/agent.config new file mode 100644 index 0000000..ed3fb29 --- /dev/null +++ b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/agent.config @@ -0,0 +1,4 @@ +# 应用名称(在 SkyWalking UI 中显示的服务名) +agent.service_name=your-springboot-app +# SkyWalking OAP 服务地址(默认本地) +collector.backend_service=localhost:11800 \ No newline at end of file diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/banner.txt b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/banner.txt new file mode 100644 index 0000000..f0052df --- /dev/null +++ b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/banner.txt @@ -0,0 +1,6 @@ + ██████╗ ███████╗ ██████╗ ██╗████████╗ ██████╗ +██╔════╝ ██╔════╝██╔════╝ ██║╚══██╔══╝██╔════╝ +██║ ███╗█████╗ ██║ ███╗█████╗██║ ██║ ██║ +██║ ██║██╔══╝ ██║ ██║╚════╝██║ ██║ ██║ +╚██████╔╝███████╗╚██████╔╝ ██║ ██║ ╚██████╗ + ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ \ No newline at end of file diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/bootstrap-local.yml b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/bootstrap-local.yml new file mode 100644 index 0000000..f75a2a3 --- /dev/null +++ b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/bootstrap-local.yml @@ -0,0 +1,49 @@ +spring: + cloud: + nacos: #nacos监控 + config: + server-addr: 127.0.0.1:8848 # nacos 配置中心地址 + namespace: ITC-MS + group: DNE + username: nacos + password: nacos + 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 + +datalog: + db: + url: jdbc:kingbase8://127.0.0.1:54321/itc?currentSchema=dne_log_sit \ No newline at end of file diff --git a/demo/demo-service/src/main/resources/bootstrap.yml b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/bootstrap.yml similarity index 91% rename from demo/demo-service/src/main/resources/bootstrap.yml rename to itc-pcitc-demo/itc-pcitc-demo-service/target/classes/bootstrap.yml index 7b2df20..d2afbfe 100644 --- a/demo/demo-service/src/main/resources/bootstrap.yml +++ b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/bootstrap.yml @@ -1,9 +1,13 @@ +server: + port: 8099 + spring: application: name: demo-service main: allow-bean-definition-overriding: true - + profiles: + active: dev cloud: nacos: #nacos监控 config: @@ -11,8 +15,9 @@ spring: namespace: ITC-MS group: DNE username: nacos - password: ABcd1234@ + password: Yudean@2025 file-extension: yml # 默认配置 ${spring.application.name}-${spring.profiles.active}.${file-extension} + refresh-enabled: true extension-configs: - data-id: global.yml refresh: true diff --git a/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/startApp.sh b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/startApp.sh new file mode 100644 index 0000000..7dff4c5 --- /dev/null +++ b/itc-pcitc-demo/itc-pcitc-demo-service/target/classes/startApp.sh @@ -0,0 +1,50 @@ +#!/bin/sh +#cp /etc/hosts /etc/hosts.temp + +# 初始化环境变量(设置默认值,避免空变量) +APP_NAME=${APP_NAME:-"default-springboot-app"} # 默认服务名 +SKYWALKING_SERVER=${SKYWALKING_SERVER:-"localhost:11800"} # 默认SkyWalking服务地址 +ENV_APP_PRO_FILE=${ENV_APP_PRO_FILE:-"test"} # 默认环境为test + +# 初始化Java启动参数(包含是否使用-server模式) +java_base="java -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$APP_NAME" +export java_base="$java_base -Dskywalking.collector.backend_service=$SKYWALKING_SERVER" + +java_start="$java_base -jar" + +# 根据环境变量区分开发/生产环境配置 +if [ "$ENV_APP_PRO_FILE" = "prod" ]; then + # 生产环境JVM参数 + export JAVA_OPTS="-Xms1024m -Xmx4096m -Xmn512m -Xss512k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m" + export JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:G1HeapRegionSize=32m -XX:G1ReservePercent=20" + export JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=500 -XX:G1MixedGCCountTarget=10" + + export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:/var/log/app/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps" + export JAVA_OPTS="$JAVA_OPTS -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M" + + # 生产环境使用-server模式 + java_start="$java_base -jar -server" +else + # 开发环境JVM参数 + export JAVA_OPTS="-Xms512m -Xmx2048m -Xmn256m -Xss512k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m" + export JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+UseParNewGC" + export JAVA_OPTS="$JAVA_OPTS -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSMaxAbortablePrecleanTime=5000" + export JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly" + export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:./logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps" + # 开发环境开启远程调试 + export JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" +fi + +# 公共配置(编码、时区等) +export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8" +export JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true" +export JAVA_OPTS="$JAVA_OPTS -Duser.language=zh -Duser.country=CN -Duser.timezone=Asia/Shanghai" + +# SpringBoot 环境配置 +export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=$ENV_APP_PRO_FILE" + +# 输出启动参数 +echo "启动参数:$java_start $JAVA_OPTS $ENV_APP_FILE_PATH" + +# 执行启动命令(用双引号包裹每个变量) +exec $java_start $JAVA_OPTS $ENV_APP_FILE_PATH \ No newline at end of file diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/ContractLiteflowRule.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/ContractLiteflowRule.java new file mode 100644 index 0000000..6386a90 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/constant/ContractLiteflowRule.java @@ -0,0 +1,27 @@ +package com.pictc.constant; + +/** + * @author 张福财 + * @date 2025年10月14日 下午12:00:34 + * @Description: 合同相关规则引擎常量 + * 规则引擎的常量包括2个部分,1、规则编码 2、规则节点编码 + */ +public interface ContractLiteflowRule { + + + String RULE_ARG = "arg"; + + /** + * 用于演示规则引擎在复杂业务中的使用 + * 规则节点:test_node_A、test_node_B + * 规则参数为: + * 参数说明: + * */ + String RULE_TEST = "RULE_TEST"; + + String RULE_TEST_NODEA = "test_node_A"; + + String RULE_TEST_NODEB = "test_node_B"; + + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BContractCode.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BContractCode.java new file mode 100644 index 0000000..8889b91 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BContractCode.java @@ -0,0 +1,15 @@ +package com.pictc.enums; + +/** + * @author 张福财 + * @date 2025年10月14日 上午10:52:42 + * @Description: 合同业务, 编码范围 11000-11999 + */ +public interface BContractCode { + + // + final BusinessCode NOT_FOUNT = BusinessCode.of(11000,"合同【{}】找不到"); + + final BusinessCode NOT_VALID = BusinessCode.of(11001,"合同【{}】已经失效"); + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BFinanceCode.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BFinanceCode.java new file mode 100644 index 0000000..4ef8724 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BFinanceCode.java @@ -0,0 +1,10 @@ +package com.pictc.enums; + +/** + * @author 张福财 + * @date 2025年10月14日 上午10:52:42 + * @Description: 财务业务,编码范围 16000-16999 + */ +public interface BFinanceCode { + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BProcurementCode.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BProcurementCode.java new file mode 100644 index 0000000..01f4ef6 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BProcurementCode.java @@ -0,0 +1,11 @@ +package com.pictc.enums; + + +/** + * @author 张福财 + * @date 2025年10月14日 上午10:52:42 + * @Description: 采购业务, 编码范围 12000-12999 + */ +public interface BProcurementCode { + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BReserveCode.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BReserveCode.java new file mode 100644 index 0000000..51cf568 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BReserveCode.java @@ -0,0 +1,11 @@ +package com.pictc.enums; + + +/** + * @author 张福财 + * @date 2025年10月14日 上午10:52:42 + * @Description: 储备业务 15000-15999 + */ +public interface BReserveCode { + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BSalesCode.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BSalesCode.java new file mode 100644 index 0000000..fdb6d53 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BSalesCode.java @@ -0,0 +1,10 @@ +package com.pictc.enums; + +/** + * @author 张福财 + * @date 2025年10月14日 上午10:52:42 + * @Description: 销售业务,编码范围 13000-13999 + */ +public interface BSalesCode { + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BTransportCode.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BTransportCode.java new file mode 100644 index 0000000..6a030eb --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BTransportCode.java @@ -0,0 +1,11 @@ +package com.pictc.enums; + + +/** + * @author 张福财 + * @date 2025年10月14日 上午10:52:42 + * @Description: 运输业务,编码范围 14000-14999 + */ +public interface BTransportCode { + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BusinessCode.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BusinessCode.java new file mode 100644 index 0000000..13e28ba --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/BusinessCode.java @@ -0,0 +1,60 @@ +package com.pictc.enums; + +import org.slf4j.helpers.MessageFormatter; + +import com.xjrsoft.common.exception.ExceptionCode; + +import lombok.Setter; + +/** + * @author 张福财 + * @date 2025年10月14日 上午10:38:49 + * @Description: + *
业务错误编码
+ *

通用-默认 10000-10500 {@link com.xjrsoft.common.enums.ResponseCode}

+ *

通用-参数 10501-10999 {@link com.pictc.enums.ExceptionCommonCode}

+ *

合同 11000-11999 {@link com.pictc.enums.BContractCode}

+ *

采购 12000-12999 {@link com.pictc.enums.BProcurementCode}

+ *

销售 13000-13999 {@link com.pictc.enums.BSalesCode}

+ *

运输 14000-14999 {@link com.pictc.enums.BTransportCode}

+ *

储备 15000-15999 {@link com.pictc.enums.BReserveCode}

+ *

财务 16000-16999 {@link com.pictc.enums.BFinanceCode}

+ */ +@Setter +public class BusinessCode implements ExceptionCode{ + + private int code; + + private String message; + + private BusinessCode(int code, String message) { + super(); + this.code = code; + this.message = message; + } + + @Override + public int getCode() { + return code; + } + + @Override + public String getMessage() { + return message; + } + + public static BusinessCode ofArgs(BusinessCode bcode,Object... args) { + String msg = bcode.getMessage(); + if(args!=null && args.length > 0) { + msg = MessageFormatter.arrayFormat(bcode.getMessage(),args).getMessage(); + } + return new BusinessCode(bcode.getCode(),msg); + } + + public static BusinessCode of(int code,String msg) { + return new BusinessCode(code,msg); + } + + + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/ExceptionCommonCode.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/ExceptionCommonCode.java new file mode 100644 index 0000000..28016c7 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-api/src/main/java/com/pictc/enums/ExceptionCommonCode.java @@ -0,0 +1,15 @@ +package com.pictc.enums; + +/** + * @author 张福财 + * @date 2025年10月14日 下午4:11:24 + * @Description: 合同业务, 编码范围 10501-10999 + */ +public interface ExceptionCommonCode { + + /** + * 数据中某个字段值唯一,不运行重复 + */ + final BusinessCode DATA_FIELD_DUPLICATION = BusinessCode.of(10501,"字段【{}】不允许重复"); + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/CallUtils.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/CallUtils.java new file mode 100644 index 0000000..26c40a9 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/CallUtils.java @@ -0,0 +1,166 @@ +package com.pictc.jdbc; + +import java.lang.reflect.Method; +import java.math.BigDecimal; +import java.math.BigInteger; +import java.net.URL; +import java.sql.Array; +import java.sql.Date; +import java.sql.NClob; +import java.sql.Ref; +import java.sql.CallableStatement; +import java.sql.RowId; +import java.sql.SQLException; +import java.sql.SQLFeatureNotSupportedException; +import java.sql.SQLXML; +import java.sql.Struct; +import java.sql.Time; +import java.sql.Timestamp; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.LocalTime; +import java.time.OffsetDateTime; +import java.time.OffsetTime; +import java.time.format.DateTimeParseException; + +import com.pictc.utils.StringUtils; + +public class CallUtils { + + @SuppressWarnings("unchecked") + public static T getObject(CallableStatement res,int columnIndex,Class type) throws SQLException { + if (type.equals(String.class)) { + return (T) res.getString(columnIndex); + + } else if (type.equals(BigDecimal.class)) { + return (T) res.getBigDecimal(columnIndex); + + } else if (type.equals(BigInteger.class)) { + return (T) getBigInteger(res, columnIndex); + + } else if (type.equals(Boolean.class) || type.equals(Boolean.TYPE)) { + return (T) Boolean.valueOf(res.getBoolean(columnIndex)); + + } else if (type.equals(Integer.class) || type.equals(Integer.TYPE)) { + return (T) Integer.valueOf(res.getInt(columnIndex)); + + } else if (type.equals(Long.class) || type.equals(Long.TYPE)) { + return (T) Long.valueOf(res.getLong(columnIndex)); + } else if (type.equals(Float.class) || type.equals(Float.TYPE)) { + return (T) Float.valueOf(res.getFloat(columnIndex)); + + } else if (type.equals(Double.class) || type.equals(Double.TYPE)) { + return (T) Double.valueOf(res.getDouble(columnIndex)); + + } else if (type.equals(byte[].class)) { + return (T) res.getBytes(columnIndex); + + } else if (type.equals(Date.class)) { + return (T) res.getDate(columnIndex); + + } else if (type.equals(Time.class)) { + return (T) res.getTime(columnIndex); + + } else if (type.equals(Timestamp.class)) { + return (T) res.getTimestamp(columnIndex); + + } else if (type.equals(java.sql.Clob.class)) { + return (T) res.getClob(columnIndex); + + } else if (type.equals(java.sql.Blob.class)) { + return (T) res.getBlob(columnIndex); + + } else if (type.equals(Array.class)) { + return (T) res.getArray(columnIndex); + + } else if (type.equals(Ref.class)) { + return (T) res.getRef(columnIndex); + + } else if (type.equals(URL.class)) { + return (T) res.getURL(columnIndex); + + } else if (type.equals(Struct.class)) { + throw new SQLFeatureNotSupportedException(); + + } else if (type.equals(RowId.class)) { + return (T) res.getRowId(columnIndex); + + } else if (type.equals(NClob.class)) { + return (T) res.getNClob(columnIndex); + + } else if (type.equals(SQLXML.class)) { + return (T) res.getSQLXML(columnIndex); + + } else if (type.equals(LocalDate.class)) { + return (T) getLocalDate(res,columnIndex); + + } else if (type.equals(LocalDateTime.class)) { + return (T) getLocalDateTime(res,columnIndex); + + } else if (type.equals(LocalTime.class)) { + return (T) getLocalTime(res,columnIndex); + + } else if (type.equals(OffsetDateTime.class)) { + try { + String odt = res.getString(columnIndex); + return odt == null ? null : (T) OffsetDateTime.parse(odt); + } catch (DateTimeParseException e) { + // Let it continue and try by object deserialization. + } + + } else if (type.equals(OffsetTime.class)) { + try { + String ot = res.getString(columnIndex); + return ot == null ? null : (T) OffsetTime.parse(ot); + } catch (DateTimeParseException e) {} + }else if(type.isEnum()) { + try { + String _vl = res.getString(columnIndex); + if(!StringUtils.isEmpty(_vl)) { + Method method=Enum.class.getMethod("valueOf", String.class); + return (T) method.invoke(null,_vl); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return (T) res.getObject(columnIndex); + } + + private static LocalDate getLocalDate(CallableStatement res,int columnIndex) throws SQLException { + Date date = res.getDate(columnIndex); + if(date!=null) { + return date.toLocalDate(); + } + return null; + } + + private static LocalDateTime getLocalDateTime(CallableStatement res,int columnIndex) throws SQLException { + Timestamp date = res.getTimestamp(columnIndex); + if(date!=null) { + return date.toLocalDateTime(); + } + return null; + } + + private static LocalTime getLocalTime(CallableStatement res,int columnIndex) throws SQLException { + Time date = res.getTime(columnIndex); + if(date!=null) { + return date.toLocalTime(); + } + return null; + } + + private static BigInteger getBigInteger(CallableStatement res,int columnIndex) throws SQLException { + String stringVal = res.getString(columnIndex); + if (stringVal == null) { + return null; + } + try { + return new BigInteger(stringVal); + } catch (NumberFormatException nfe) { + throw new RuntimeException("CallableStatement.Bad_format_for_BigInteger"); + } + } + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/JdbcContext.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/JdbcContext.java index a1a2411..e1a8fee 100644 --- a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/JdbcContext.java +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/JdbcContext.java @@ -140,18 +140,34 @@ public static final int DEF_STEP = 1000; } } } + + private void setOutParams() throws SQLException { + if(params!=null) { + for (int i = 0; i < params.size(); i++) { + JdbcParam parameter = params.get(i); + int index = i+1; + if(parameter.isOut()) { + parameter.setVal(CallUtils.getObject(ctmt, index,parameter.getJavaType())); + continue; + } + } + } + } public int executeUpdate() throws SQLException { executeParams(); size = this._executeUpdate(); + setOutParams(); return size; } public boolean execute() throws SQLException { executeParams(); - return this._execute(); + boolean res = this._execute(); + setOutParams(); + return res; } public int executeBatch() throws SQLException { diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/JdbcTools.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/JdbcTools.java index 97c2737..0428aca 100644 --- a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/JdbcTools.java +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/JdbcTools.java @@ -162,6 +162,23 @@ public class JdbcTools { } } + /** + * 执行存储过程返回基础数据类型 + * */ + public static void call(String sql,List params){ + JdbcContext context = null; + try { + context = new JdbcContext(true); + context.initCall(sql); + context.setParams(params); + context.execute(); + } catch (SQLException e) { + throw context.createException(e); + }finally { + context.end(); + } + } + /** * 执行存储过程返回基础数据类型 * */ diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/model/JdbcParam.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/model/JdbcParam.java index d098d2b..6be5d72 100644 --- a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/model/JdbcParam.java +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/jdbc/model/JdbcParam.java @@ -33,7 +33,7 @@ public class JdbcParam implements Serializable{ @Override public String toString() { - return val+"("+JdbcType.valueOf(jdbc).name()+")"; + return (out?"OUT ":"IN ")+val+"("+JdbcType.valueOf(jdbc).name()+")"; } public static JdbcParam ofOut(int jdbc,Class javaType) { @@ -160,6 +160,111 @@ public class JdbcParam implements Serializable{ .setJavaType(LocalDateTime.class) .setVal(val); } + + /** + * 获取String类型值 + */ + public String getStringValue() { + return val == null ? null : String.class.cast(val); + } + + /** + * 获取Integer类型值 + */ + public Integer getIntValue() { + return val == null ? null : Integer.class.cast(val); + } + + /** + * 获取Long类型值 + */ + public Long getLongValue() { + return val == null ? null : Long.class.cast(val); + } + + /** + * 获取Boolean类型值 + */ + public Boolean getBooleanValue() { + return val == null ? null : Boolean.class.cast(val); + } + + /** + * 获取Float类型值 + */ + public Float getFloatValue() { + return val == null ? null : Float.class.cast(val); + } + + /** + * 获取Double类型值 + */ + public Double getDoubleValue() { + return val == null ? null : Double.class.cast(val); + } + + /** + * 获取Byte类型值 + */ + public Byte getByteValue() { + return val == null ? null : Byte.class.cast(val); + } + + /** + * 获取Short类型值 + */ + public Short getShortValue() { + return val == null ? null : Short.class.cast(val); + } + + /** + * 获取Date类型值 + */ + public Date getDateValue() { + return val == null ? null : Date.class.cast(val); + } + + /** + * 获取Timestamp类型值 + */ + public Timestamp getTimestampValue() { + return val == null ? null : Timestamp.class.cast(val); + } + + /** + * 获取BigDecimal类型值 + */ + public BigDecimal getBigDecimalValue() { + return val == null ? null : BigDecimal.class.cast(val); + } + + /** + * 获取BigInteger类型值 + */ + public BigInteger getBigIntegerValue() { + return val == null ? null : BigInteger.class.cast(val); + } + + /** + * 获取LocalDate类型值 + */ + public LocalDate getLocalDateValue() { + return val == null ? null : LocalDate.class.cast(val); + } + + /** + * 获取LocalTime类型值 + */ + public LocalTime getLocalTimeValue() { + return val == null ? null : LocalTime.class.cast(val); + } + + /** + * 获取LocalDateTime类型值 + */ + public LocalDateTime getLocalDateTimeValue() { + return val == null ? null : LocalDateTime.class.cast(val); + } } diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/CommonCallService.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/CommonCallService.java new file mode 100644 index 0000000..c42e77e --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/CommonCallService.java @@ -0,0 +1,104 @@ +package com.xjrsoft.module.common.db.service; + +import java.util.List; + +import org.springframework.stereotype.Component; + +import com.pictc.jdbc.JdbcTools; +import com.pictc.jdbc.model.JdbcParam; +import com.pictc.utils.ListUtils; +import com.pictc.utils.StringUtils; + +/** + * @author 张福财 + * @date 2025年10月14日 上午11:47:59 + * @Description: 通用保存、删除、启用、作废存储过程调用 + * 通用 CommonCallService + * 合同 ContractCallService + * 采购 ProcurementCallService + * 销售 SalesCallService + * 运输 TransportCallService + * 储备 ReserveCallService + * 财务 FinanceCallService + */ +@Component +public class CommonCallService { + + + /** + * @Description: + 一、新增、修改记录时,在同一个事务里执行如下过程: + 1、更新表; + 2、调用数据库函数pc_表名.f_save(表主键); + 3、函数返回非空、或者数据库异常时rollback,函数返回空时commit; + * @param table 表名 + * @param id 表主键 + * @return String 返回类型 函数返回非空、或者数据库异常时rollback,函数返回空时commit; + */ + public String saveAfter(String table,Long id) { + String sql = StringUtils.format("{? = call pc_{0}.f_save(?)}",table); + List params = ListUtils.newArrayList(JdbcParam.ofLong(id)); + JdbcParam outParam = JdbcParam.ofString(null).setOut(true); + params.add(outParam); + params.add(JdbcParam.ofLong(id)); + JdbcTools.call(sql,params); + return outParam.getStringValue(); + } + + /** + * @Description: + 二、删除记录时,在同一个事务里执行如下过程: + 1、调用数据库函数pc_表名.f_delete(表主键); + 2、函数返回非空、或者数据库异常时rollback,函数返回空时commit; + * @return + * @return String 返回类型 + */ + public String deleteBefore(String table,Long id) { + String sql = StringUtils.format("{? = call pc_{0}.f_delete(?)}",table); + List params = ListUtils.newArrayList(JdbcParam.ofLong(id)); + JdbcParam outParam = JdbcParam.ofString(null).setOut(true); + params.add(outParam); + params.add(JdbcParam.ofLong(id)); + JdbcTools.call(sql,params); + return outParam.getStringValue(); + } + + + /** + * @Description: + 二、停用时,在同一个事务里执行如下过程: + 1、调用数据库函数pc_表名.f_off(表主键); + 2、函数返回非空、或者数据库异常时rollback,函数返回空时commit; + * @return + * @return String 返回类型 + */ + public String disableBefore(String table,Long id) { + String sql = StringUtils.format("{? = call pc_{0}.f_off(?)}",table); + List params = ListUtils.newArrayList(JdbcParam.ofLong(id)); + JdbcParam outParam = JdbcParam.ofString(null).setOut(true); + params.add(outParam); + params.add(JdbcParam.ofLong(id)); + JdbcTools.call(sql,params); + return outParam.getStringValue(); + } + + + /** + * @Description: + 1、调用数据库函数pc_表名.f_on(表主键); + 2、函数返回非空、或者数据库异常时rollback,函数返回空时commit; + * @return + * @return String 返回类型 + */ + public String enableBefore(String table,Long id) { + String sql = StringUtils.format("{? = call pc_{0}.f_on(?)}",table); + List params = ListUtils.newArrayList(JdbcParam.ofLong(id)); + JdbcParam outParam = JdbcParam.ofString(null).setOut(true); + params.add(outParam); + params.add(JdbcParam.ofLong(id)); + JdbcTools.call(sql,params); + return outParam.getStringValue(); + } + + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ContractCallService.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ContractCallService.java new file mode 100644 index 0000000..575153a --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ContractCallService.java @@ -0,0 +1,13 @@ +package com.xjrsoft.module.common.db.service; + +import org.springframework.stereotype.Component; + +/** + * @author 张福财 + * @date 2025年10月14日 上午11:47:59 + * @Description: 合同相关的存储过程 + */ +@Component +public class ContractCallService { + +} diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/FinanceCallService.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/FinanceCallService.java new file mode 100644 index 0000000..2047416 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/FinanceCallService.java @@ -0,0 +1,14 @@ +package com.xjrsoft.module.common.db.service; + +import org.springframework.stereotype.Component; + +/** + * @author 张福财 + * @date 2025年10月14日 上午11:47:59 + * @Description: 财务相关的存储过程 + */ +@Component +public class FinanceCallService { + +} + \ No newline at end of file diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ProcurementCallService.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ProcurementCallService.java new file mode 100644 index 0000000..963956b --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ProcurementCallService.java @@ -0,0 +1,14 @@ +package com.xjrsoft.module.common.db.service; + +import org.springframework.stereotype.Component; + +/** + * @author 张福财 + * @date 2025年10月14日 上午11:47:59 + * @Description: 采购相关的存储过程 + */ +@Component +public class ProcurementCallService { + +} + \ No newline at end of file diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ReserveCallService.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ReserveCallService.java new file mode 100644 index 0000000..9c738f1 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/ReserveCallService.java @@ -0,0 +1,14 @@ +package com.xjrsoft.module.common.db.service; + +import org.springframework.stereotype.Component; + +/** + * @author 张福财 + * @date 2025年10月14日 上午11:47:59 + * @Description: 储备相关的存储过程 + */ +@Component +public class ReserveCallService { + +} + \ No newline at end of file diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/SalesCallService.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/SalesCallService.java new file mode 100644 index 0000000..a4886d1 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/SalesCallService.java @@ -0,0 +1,14 @@ +package com.xjrsoft.module.common.db.service; + +import org.springframework.stereotype.Component; + +/** + * @author 张福财 + * @date 2025年10月14日 上午11:47:59 + * @Description: 销售相关的存储过程 + */ +@Component +public class SalesCallService { + +} + \ No newline at end of file diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/TransportCallService.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/TransportCallService.java new file mode 100644 index 0000000..6a4a232 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/xjrsoft/module/common/db/service/TransportCallService.java @@ -0,0 +1,14 @@ +package com.xjrsoft.module.common.db.service; + +import org.springframework.stereotype.Component; + +/** + * @author 张福财 + * @date 2025年10月14日 上午11:47:59 + * @Description: 运输相关的存储过程 + */ +@Component +public class TransportCallService { + +} + \ No newline at end of file diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/META-INF/spring.factories b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/META-INF/spring.factories new file mode 100644 index 0000000..4172a60 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/META-INF/spring.factories @@ -0,0 +1,4 @@ +# src/main/resources/META-INF/spring.factories +org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ +com.pictc.config.PcitcAutoConfig,\ +com.pictc.config.JdbcConfig \ No newline at end of file diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/auto-scan.txt b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/auto-scan.txt new file mode 100644 index 0000000..922b161 --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/auto-scan.txt @@ -0,0 +1 @@ +component=com.pictc \ No newline at end of file diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/t-banner.txt b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/t-banner.txt new file mode 100644 index 0000000..c61d39e --- /dev/null +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/target/classes/t-banner.txt @@ -0,0 +1,9 @@ + + ███████ ██████ ██ ██████████ ██████ +░██░░░░██ ██░░░░██░██░░░░░██░░░ ██░░░░██ +░██ ░██ ██ ░░ ░██ ░██ ██ ░░ 服务名称:${serverName} +░███████ ░██ ░██ ░██ ░██ 启动环境:${profiles} +░██░░░░ ░██ ░██ ░██ ░██ 启动耗时:${time}s +░██ ░░██ ██░██ ░██ ░░██ ██ 访问地址:${url} +░██ ░░██████ ░██ ░██ ░░██████ +░░ ░░░░░░ ░░ ░░ ░░░░░░ \ No newline at end of file diff --git a/demo/demo-api/pom.xml b/itc-pcitc-mdm/itc-pcitc-mdm-api/pom.xml similarity index 70% rename from demo/demo-api/pom.xml rename to itc-pcitc-mdm/itc-pcitc-mdm-api/pom.xml index 660e1d6..fc123c0 100644 --- a/demo/demo-api/pom.xml +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/pom.xml @@ -6,51 +6,28 @@ com.geg - demo + itc-pcitc-mdm ${revision} - demo-api - demo-api - demo-api + itc-pcitc-mdm-api + itc-pcitc-mdm-api + itc-pcitc-mdm-api ${java.version} ${java.version} - + - - com.geg - itc-ms-common-api - ${framework.version} - - - - org.springframework.cloud - spring-cloud-starter-openfeign - - - - com.alibaba - easyexcel - - - - org.ssssssss - magic-api-spring-boot-starter - - - - com.alibaba - fastjson - - - - me.zhyd.oauth - JustAuth - + + com.geg + itc-pcitc-dependencies-api + ${revision} + + + diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/pom.xml b/itc-pcitc-mdm/itc-pcitc-mdm-service/pom.xml new file mode 100644 index 0000000..7c239a2 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/pom.xml @@ -0,0 +1,118 @@ + + + 4.0.0 + + + com.geg + itc-pcitc-mdm + ${revision} + + + itc-pcitc-mdm-service + itc-pcitc-mdm-service + itc-pcitc-mdm-service + + + ${java.version} + ${java.version} + pcitc/itc-pcitc-mdm + + + + + + com.geg + itc-pcitc-dependencies-service + ${revision} + + + + com.geg + itc-ms-system-api + ${revision} + + + + com.geg + itc-ms-facade-api + ${revision} + + + + com.geg + itc-ms-common-service + ${revision} + + + + com.geg + itc-ms-workflow-api + ${revision} + + + + com.geg + itc-ms-user-api + ${revision} + + + + com.geg + itc-pcitc-mdm-api + ${revision} + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + true + + + + org.apache.maven.plugins + maven-compiler-plugin + + ${java.version} + ${java.version} + + + + + + src/main/java + + **/*.xml + + + + src/main/java + + **/*.yml + **/*.properties + **/*.xml + + false + + + src/main/resources + + **/*.yml + **/*.properties + **/*.xml + **/*.vm + **/*.ftl + **/*.jpg + **/*.png + **/*.xls + **/*.xlsx + + false + + + + \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/docker/agent.config b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/docker/agent.config new file mode 100644 index 0000000..ed3fb29 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/docker/agent.config @@ -0,0 +1,4 @@ +# 应用名称(在 SkyWalking UI 中显示的服务名) +agent.service_name=your-springboot-app +# SkyWalking OAP 服务地址(默认本地) +collector.backend_service=localhost:11800 \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/docker/startApp.sh b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/docker/startApp.sh new file mode 100644 index 0000000..7dff4c5 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/docker/startApp.sh @@ -0,0 +1,50 @@ +#!/bin/sh +#cp /etc/hosts /etc/hosts.temp + +# 初始化环境变量(设置默认值,避免空变量) +APP_NAME=${APP_NAME:-"default-springboot-app"} # 默认服务名 +SKYWALKING_SERVER=${SKYWALKING_SERVER:-"localhost:11800"} # 默认SkyWalking服务地址 +ENV_APP_PRO_FILE=${ENV_APP_PRO_FILE:-"test"} # 默认环境为test + +# 初始化Java启动参数(包含是否使用-server模式) +java_base="java -javaagent:/opt/agent/skywalking-agent.jar -Dskywalking.agent.service_name=$APP_NAME" +export java_base="$java_base -Dskywalking.collector.backend_service=$SKYWALKING_SERVER" + +java_start="$java_base -jar" + +# 根据环境变量区分开发/生产环境配置 +if [ "$ENV_APP_PRO_FILE" = "prod" ]; then + # 生产环境JVM参数 + export JAVA_OPTS="-Xms1024m -Xmx4096m -Xmn512m -Xss512k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m" + export JAVA_OPTS="$JAVA_OPTS -XX:+UseG1GC -XX:G1HeapRegionSize=32m -XX:G1ReservePercent=20" + export JAVA_OPTS="$JAVA_OPTS -XX:MaxGCPauseMillis=500 -XX:G1MixedGCCountTarget=10" + + export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:/var/log/app/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps" + export JAVA_OPTS="$JAVA_OPTS -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M" + + # 生产环境使用-server模式 + java_start="$java_base -jar -server" +else + # 开发环境JVM参数 + export JAVA_OPTS="-Xms512m -Xmx2048m -Xmn256m -Xss512k -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m" + export JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+UseParNewGC" + export JAVA_OPTS="$JAVA_OPTS -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:CMSMaxAbortablePrecleanTime=5000" + export JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=80 -XX:+UseCMSInitiatingOccupancyOnly" + export JAVA_OPTS="$JAVA_OPTS -verbose:gc -Xloggc:./logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps" + # 开发环境开启远程调试 + export JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" +fi + +# 公共配置(编码、时区等) +export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8" +export JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true" +export JAVA_OPTS="$JAVA_OPTS -Duser.language=zh -Duser.country=CN -Duser.timezone=Asia/Shanghai" + +# SpringBoot 环境配置 +export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=$ENV_APP_PRO_FILE" + +# 输出启动参数 +echo "启动参数:$java_start $JAVA_OPTS $ENV_APP_FILE_PATH" + +# 执行启动命令(用双引号包裹每个变量) +exec $java_start $JAVA_OPTS $ENV_APP_FILE_PATH \ No newline at end of file diff --git a/facade-service/src/main/java/com/xjrsoft/ITCFacadeApplication.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/ITCMdmApplication.java similarity index 72% rename from facade-service/src/main/java/com/xjrsoft/ITCFacadeApplication.java rename to itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/ITCMdmApplication.java index 830072e..4e9a849 100644 --- a/facade-service/src/main/java/com/xjrsoft/ITCFacadeApplication.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/ITCMdmApplication.java @@ -1,25 +1,28 @@ package com.xjrsoft; -import com.xjrsoft.common.annotation.UniqueNameGenerator; -import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.EnableAspectJAutoProxy; +import com.pictc.utils.SpringTools; +import com.xjrsoft.common.annotation.UniqueNameGenerator; + /** - * @author Zexy + * @author 张福财 + * 主数据服务---开发使用 + * 使用时集成到其它模块使用,不作为单独的服务 */ @SpringBootApplication @EnableAspectJAutoProxy(exposeProxy = true) @ComponentScan(nameGenerator = UniqueNameGenerator.class) @EnableFeignClients @EnableDiscoveryClient -public class ITCFacadeApplication { +public class ITCMdmApplication { public static void main(String[] args) { - SpringApplication.run(ITCFacadeApplication.class, args); + SpringTools.logStarter(ITCMdmApplication.class, args); } } \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/banner.txt b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/banner.txt new file mode 100644 index 0000000..f0052df --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/banner.txt @@ -0,0 +1,6 @@ + ██████╗ ███████╗ ██████╗ ██╗████████╗ ██████╗ +██╔════╝ ██╔════╝██╔════╝ ██║╚══██╔══╝██╔════╝ +██║ ███╗█████╗ ██║ ███╗█████╗██║ ██║ ██║ +██║ ██║██╔══╝ ██║ ██║╚════╝██║ ██║ ██║ +╚██████╔╝███████╗╚██████╔╝ ██║ ██║ ╚██████╗ + ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap-local.yml b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap-local.yml new file mode 100644 index 0000000..f75a2a3 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap-local.yml @@ -0,0 +1,49 @@ +spring: + cloud: + nacos: #nacos监控 + config: + server-addr: 127.0.0.1:8848 # nacos 配置中心地址 + namespace: ITC-MS + group: DNE + username: nacos + password: nacos + 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 + +datalog: + db: + url: jdbc:kingbase8://127.0.0.1:54321/itc?currentSchema=dne_log_sit \ No newline at end of file diff --git a/facade-service/src/main/resources/bootstrap.yml b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap.yml similarity index 87% rename from facade-service/src/main/resources/bootstrap.yml rename to itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap.yml index 8822b07..d2afbfe 100644 --- a/facade-service/src/main/resources/bootstrap.yml +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/resources/bootstrap.yml @@ -1,9 +1,13 @@ +server: + port: 8099 + spring: application: - name: facade-service + name: demo-service main: allow-bean-definition-overriding: true - + profiles: + active: dev cloud: nacos: #nacos监控 config: @@ -11,8 +15,9 @@ spring: namespace: ITC-MS group: DNE username: nacos - password: ABcd1234@ + password: Yudean@2025 file-extension: yml # 默认配置 ${spring.application.name}-${spring.profiles.active}.${file-extension} + refresh-enabled: true extension-configs: - data-id: global.yml refresh: true @@ -48,4 +53,4 @@ spring: - data-id: sentinel.yml refresh: true - group: DNE \ No newline at end of file + group: DNE diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap-local.yml b/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap-local.yml new file mode 100644 index 0000000..f75a2a3 --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap-local.yml @@ -0,0 +1,49 @@ +spring: + cloud: + nacos: #nacos监控 + config: + server-addr: 127.0.0.1:8848 # nacos 配置中心地址 + namespace: ITC-MS + group: DNE + username: nacos + password: nacos + 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 + +datalog: + db: + url: jdbc:kingbase8://127.0.0.1:54321/itc?currentSchema=dne_log_sit \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap.yml b/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap.yml new file mode 100644 index 0000000..d2afbfe --- /dev/null +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/target/classes/bootstrap.yml @@ -0,0 +1,56 @@ +server: + port: 8099 + +spring: + application: + name: demo-service + main: + allow-bean-definition-overriding: true + profiles: + active: dev + cloud: + nacos: #nacos监控 + config: + server-addr: 10.0.252.1:8848 # nacos 配置中心地址 + namespace: ITC-MS + group: DNE + username: nacos + password: Yudean@2025 + file-extension: yml # 默认配置 ${spring.application.name}-${spring.profiles.active}.${file-extension} + refresh-enabled: true + extension-configs: + - data-id: global.yml + refresh: true + group: DNE + + - data-id: discovery.yml + refresh: true + group: DNE + + - data-id: datasource.yml + refresh: true + group: DNE + + - data-id: seata.yml + refresh: true + group: DNE + + - data-id: redis.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.yml + refresh: true + group: DNE diff --git a/demo/pom.xml b/itc-pcitc-mdm/pom.xml similarity index 74% rename from demo/pom.xml rename to itc-pcitc-mdm/pom.xml index b9f0574..974bbc4 100644 --- a/demo/pom.xml +++ b/itc-pcitc-mdm/pom.xml @@ -6,18 +6,18 @@ com.geg - ms-demo + itc-pcitc-back ${revision} - demo - demo - demo + itc-pcitc-mdm + itc-pcitc-mdm + itc-pcitc-mdm pom - demo-api - demo-service + itc-pcitc-mdm-service + itc-pcitc-mdm-api @@ -25,5 +25,4 @@ ${java.version} UTF-8 - \ No newline at end of file diff --git a/pom.xml b/pom.xml index b9f7574..c2b7d17 100644 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,7 @@ itc-pcitc-demo itc-pcitc-dependencies + itc-pcitc-mdm