浏览代码

蒂维创建模块

wzy 3 月之前
父节点
当前提交
0094ad6fc8

+ 85 - 0
mjava-diwei/pom.xml

@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.2.0.RELEASE</version> <!-- 使用最新的稳定版或其他适用版本 -->
+        <relativePath/> <!-- lookup parent from repository -->
+    </parent>
+
+    <groupId>com.malk.diwei</groupId>
+    <artifactId>mjava-diwei</artifactId>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>com.malk</groupId>
+            <artifactId>base</artifactId>
+            <version>1.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!--sql server依赖-->
+        <dependency>
+            <groupId>com.microsoft.sqlserver</groupId>
+            <artifactId>mssql-jdbc</artifactId>
+            <version>6.4.0.jre8</version>
+        </dependency>
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.5.3.2</version>
+        </dependency>
+        <!--MP自动生成器依赖-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-generator</artifactId>
+            <version>3.5.3.1</version>
+        </dependency>
+        <dependency> <!--自动生成的模板:模板有三种:Velocity(默认)、Freemarker、Beetl -->
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity</artifactId>
+            <version>1.7</version>
+        </dependency>
+
+    </dependencies>
+
+    <build>
+        <finalName>diwei</finalName>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>3.1</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <executable>true</executable>
+                    <includeSystemScope>true</includeSystemScope>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
+
+
+</project>

+ 17 - 0
mjava-diwei/src/main/java/com/malk/diwei/DiweiApplication.java

