yangys
2024-01-15 7a7bbd009199b0edde43ce75a2379185b88abbb9
继承ureport2
已修改10个文件
已添加2个文件
632 ■■■■■ 文件已修改
mdc-parent/mdc-show/pom.xml 387 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/MdcApplication.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/config/Ureport2Config.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/controller/MachineAddController.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/controller/SysAccountController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/controller/account/MachineAccountAddController.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/service/account/MachineAccountAddService.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/service/account/MachineAccountEditService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/service/account/MachineAccountQueryService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/service/machine/MachineAddService.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/resources/application-dev.yml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/src/main/resources/context.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
mdc-parent/mdc-show/pom.xml
@@ -1,209 +1,217 @@
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.qianwen</groupId>
    <artifactId>mdc-parent</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </parent>
  <artifactId>mdc-show</artifactId>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.qianwen</groupId>
        <artifactId>mdc-parent</artifactId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <artifactId>mdc-show</artifactId>
    <name>mdc</name>
    <description>Mdc show program</description>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <druid.version>1.1.18</druid.version>
        <pagehelper.version>1.3.0</pagehelper.version>
        <springboot-thymeleaf.version>2.1.6.RELEASE</springboot-thymeleaf.version>
        <pagehelper.version>1.2.12</pagehelper.version>
        <fastjson.version>1.2.58</fastjson.version>
        <commons-io.version>2.10.0</commons-io.version>
        <commons-codec.version>1.10</commons-codec.version>
        <jedis.version>3.1.0</jedis.version>
        <nekohtml.version>1.9.22</nekohtml.version>
        <commons-pool2.version>2.6.2</commons-pool2.version>
        <jna.version>5.4.0</jna.version>
        <poi.version>4.1.2</poi.version>
        <poi-ooxml.version>4.1.2</poi-ooxml.version>
        <poi-ooxml-schemas.version>4.1.2</poi-ooxml-schemas.version>
        <skipTests>false</skipTests>
    </properties>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <druid.version>1.1.18</druid.version>
    <dependencies>
        <!-- spring boot begin -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>${springboot-thymeleaf.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>${pagehelper.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>${commons-pool2.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <pagehelper.version>1.3.0</pagehelper.version>
        <springboot-thymeleaf.version>2.1.6.RELEASE</springboot-thymeleaf.version>
        <pagehelper.version>1.2.12</pagehelper.version>
        <fastjson.version>1.2.58</fastjson.version>
        <commons-io.version>2.10.0</commons-io.version>
        <commons-codec.version>1.10</commons-codec.version>
        <!-- spring boot end -->
        <jedis.version>3.1.0</jedis.version>
        <nekohtml.version>1.9.22</nekohtml.version>
        <commons-pool2.version>2.6.2</commons-pool2.version>
        <jna.version>5.4.0</jna.version>
        <poi.version>4.1.2</poi.version>
        <poi-ooxml.version>4.1.2</poi-ooxml.version>
        <poi-ooxml-schemas.version>4.1.2</poi-ooxml-schemas.version>
        <skipTests>false</skipTests>
    </properties>
    <dependencies>
        <!-- spring boot begin -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>${druid.version}</version>
        </dependency>
        <dependency>
            <groupId>com.qianwen</groupId>
            <artifactId>mdc-showdb-mysql</artifactId>
            <version>${parent.version}</version>
        </dependency>
        <!--json-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>${springboot-thymeleaf.version}</version>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>${pagehelper.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>${commons-pool2.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <!--commons-codec-->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
        </dependency>
        <!-- spring boot end -->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>com.qianwen</groupId>
            <artifactId>mdc-showdb-mysql</artifactId>
            <version>${parent.version}</version>
        </dependency>
        <!--pagehelper-->
        <!--
        <!--json-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
        </dependency>
        <!--commons-codec-->
        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
        </dependency>
        <!--mybatis-->
        <!--pagehelper-->
        <!--
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>${pagehelper.version}</version>
        </dependency>
        -->
        <!--nekohtml-->
        <dependency>
            <groupId>net.sourceforge.nekohtml</groupId>
            <artifactId>nekohtml</artifactId>
            <version>${nekohtml.version}</version>
        </dependency>
        <!--nekohtml-->
        <dependency>
            <groupId>net.sourceforge.nekohtml</groupId>
            <artifactId>nekohtml</artifactId>
            <version>${nekohtml.version}</version>
        </dependency>
        <!-- <dependency>
            <groupId>org.opcfoundation</groupId>
            <artifactId>opc-ua</artifactId>
            <version>1.0.0</version>
        </dependency>  -->
        <!--jna-->
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
            <version>5.4.0</version>
        </dependency>
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna-platform</artifactId>
            <version>${jna.version}</version>
        </dependency>
        <!--jna-->
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna</artifactId>
            <version>5.4.0</version>
        </dependency>
        <dependency>
            <groupId>net.java.dev.jna</groupId>
            <artifactId>jna-platform</artifactId>
            <version>${jna.version}</version>
        </dependency>
        <!--poi-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>${poi.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>${poi-ooxml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>${poi-ooxml-schemas.version}</version>
        </dependency>
    </dependencies>
        <!--poi-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>${poi.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>${poi-ooxml.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml-schemas</artifactId>
            <version>${poi-ooxml-schemas.version}</version>
        </dependency>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
        <!-- ureport2 æŠ¥è¡¨-->
        <dependency>
            <groupId>com.kacheyi.ureport</groupId>
            <artifactId>ureport2-console</artifactId>
            <version>2.3.4-RELEASE</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>com.qianwen.mdc.MdcApplication</mainClass>
                    <!-- -->
                    <layout>ZIP</layout>
                    <includes>
                        <!-- æ‰“包时包含核心模块依赖包,需手动指定 -->
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                        <!--
                    <layout>ZIP</layout>
                    <includes>
                        <!-- æ‰“包时包含核心模块依赖包,需手动指定 -->
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                        <!--
                        <include>
                            <groupId>com.xxx</groupId>
                            <artifactId>common</artifactId>
                        </include>
                      -->
                    </includes>
                </configuration>
            </plugin>
            <!-- å°†ç¬¬ä¸‰æ–¹åŒ…拷贝到lib目录 -->
                    </includes>
                </configuration>
            </plugin>
            <!-- å°†ç¬¬ä¸‰æ–¹åŒ…拷贝到lib目录 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
@@ -214,25 +222,26 @@
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration><outputDirectory>${project.build.directory}/lib</outputDirectory>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/src/main/resources/lib/opcua</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/src/main/resources/lib/opcua</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/MdcApplication.java
@@ -6,7 +6,13 @@
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ImportResource;
import org.springframework.scheduling.annotation.EnableScheduling;
import com.kacheyi.ureport.console.UReportServlet;
/**
 * @author y_ys79
@@ -16,6 +22,9 @@
@ServletComponentScan(basePackages = "com.qianwen.mdc.listener")
@MapperScan("com.qianwen.mdc.mapper")
@EnableScheduling
@ImportResource("classpath:context.xml")
public class MdcApplication {
    private static final Logger logger = LoggerFactory.getLogger(MdcApplication.class);
    /**
@@ -25,8 +34,15 @@
    public static void main(String[] args) {
        logger.trace("starting MdcApplication");
        SpringApplication.run(MdcApplication.class, args);
        ConfigurableApplicationContext ctx = SpringApplication.run(MdcApplication.class, args);
        //Object p = ctx.getBean("ureport.props");
        //System.out.println(p);
    }
    
    @Bean
    public ServletRegistrationBean<UReportServlet> buildUReportServlet() {
        return new ServletRegistrationBean<UReportServlet>(new UReportServlet(), "/ureport/*");
    }
}
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/config/Ureport2Config.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,37 @@
package com.qianwen.mdc.config;
import java.util.Properties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.EnvironmentAware;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import com.kacheyi.ureport.UReportPropertyPlaceholderConfigurer;
@Configuration
//@PropertySource({"classpath:ureport.properties"})
public class Ureport2Config implements EnvironmentAware{
    @Autowired
    private Environment env;
    private final String dirKey = "ureport.fileStoreDir";
    @Bean
    public UReportPropertyPlaceholderConfigurer a() {
        UReportPropertyPlaceholderConfigurer configurer = new UReportPropertyPlaceholderConfigurer();
        String storeDir = env.getProperty(dirKey);
        if(storeDir != null) {//如果-D方式传入了参数,则使用-D的,否则使用ureport.properties中的值:/WEB-INF/ureportfiles
            Properties ps = new Properties();
            ps.setProperty(dirKey,storeDir);
            configurer.setProperties(ps);
        }
        return configurer;
    }
    @Override
    public void setEnvironment(Environment environment) {
        this.env = environment;
    }
}
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/controller/MachineAddController.java
@@ -15,7 +15,6 @@
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.qianwen.mdc.common.OpResult;
import com.qianwen.mdc.dto.MachineProtocolDTO;
@@ -59,26 +58,6 @@
        return OpResult.success();
    }
    /**
     *
     * @param file
     * @param machineId è®¾å¤‡id
     * @return
     */
    @PostMapping(value = "/uploadPic")
    public OpResult<String> uploadPic(MultipartFile file,Integer machineId) {
        try {
            String path = machineAddService.uploadPic(file,machineId);
            return OpResult.success(path);
        }catch(Exception ex) {
            logger.error("上传设备图片失败",ex);
            return OpResult.fail(ex.getMessage());
        }
    }
    
    /**
     * æŸ¥è¯¢æ‰€æœ‰è½¦é—´çš„列表,含内部工段
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/controller/SysAccountController.java
@@ -7,6 +7,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
@@ -35,7 +36,8 @@
    private AccountTokenService accountTokenService;
    @Resource
    private RedisUtil redisUtil;
    private static final Logger logger = LoggerFactory.getLogger(SysAccountController.class);
    
    /**
@@ -82,5 +84,15 @@
        
    }
    @GetMapping(value = "/s")
    public OpResult<Void> s(@RequestHeader(value = "mdc-token", defaultValue = "") String token) {
        try {
            return OpResult.success();
        }catch(Exception e) {
            logger.error("userlist查询异常",e);
            return OpResult.fail(e.getMessage());
        }
    }
}
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/controller/account/MachineAccountAddController.java
@@ -8,7 +8,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
@@ -16,6 +15,7 @@
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.qianwen.mdc.common.OpResult;
import com.qianwen.mdc.dto.account.MachineAccountEditDTO;
@@ -34,8 +34,6 @@
    @Autowired
    private MachineAccountAddService accountAddService;
    @Value("${uploadPath}")
    private String uploadPath;
    @Autowired
    private StaticData staticData;
    @Autowired
@@ -189,6 +187,25 @@
    }
    /**
     * ä¸Šä¼ æ–‡ä»¶
     * @param file
     * @param id å°è´¦id
     * @return
     */
    @PostMapping(value = "/uploadPic")
    public OpResult<String> uploadPic(MultipartFile file,Integer id) {
        try {
            String path = accountAddService.uploadPic(file,id);
            return OpResult.success(path);
        }catch(Exception ex) {
            logger.error("上传设备图片失败",ex);
            return OpResult.fail(ex.getMessage());
        }
    }
    @GetMapping(value = "/useDepartments")
    public OpResult<List<UseDepartmentDTO>> getDepartments() {
        
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/service/account/MachineAccountAddService.java
@@ -1,9 +1,20 @@
package com.qianwen.mdc.service.account;
import java.io.File;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import com.qianwen.mdc.domain.DomainException;
import com.qianwen.mdc.domain.MachineAccount;
import com.qianwen.mdc.domain.MachineSeq;
import com.qianwen.mdc.dto.account.MachineAccountEditDTO;
@@ -12,7 +23,7 @@
/**
 * @author y_ys79
 * ä¿å…»æ–°å¢žæœåŠ¡
 * è®¾å¤‡å°è´¦æ–°å¢žæœåŠ¡
 */
@Service
public class MachineAccountAddService {
@@ -20,6 +31,19 @@
    private MachineAccountMapper accountMapper;
    @Autowired
    private MachineSeqMapper seqMapper;
    /**
     * å›¾ç‰‡ä¸Šä¼ æœ¬åœ°è·¯å¾„
     */
    @Value("${upload.path}")
    private String uploadPath;
    /**
     * å›¾ç‰‡åŸºæœ¬è·¯å¾„
     */
    @Value("${upload.urlBase}")
    private String urlBase;
    private Logger logger = LoggerFactory.getLogger(getClass());
    @Transactional
    public void save(MachineAccountEditDTO dto) {
        
@@ -126,4 +150,47 @@
        seqMapper.insert(seq);
        return seq.getId();
    }
    /**
     * ä¸Šä¼ æœºåºŠå›¾ç‰‡,并保存到机床
     * @param file上传的文件对象
     * @param machineId è®¾å¤‡çš„id
     * @return å›¾ç‰‡ç›¸å¯¹è·¯å¾„
     */
    public String uploadPic(MultipartFile file,Integer id){
        String oriFileName = file.getOriginalFilename();
        String ext = FilenameUtils.getExtension(oriFileName);
        if(isPicFile(ext)) {
            throw new DomainException("非法图片文件,只允许jpg,png文件");
        }
        String endPath = generateFilePath(oriFileName);
        String fullFilePath = uploadPath +File.separator+endPath;
        File dest = new File(fullFilePath);
        String picUrl = urlBase+"/"+endPath.replaceAll("\\\\", "/");
        try {
            FileUtils.copyInputStreamToFile(file.getInputStream(), dest);
            MachineAccount ma = accountMapper.selectById(id);
            ma.setPic(picUrl);
            accountMapper.updateById(ma);
        } catch (Exception e) {
            logger.error("上传设备图片错误", e);
            throw new RuntimeException(e);
        }
        return picUrl;
    }
    String generateFilePath(String oriFileName) {
        String ext = FilenameUtils.getExtension(oriFileName);
        LocalDate date = LocalDate.now();
        return date.format(DateTimeFormatter.ofPattern("yyyyMMdd"))+File.separator+"p"+System.currentTimeMillis()+"."+ext;
    }
    boolean isPicFile(String fileExt) {
        return fileExt.isEmpty() || (!"jpg".equalsIgnoreCase(fileExt) && !"png".equalsIgnoreCase(fileExt));
    }
}
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/service/account/MachineAccountEditService.java
@@ -12,7 +12,7 @@
/**
 * @author y_ys79
 * å°è´¦ä¿®æ”¹æœåŠ¡
 * è®¾å¤‡å°è´¦ä¿®æ”¹æœåŠ¡
 */
@Service
public class MachineAccountEditService {
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/service/account/MachineAccountQueryService.java
@@ -1,7 +1,6 @@
package com.qianwen.mdc.service.account;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
mdc-parent/mdc-show/src/main/java/com/qianwen/mdc/service/machine/MachineAddService.java
@@ -36,8 +36,6 @@
    private MachineMapper machineMapper;
    @Autowired
    private MachineProtocolMapper machineProtocolMapper;
    @Value("${uploadPath}")
    private String uploadPath;
    
    private Logger logger = LoggerFactory.getLogger(getClass());
    
@@ -64,43 +62,7 @@
        machineMapper.insert(newMachine);
    }
    
    /**
     * ä¸Šä¼ è®¾å¤‡å›¾ç‰‡
     * @param file上传的文件对象
     * @param machineId è®¾å¤‡çš„id
     * @return å›¾ç‰‡ç›¸å¯¹è·¯å¾„
     */
    public String uploadPic(MultipartFile file,Integer machineId){
        String oriFileName = file.getOriginalFilename();
        String ext = FilenameUtils.getExtension(oriFileName);
        if(isPicFile(ext)) {
            throw new DomainException("非法图片文件,只允许jpg,png文件");
        }
        String endPath = generateFilePath(oriFileName);
        String fullFilePath = uploadPath +File.separator+endPath;
        File dest = new File(fullFilePath);
        try {
            FileUtils.copyInputStreamToFile(file.getInputStream(), dest);
        } catch (IOException e) {
            logger.error("上传设备图片错误", e);
            throw new RuntimeException(e);
        }
        return endPath.replaceAll("\\\\", "/");
    }
    
    String generateFilePath(String oriFileName) {
        String ext = FilenameUtils.getExtension(oriFileName);
        LocalDate date = LocalDate.now();
        return date.format(DateTimeFormatter.ofPattern("yyyyMMdd"))+File.separator+"p"+System.currentTimeMillis()+"."+ext;
    }
    boolean isPicFile(String fileExt) {
        return fileExt.isEmpty() || (!"jpg".equalsIgnoreCase(fileExt) && !"png".equalsIgnoreCase(fileExt));
    }
    /**
     * èŽ·å–æ‰€æœ‰åè®®åˆ—è¡¨
     * @return
mdc-parent/mdc-show/src/main/resources/application-dev.yml
@@ -42,8 +42,10 @@
        max-active: 20
        max-wait: 10000
        min-idle: 10
uploadPath:
  d:\mdcupload
upload:
  path: d:\mdc\upload
  urlBase: /upload
dnc:
  com:
    path: E:\test\Workshop
mdc-parent/mdc-show/src/main/resources/context.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <import resource="classpath:ureport-console-context.xml" />
    <!--
    <bean id="propertyConfigurer" parent="ureport.props">
        <property name="location">
            <value>classpath:config.properties</value>
        </property>
    </bean>
     -->
</beans>