@@ -0,0 +1,17 @@
+package com.malk.diwei;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+@SpringBootApplication(scanBasePackages = {"com.malk"})
+@EnableScheduling
+public class DiweiApplication {
+    public static void main(String[] args) {
+        try {
+            SpringApplication.run(DiweiApplication.class,args);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+}

+ 27 - 0
mjava-diwei/src/main/java/com/malk/diwei/controller/ClientController.java

@@ -0,0 +1,27 @@
+package com.malk.diwei.controller;
+
+import com.malk.diwei.service.ClientService;
+import com.malk.server.common.McR;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-11
+ */
+@RestController
+@RequestMapping("/client")
+public class ClientController {
+    @Autowired
+    private ClientService clientService;
+
+    public McR syncClient() {
+        return clientService.syncClient();
+    }
+}

+ 29 - 0
mjava-diwei/src/main/java/com/malk/diwei/controller/ProcStepController.java

@@ -0,0 +1,29 @@
+package com.malk.diwei.controller;
+
+import com.malk.diwei.service.ProcStepService;
+import com.malk.server.common.McR;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-07
+ */
+@RestController
+@RequestMapping("/procStep")
+public class ProcStepController {
+    @Autowired
+    private ProcStepService procStepService;
+
+    @GetMapping("/syncProcStep")
+    public McR syncProcStep(){
+        return procStepService.syncProcStep();
+    }
+}

+ 103 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/Client.java

@@ -0,0 +1,103 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-11
+ */
+@TableName("Client")
+@Data
+  public class Client implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long clientID;
+
+    private String clientCode;
+
+    private String clientName;
+
+    private String clientShortName;
+
+    private Boolean clientDoubleIdentity;
+
+    private String clientShortCode;
+
+    private Integer clientLevel;
+
+    private Integer clientProperty;
+
+    private String clientLinkman;
+
+    private String clientTel;
+
+    private String clientFax;
+
+    private String clientAddress;
+
+    private String clientPostcode;
+
+    private String clientWebsite;
+
+    private String clientDescription;
+
+    private String clientMob;
+
+    private String clientLinkmanPosition;
+
+    private Integer clientStatus;
+
+    private String clientBank;
+
+    private String clientBankaccount;
+
+    private String clientTaxno;
+
+    private Long clientCredit;
+
+    private Boolean clientIsExpressCorp;
+
+    private String clientLegalPerson;
+
+    private Long ownerID;
+
+    private Integer clientCategory;
+
+    private Long clientOrgID;
+
+    private Integer clientProvinceID;
+
+    private Integer clientCityID;
+
+    private Long clientAreaID;
+
+    private Long clientMarketPlaceID;
+
+    private Long clientCategoryID;
+
+    private String clientBusinessScope;
+
+    private Integer clientSetMthod;
+
+    private Integer clientPayWay;
+
+    private BigDecimal clientSalesDiscount;
+
+    private Integer clientClass;
+
+    private String clientCompanyName;
+
+    private LocalDateTime clientBirthday;
+}

+ 54 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/ProcStep.java

@@ -0,0 +1,54 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-07
+ */
+@TableName("ProcStep")
+@Data
+  public class ProcStep implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private Long procStepID;
+
+    private String procStepCode;
+
+    private String procStepName;
+
+    private String procStepDescription;
+
+    private Integer procStepSequence;
+
+    private BigDecimal procStepPrice;
+
+    private BigDecimal procStepHours;
+
+    private Integer procStepType;
+
+    private Integer procStepIsReferStock;
+
+    private Integer procStepIsReferOutSizeN;
+
+    private Integer procStepIsFKM;
+
+    private Integer procStepIsPackageScan;
+
+    private Long procStepSectionID;
+
+    private Integer procStepIsPrintLabel;
+
+    private Integer procStepIsNeedMeterNumber;
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/ClientMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.Client;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-11
+ */
+@Mapper
+public interface ClientMapper extends BaseMapper<Client> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/ProcStepMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.ProcStep;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-07
+ */
+@Mapper
+public interface ProcStepMapper extends BaseMapper<ProcStep> {
+
+}

+ 19 - 0
mjava-diwei/src/main/java/com/malk/diwei/service/ClientService.java

@@ -0,0 +1,19 @@
+package com.malk.diwei.service;
+
+import com.malk.diwei.entity.Client;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.malk.server.common.McR;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-11
+ */
+public interface ClientService extends IService<Client> {
+
+    McR syncClient();
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/service/ProcStepService.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.service;
+
+import com.malk.diwei.entity.ProcStep;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.malk.server.common.McR;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-07
+ */
+public interface ProcStepService extends IService<ProcStep> {
+
+    McR syncProcStep();
+}

+ 76 - 0
mjava-diwei/src/main/java/com/malk/diwei/service/impl/ClientServiceImpl.java

@@ -0,0 +1,76 @@
+package com.malk.diwei.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.malk.diwei.entity.Client;
+import com.malk.diwei.mapper.ClientMapper;
+import com.malk.diwei.service.ClientService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-11
+ */
+@Service
+public class ClientServiceImpl extends ServiceImpl<ClientMapper, Client> implements ClientService {
+    @Autowired
+    private ClientMapper clientMapper;
+
+    @Autowired
+    private YDClient ydClient;
+
+    @Override
+    public McR syncClient() {
+        LambdaQueryWrapper<Client> clientLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        clientLambdaQueryWrapper.eq(Client::getClientCategory, "0");//客户类型:不限
+        List<Client> clientList = clientMapper.selectList(clientLambdaQueryWrapper);
+
+        for (Client client : clientList) {
+            Map formData = new HashMap();
+
+            formData.put("textField_m843zjg9",client.getClientID());//客户id
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+            formData.put("textField_m7vidqxq",client.getClientName());//客户名称
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
+
+
+
+
+            ydClient.operateData(YDParam.builder()
+                    .formUuid("FORM-55BFAC57E0774F4FBC77295ACA75E09AZTL8")
+                    .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_m843zjg9",client.getClientID())))
+                    .formDataJson(JSONObject.toJSONString(formData))
+                    .build(), YDConf.FORM_OPERATION.upsert);
+
+        }
+
+
+
+
+
+
+        return null;
+    }
+}

+ 73 - 0
mjava-diwei/src/main/java/com/malk/diwei/service/impl/ProcStepServiceImpl.java

@@ -0,0 +1,73 @@
+package com.malk.diwei.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.malk.diwei.entity.ProcStep;
+import com.malk.diwei.mapper.ProcStepMapper;
+import com.malk.diwei.service.ProcStepService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-07
+ */
+@Service
+public class ProcStepServiceImpl extends ServiceImpl<ProcStepMapper, ProcStep> implements ProcStepService {
+    private static final Map PROC_STEP_TYPE = new HashMap();
+
+    static {
+        PROC_STEP_TYPE.put(1, "厂内工序");
+        PROC_STEP_TYPE.put(3, "裁剪工序");
+        PROC_STEP_TYPE.put(4, "工艺委外工序");
+    }
+
+    @Autowired
+    private ProcStepMapper procStepMapper;
+
+    @Autowired
+    private YDClient ydClient;
+
+    @Override
+    public McR syncProcStep() {
+        LambdaQueryWrapper<ProcStep>  procStepLambdaQueryWrapper = new LambdaQueryWrapper();
+        procStepLambdaQueryWrapper.eq(ProcStep::getProcStepType, 1);
+
+        List<ProcStep> list = procStepMapper.selectList(procStepLambdaQueryWrapper);
+
+        for (ProcStep procStep : list) {
+            Map formData = new HashMap();
+            formData.put("textField_m7y4xld9", procStep.getProcStepID());//工序id
+            formData.put("textField_m7y4xlce", procStep.getProcStepCode());//工序编码
+            formData.put("textField_m7y4xlcj",procStep.getProcStepName());//工序名称
+            formData.put("textareaField_m7y4xlcx",procStep.getProcStepDescription());//备注
+            formData.put("numberField_m7y4xlcv",procStep.getProcStepPrice());//工序价格
+            formData.put("numberField_m7y4xlcw",procStep.getProcStepHours());//工序工时
+            formData.put("textField_m7y4xlck",PROC_STEP_TYPE.get(procStep.getProcStepType()));//工序类型
+            formData.put("radioField_m7y4xlcu",procStep.getProcStepIsReferStock() == 1 ? "是" : "否");//是否参照库存
+            formData.put("radioField_m7y4xlcp",procStep.getProcStepIsReferOutSizeN() == 1 ? "是" : "否");//是否参照外尺寸
+
+            ydClient.operateData(YDParam.builder()
+                    .formUuid("FORM-E3E8CA72C68C43BBAF53A22B199AC9302SQK")
+                    .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_m7y4xld9", procStep.getProcStepID())))
+                    .formDataJson(JSONObject.toJSONString(formData))
+                    .build(), YDConf.FORM_OPERATION.upsert);
+        }
+
+        return McR.success();
+    }
+}

+ 44 - 0
mjava-diwei/src/main/java/com/malk/diwei/utils/MPGenerator.java

@@ -0,0 +1,44 @@
+package com.malk.diwei.utils;
+
+import com.baomidou.mybatisplus.generator.FastAutoGenerator;
+import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
+
+import java.sql.Types;
+
+public class MPGenerator {
+    public static void main(String[] args) {
+        //可以直接去官方文档上查看
+        FastAutoGenerator
+                .create("jdbc:sqlserver://47.98.200.166:1433;databaseName=GT_DB_Epi5",
+                        "dw", "Goodtek2008")
+                .globalConfig(builder -> {
+                    builder.author("WZY")
+                            .disableOpenDir()
+                            .outputDir(System.getProperty("user.dir")+
+                                    "/mjava-diwei/src/main/java");
+                })
+                .dataSourceConfig(builder ->
+                        builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
+                            int typeCode = metaInfo.getJdbcType().TYPE_CODE;
+                            if (typeCode == Types.SMALLINT) {
+                                return DbColumnType.INTEGER;
+                            }
+                            return typeRegistry.getColumnType(metaInfo);
+                        }))
+                .packageConfig(builder -> {
+                    builder.parent("com.malk.diwei")
+                            .controller("controller")
+                            .service("service")
+                            .serviceImpl("service.impl")
+                            .mapper("mapper")
+                            .entity("entity");
+                })
+                .strategyConfig(builder -> {
+                    builder.addInclude("Client")
+                            .entityBuilder().enableLombok();
+                })
+                .templateEngine(new VelocityTemplateEngine())
+                .execute();
+    }
+}

+ 44 - 0
mjava-diwei/src/main/resources/application-dev.yml

@@ -0,0 +1,44 @@
+server:
+  port: 9031
+  servlet:
+    context-path: /diwei
+
+enable:
+  scheduling: false
+logging:
+  config: classpath:logback-spring.xml
+  path: /home/server/diwei/log/
+  level:
+    com.malk.*: debug
+
+spring:
+  datasource:
+    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
+    url: jdbc:sqlserver://47.98.200.166:1433;databaseName=GT_DB_Epi5
+    username: dw
+    password: Goodtek2008
+
+mybatis-plus:
+  configuration:
+    #开启驼峰命名自动映射
+    map-underscore-to-camel-case: false
+    #开启日志打印
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  type-aliases-package: com.malk.diwei.entity
+  #扫描mapper文件
+  mapper-locations: classpath:mapper/*.xml
+
+# dingtalk
+dingtalk:
+  agentId:
+  appKey: dinglrt7qaqjmlnwaaul
+  appSecret: FBWNzNC8i9srucJmqo5iOo61icmbzA_dDquuIzVXYa2hSlP8aGIrhYPeQXemqy3Z
+  corpId:
+  aesKey:
+  token:
+  operator:
+
+aliwork:
+  appType: APP_D7TTZKL8C03JKEWCNW74
+  systemToken: TCC66771RQETFGT5DYPUGAXP4GRC29A6HCV7MV19
+

+ 27 - 0
mjava-diwei/src/main/resources/application-prod.yml

@@ -0,0 +1,27 @@
+server:
+  port: 9031
+  servlet:
+    context-path: /diwei
+
+enable:
+  scheduling: false
+logging:
+  config: classpath:logback-spring.xml
+  path: /home/server/diwei/log/
+  level:
+    com.malk.*: debug
+
+# dingtalk
+dingtalk:
+  agentId: 3366214854
+  appKey: dingntvkzjzxdx8h2m1s
+  appSecret: YfaV5mYOL4F--P8P_G9aD8DP_a8_IgM6dBILsSaTb4LeUZYSntacol55O1tJuqcU
+  corpId: ding923faa53d9d45937acaaa37764f94726
+  aesKey:
+  token:
+  operator: 344749020127590108
+
+aliwork:
+  appType: APP_XPPVVMG6HA0GNDPJV4C1
+  systemToken: 8R7668D1P92RSNTS7OKZG5UR9P333QA7GAJ4MTG
+

+ 15 - 0
mjava-diwei/src/main/resources/application.yml

@@ -0,0 +1,15 @@
+spring:
+  profiles:
+    active: dev
+  servlet:
+    multipart:
+      max-file-size: 100MB
+      max-request-size: 100MB
+  http:
+    enabled: false
+
+#  configuration:
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+  global-config:
+    db-config:
+      id-type: auto

+ 61 - 0
mjava-diwei/src/main/resources/logback-spring.xml

@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration debug="false" scan="false" scanPeriod="60 seconds">
+    <springProperty scope="context" name="LOG_HOME" source="logging.path" defaultValue="/home/server/log/"/>
+    <property name="FileNamePattern" value="${LOG_HOME}%d{yyyyMM}/%d{dd}"/>
+
+    <!-- 定义控制台输出 -->
+    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} - [%thread] - %-5level - %logger{50} - %msg%n</pattern>
+        </layout>
+    </appender>
+
+    <appender name="appLogAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
+        <!-- 指定日志文件的名称 -->
+        <!--<file>${FileNamePattern}/info.log</file>-->
+
+        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+            <fileNamePattern>${FileNamePattern}/info-%i.log</fileNamePattern>
+            <MaxHistory>30</MaxHistory>
+            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
+                <MaxFileSize>30MB</MaxFileSize>
+            </timeBasedFileNamingAndTriggeringPolicy>
+        </rollingPolicy>
+
+        <layout class="ch.qos.logback.classic.PatternLayout">
+            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [ %thread ] - [ %-5level ] [ %logger{50} : %line ] - %msg%n</pattern>
+        </layout>
+    </appender>
+
+    <appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
+        <discriminator>
+            <Key>processid</Key>
+            <DefaultValue>sys</DefaultValue>
+        </discriminator>
+        <sift>
+            <appender name="FILE-${processid}"
+                      class="ch.qos.logback.core.rolling.RollingFileAppender">
+                <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+                    <FileNamePattern>
+                        ${FileNamePattern}/${processid}.log
+                    </FileNamePattern>
+                </rollingPolicy>
+                <layout class="ch.qos.logback.classic.PatternLayout">
+                    <Pattern>
+                        %d{yyyyMMdd:HH:mm:ss.SSS} [%thread] %-5level %msg%n
+                    </Pattern>
+                </layout>
+            </appender>
+        </sift>
+    </appender>
+
+
+    <!-- 日志输出级别 -->
+    <logger name="org.springframework" level="debug"  additivity="false"/>
+    <logger name="com.malk.connecter" level="debug"/>
+    <root level="INFO">
+        <appender-ref ref="stdout"/>
+        <appender-ref ref="appLogAppender"/>
+        <appender-ref ref="SIFT"/>
+    </root>
+</configuration>