2024年10月11日

This commit is contained in:
wzclm 2024-10-11 17:40:21 +08:00
parent bc1999d745
commit 9e9af3edf1
41652 changed files with 5564128 additions and 0 deletions

View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 清理生成路径。
echo.
%~d0
cd %~dp0
cd ..
call mvn clean
pause

View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 打包Web工程生成war/jar包文件。
echo.
%~d0
cd %~dp0
cd ..
call mvn clean package -Dmaven.test.skip=true
pause

View File

@ -0,0 +1,14 @@
@echo off
echo.
echo [<5B><>Ϣ] <20><><EFBFBD><EFBFBD>Web<65><62><EFBFBD>̡<EFBFBD>
echo.
cd %~dp0
cd ../neu-admin/target
set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m
java -jar %JAVA_OPTS% carbon.jar
cd bin
pause

View File

@ -0,0 +1,86 @@
#!/bin/bash
AppName=carbon.jar
#JVM参数
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512M -Xmx1024M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
APP_HOME=`pwd`
LOG_PATH=$APP_HOME/logs/$AppName.log
if [ "$1" = "" ];
then
echo -e "\033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m"
exit 1
fi
if [ "$AppName" = "" ];
then
echo -e "\033[0;31m 未输入应用名 \033[0m"
exit 1
fi
function start()
{
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
if [ x"$PID" != x"" ]; then
echo "$AppName is running..."
else
nohup java -jar $JVM_OPTS target/$AppName > /dev/null 2>&1 &
echo "Start $AppName success..."
fi
}
function stop()
{
echo "Stop $AppName"
PID=""
query(){
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
}
query
if [ x"$PID" != x"" ]; then
kill -TERM $PID
echo "$AppName (pid:$PID) exiting..."
while [ x"$PID" != x"" ]
do
sleep 1
query
done
echo "$AppName exited."
else
echo "$AppName already stopped."
fi
}
function restart()
{
stop
sleep 2
start
}
function status()
{
PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
if [ $PID != 0 ];then
echo "$AppName is running..."
else
echo "$AppName is not running..."
fi
}
case $1 in
start)
start;;
stop)
stop;;
restart)
restart;;
status)
status;;
*)
esac

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>neu-admin</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,4 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding/<project>=UTF-8

View File

@ -0,0 +1,5 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
<version>1</version>
<pluginVersion><![CDATA[3.8.4.201703310634-RELEASE]]></pluginVersion>
<configSuffixes>
<configSuffix><![CDATA[xml]]></configSuffix>
</configSuffixes>
<enableImports><![CDATA[false]]></enableImports>
<configs>
</configs>
<autoconfigs>
</autoconfigs>
<configSets>
</configSets>
</beansProjectDescription>

View File

@ -0,0 +1,138 @@
<?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">
<parent>
<artifactId>carbon</artifactId>
<groupId>com.neu</groupId>
<version>3.3.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>neu-admin</artifactId>
<description>
web服务入口
</description>
<dependencies>
<!-- spring-boot-devtools -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 表示依赖不会传递 -->
</dependency>
<!-- swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<!--防止进入swagger页面报类型转换错误排除2.9.2中的引用手动增加1.5.21版本 -->
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-annotations</artifactId>
<version>1.5.21</version>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-models</artifactId>
<version>1.5.21</version>
</dependency>
<!-- swagger2-UI -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<!-- Mysql驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 核心模块 -->
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-framework</artifactId>
</dependency>
<!-- 定时任务 -->
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-quartz</artifactId>
</dependency>
<!-- 代码生成 -->
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-generator</artifactId>
</dependency>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-common-biz</artifactId>
</dependency>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-carbon-footprint</artifactId>
</dependency>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-carbon-mes</artifactId>
</dependency>
<!--添加招投标 2023-04-21-->
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-carbon-bid</artifactId>
</dependency>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-carbon-report</artifactId>
</dependency>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-carbon-scm</artifactId>
</dependency>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-carbon-wms</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.1.RELEASE</version>
<configuration>
<fork>true</fork> <!-- 如果没有该配置devtools不会生效 -->
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<warName>${project.artifactId}</warName>
</configuration>
</plugin>
</plugins>
<finalName>carbon</finalName>
</build>
</project>

View File

@ -0,0 +1,21 @@
package com.neu;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
/**
* 启动程序
*
* @author neuedu
*/
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
public class NeuApplication
{
public static void main(String[] args)
{
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(NeuApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 启动成功 ლ(´ڡ`ლ)゙ \n");
}
}

View File

@ -0,0 +1,18 @@
package com.neu;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
* web容器中进行部署
*
* @author neuedu
*/
public class NeuServletInitializer extends SpringBootServletInitializer
{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application)
{
return application.sources(NeuApplication.class);
}
}

View File

@ -0,0 +1,86 @@
package com.neu.web.controller.common;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.concurrent.TimeUnit;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.FastByteArrayOutputStream;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.google.code.kaptcha.Producer;
import com.neu.common.constant.Constants;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.redis.RedisCache;
import com.neu.common.utils.sign.Base64;
import com.neu.common.utils.uuid.IdUtils;
/**
* 验证码操作处理
*
* @author neusoft
*/
@RestController
public class CaptchaController
{
@Resource(name = "captchaProducer")
private Producer captchaProducer;
@Resource(name = "captchaProducerMath")
private Producer captchaProducerMath;
@Autowired
private RedisCache redisCache;
// 验证码类型
@Value("${carbon.captchaType}")
private String captchaType;
/**
* 生成验证码
*/
@GetMapping("/captchaImage")
public AjaxResult getCode(HttpServletResponse response) throws IOException
{
// 保存验证码信息
String uuid = IdUtils.simpleUUID();
String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
String capStr = null, code = null;
BufferedImage image = null;
// 生成验证码
if ("math".equals(captchaType))
{
String capText = captchaProducerMath.createText();
capStr = capText.substring(0, capText.lastIndexOf("@"));
code = capText.substring(capText.lastIndexOf("@") + 1);
image = captchaProducerMath.createImage(capStr);
}
else if ("char".equals(captchaType))
{
capStr = code = captchaProducer.createText();
image = captchaProducer.createImage(capStr);
}
redisCache.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
// 转换流信息写出
FastByteArrayOutputStream os = new FastByteArrayOutputStream();
try
{
ImageIO.write(image, "jpg", os);
}
catch (IOException e)
{
return AjaxResult.error(e.getMessage());
}
AjaxResult ajax = AjaxResult.success();
ajax.put("uuid", uuid);
ajax.put("img", Base64.encode(os.toByteArray()));
return ajax;
}
}

View File

@ -0,0 +1,120 @@
package com.neu.web.controller.common;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.neu.common.config.NeuConfig;
import com.neu.common.constant.Constants;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.utils.StringUtils;
import com.neu.common.utils.file.FileUploadUtils;
import com.neu.common.utils.file.FileUtils;
import com.neu.framework.config.ServerConfig;
/**
* 通用请求处理
*
* @author neusoft
*/
@RestController
public class CommonController
{
private static final Logger log = LoggerFactory.getLogger(CommonController.class);
@Autowired
private ServerConfig serverConfig;
/**
* 通用下载请求
*
* @param fileName 文件名称
* @param delete 是否删除
*/
@GetMapping("common/download")
public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request)
{
try
{
if (!FileUtils.checkAllowDownload(fileName))
{
throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName));
}
String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1);
String filePath = NeuConfig.getDownloadPath() + fileName;
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, realFileName);
FileUtils.writeBytes(filePath, response.getOutputStream());
if (delete)
{
FileUtils.deleteFile(filePath);
}
}
catch (Exception e)
{
log.error("下载文件失败", e);
}
}
/**
* 通用上传请求
*/
@PostMapping("/common/upload")
public AjaxResult uploadFile(MultipartFile file) throws Exception
{
try
{
// 上传文件路径
String filePath = NeuConfig.getUploadPath();
// 上传并返回新文件名称
String fileName = FileUploadUtils.upload(filePath, file);
String url = serverConfig.getUrl() + fileName;
AjaxResult ajax = AjaxResult.success();
ajax.put("fileName", fileName);
ajax.put("originalFileName", file.getOriginalFilename());
ajax.put("url", url);
return ajax;
}
catch (Exception e)
{
return AjaxResult.error(e.getMessage());
}
}
/**
* 本地资源通用下载
*/
@GetMapping("/common/download/resource")
public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response)
throws Exception
{
try
{
if (!FileUtils.checkAllowDownload(resource))
{
throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource));
}
// 本地资源路径
String localPath = NeuConfig.getProfile();
// 数据库资源地址
String downloadPath = localPath + StringUtils.substringAfter(resource, Constants.RESOURCE_PREFIX);
// 下载名称
String downloadName = StringUtils.substringAfterLast(downloadPath, "/");
response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
FileUtils.setAttachmentResponseHeader(response, downloadName);
FileUtils.writeBytes(downloadPath, response.getOutputStream());
}
catch (Exception e)
{
log.error("下载文件失败", e);
}
}
}

View File

@ -0,0 +1,54 @@
package com.neu.web.controller.monitor;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.utils.StringUtils;
/**
* 缓存监控
*
* @author neusoft
*/
@RestController
@RequestMapping("/monitor/cache")
public class CacheController
{
@Autowired
private RedisTemplate<String, String> redisTemplate;
@PreAuthorize("@ss.hasPermi('monitor:cache:list')")
@GetMapping()
public AjaxResult getInfo() throws Exception
{
Properties info = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info());
Properties commandStats = (Properties) redisTemplate.execute((RedisCallback<Object>) connection -> connection.info("commandstats"));
Object dbSize = redisTemplate.execute((RedisCallback<Object>) connection -> connection.dbSize());
Map<String, Object> result = new HashMap<>(3);
result.put("info", info);
result.put("dbSize", dbSize);
List<Map<String, String>> pieList = new ArrayList<>();
commandStats.stringPropertyNames().forEach(key -> {
Map<String, String> data = new HashMap<>(2);
String property = commandStats.getProperty(key);
data.put("name", StringUtils.removeStart(key, "cmdstat_"));
data.put("value", StringUtils.substringBetween(property, "calls=", ",usec"));
pieList.add(data);
});
result.put("commandStats", pieList);
return AjaxResult.success(result);
}
}

View File

@ -0,0 +1,28 @@
package com.neu.web.controller.monitor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.framework.web.domain.Server;
/**
* 服务器监控
*
* @author neusoft
*/
@RestController
@RequestMapping("/monitor/server")
public class ServerController
{
@PreAuthorize("@ss.hasPermi('monitor:server:list')")
@GetMapping()
public AjaxResult getInfo() throws Exception
{
Server server = new Server();
server.copyTo();
return AjaxResult.success(server);
}
}

View File

@ -0,0 +1,68 @@
package com.neu.web.controller.monitor;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.system.domain.SysLogininfor;
import com.neu.system.service.ISysLogininforService;
/**
* 系统访问记录
*
* @author neusoft
*/
@RestController
@RequestMapping("/monitor/logininfor")
public class SysLogininforController extends BaseController
{
@Autowired
private ISysLogininforService logininforService;
@PreAuthorize("@ss.hasPermi('monitor:logininfor:list')")
@GetMapping("/list")
public TableDataInfo list(SysLogininfor logininfor)
{
startPage();
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
return getDataTable(list);
}
@Log(title = "登录日志", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('monitor:logininfor:export')")
@GetMapping("/export")
public AjaxResult export(SysLogininfor logininfor)
{
List<SysLogininfor> list = logininforService.selectLogininforList(logininfor);
ExcelUtil<SysLogininfor> util = new ExcelUtil<SysLogininfor>(SysLogininfor.class);
return util.exportExcel(list, "登录日志");
}
@PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')")
@Log(title = "登录日志", businessType = BusinessType.DELETE)
@DeleteMapping("/{infoIds}")
public AjaxResult remove(@PathVariable Long[] infoIds)
{
return toAjax(logininforService.deleteLogininforByIds(infoIds));
}
@PreAuthorize("@ss.hasPermi('monitor:logininfor:remove')")
@Log(title = "登录日志", businessType = BusinessType.CLEAN)
@DeleteMapping("/clean")
public AjaxResult clean()
{
logininforService.cleanLogininfor();
return AjaxResult.success();
}
}

View File

@ -0,0 +1,67 @@
package com.neu.web.controller.monitor;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.system.domain.SysOperLog;
import com.neu.system.service.ISysOperLogService;
/**
* 操作日志记录
*
* @author neusoft
*/
@RestController
@RequestMapping("/monitor/operlog")
public class SysOperlogController extends BaseController
{
@Autowired
private ISysOperLogService operLogService;
@PreAuthorize("@ss.hasPermi('monitor:operlog:list')")
@GetMapping("/list")
public TableDataInfo list(SysOperLog operLog)
{
startPage();
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
return getDataTable(list);
}
@Log(title = "操作日志", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('monitor:operlog:export')")
@GetMapping("/export")
public AjaxResult export(SysOperLog operLog)
{
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
ExcelUtil<SysOperLog> util = new ExcelUtil<SysOperLog>(SysOperLog.class);
return util.exportExcel(list, "操作日志");
}
@PreAuthorize("@ss.hasPermi('monitor:operlog:remove')")
@DeleteMapping("/{operIds}")
public AjaxResult remove(@PathVariable Long[] operIds)
{
return toAjax(operLogService.deleteOperLogByIds(operIds));
}
@Log(title = "操作日志", businessType = BusinessType.CLEAN)
@PreAuthorize("@ss.hasPermi('monitor:operlog:remove')")
@DeleteMapping("/clean")
public AjaxResult clean()
{
operLogService.cleanOperLog();
return AjaxResult.success();
}
}

View File

@ -0,0 +1,93 @@
package com.neu.web.controller.monitor;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.constant.Constants;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.model.LoginUser;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.core.redis.RedisCache;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.StringUtils;
import com.neu.system.domain.SysUserOnline;
import com.neu.system.service.ISysUserOnlineService;
/**
* 在线用户监控
*
* @author neusoft
*/
@RestController
@RequestMapping("/monitor/online")
public class SysUserOnlineController extends BaseController
{
@Autowired
private ISysUserOnlineService userOnlineService;
@Autowired
private RedisCache redisCache;
@PreAuthorize("@ss.hasPermi('monitor:online:list')")
@GetMapping("/list")
public TableDataInfo list(String ipaddr, String userName)
{
Collection<String> keys = redisCache.keys(Constants.LOGIN_TOKEN_KEY + "*");
List<SysUserOnline> userOnlineList = new ArrayList<SysUserOnline>();
for (String key : keys)
{
LoginUser user = redisCache.getCacheObject(key);
if (StringUtils.isNotEmpty(ipaddr) && StringUtils.isNotEmpty(userName))
{
if (StringUtils.equals(ipaddr, user.getIpaddr()) && StringUtils.equals(userName, user.getUsername()))
{
userOnlineList.add(userOnlineService.selectOnlineByInfo(ipaddr, userName, user));
}
}
else if (StringUtils.isNotEmpty(ipaddr))
{
if (StringUtils.equals(ipaddr, user.getIpaddr()))
{
userOnlineList.add(userOnlineService.selectOnlineByIpaddr(ipaddr, user));
}
}
else if (StringUtils.isNotEmpty(userName) && StringUtils.isNotNull(user.getUser()))
{
if (StringUtils.equals(userName, user.getUsername()))
{
userOnlineList.add(userOnlineService.selectOnlineByUserName(userName, user));
}
}
else
{
userOnlineList.add(userOnlineService.loginUserToUserOnline(user));
}
}
Collections.reverse(userOnlineList);
userOnlineList.removeAll(Collections.singleton(null));
return getDataTable(userOnlineList);
}
/**
* 强退用户
*/
@PreAuthorize("@ss.hasPermi('monitor:online:forceLogout')")
@Log(title = "在线用户", businessType = BusinessType.FORCE)
@DeleteMapping("/{tokenId}")
public AjaxResult forceLogout(@PathVariable String tokenId)
{
redisCache.deleteObject(Constants.LOGIN_TOKEN_KEY + tokenId);
return AjaxResult.success();
}
}

View File

@ -0,0 +1,136 @@
package com.neu.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.annotation.RepeatSubmit;
import com.neu.common.constant.UserConstants;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.system.domain.SysConfig;
import com.neu.system.service.ISysConfigService;
/**
* 参数配置 信息操作处理
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/config")
public class SysConfigController extends BaseController
{
@Autowired
private ISysConfigService configService;
/**
* 获取参数配置列表
*/
@PreAuthorize("@ss.hasPermi('system:config:list')")
@GetMapping("/list")
public TableDataInfo list(SysConfig config)
{
startPage();
List<SysConfig> list = configService.selectConfigList(config);
return getDataTable(list);
}
@Log(title = "参数管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:config:export')")
@GetMapping("/export")
public AjaxResult export(SysConfig config)
{
List<SysConfig> list = configService.selectConfigList(config);
ExcelUtil<SysConfig> util = new ExcelUtil<SysConfig>(SysConfig.class);
return util.exportExcel(list, "参数数据");
}
/**
* 根据参数编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:config:query')")
@GetMapping(value = "/{configId}")
public AjaxResult getInfo(@PathVariable Long configId)
{
return AjaxResult.success(configService.selectConfigById(configId));
}
/**
* 根据参数键名查询参数值
*/
@GetMapping(value = "/configKey/{configKey}")
public AjaxResult getConfigKey(@PathVariable String configKey)
{
return AjaxResult.success(configService.selectConfigByKey(configKey));
}
/**
* 新增参数配置
*/
@PreAuthorize("@ss.hasPermi('system:config:add')")
@Log(title = "参数管理", businessType = BusinessType.INSERT)
@PostMapping
@RepeatSubmit
public AjaxResult add(@Validated @RequestBody SysConfig config)
{
if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config)))
{
return AjaxResult.error("新增参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
config.setCreateBy(SecurityUtils.getUsername());
return toAjax(configService.insertConfig(config));
}
/**
* 修改参数配置
*/
@PreAuthorize("@ss.hasPermi('system:config:edit')")
@Log(title = "参数管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysConfig config)
{
if (UserConstants.NOT_UNIQUE.equals(configService.checkConfigKeyUnique(config)))
{
return AjaxResult.error("修改参数'" + config.getConfigName() + "'失败,参数键名已存在");
}
config.setUpdateBy(SecurityUtils.getUsername());
return toAjax(configService.updateConfig(config));
}
/**
* 删除参数配置
*/
@PreAuthorize("@ss.hasPermi('system:config:remove')")
@Log(title = "参数管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{configIds}")
public AjaxResult remove(@PathVariable Long[] configIds)
{
return toAjax(configService.deleteConfigByIds(configIds));
}
/**
* 清空缓存
*/
@PreAuthorize("@ss.hasPermi('system:config:remove')")
@Log(title = "参数管理", businessType = BusinessType.CLEAN)
@DeleteMapping("/clearCache")
public AjaxResult clearCache()
{
configService.clearCache();
return AjaxResult.success();
}
}

View File

@ -0,0 +1,164 @@
package com.neu.web.controller.system;
import java.util.Iterator;
import java.util.List;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.constant.UserConstants;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.entity.SysDept;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.StringUtils;
import com.neu.system.service.ISysDeptService;
/**
* 部门信息
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/dept")
public class SysDeptController extends BaseController
{
@Autowired
private ISysDeptService deptService;
/**
* 获取部门列表
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list")
public AjaxResult list(SysDept dept)
{
List<SysDept> depts = deptService.selectDeptList(dept);
return AjaxResult.success(depts);
}
/**
* 查询部门列表排除节点
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')")
@GetMapping("/list/exclude/{deptId}")
public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
{
List<SysDept> depts = deptService.selectDeptList(new SysDept());
Iterator<SysDept> it = depts.iterator();
while (it.hasNext())
{
SysDept d = (SysDept) it.next();
if (d.getDeptId().intValue() == deptId
|| ArrayUtils.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""))
{
it.remove();
}
}
return AjaxResult.success(depts);
}
/**
* 根据部门编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:dept:query')")
@GetMapping(value = "/{deptId}")
public AjaxResult getInfo(@PathVariable Long deptId)
{
return AjaxResult.success(deptService.selectDeptById(deptId));
}
/**
* 获取部门下拉树列表
*/
@GetMapping("/treeselect")
public AjaxResult treeselect(SysDept dept)
{
List<SysDept> depts = deptService.selectDeptList(dept);
return AjaxResult.success(deptService.buildDeptTreeSelect(depts));
}
/**
* 加载对应角色部门列表树
*/
@GetMapping(value = "/roleDeptTreeselect/{roleId}")
public AjaxResult roleDeptTreeselect(@PathVariable("roleId") Long roleId)
{
List<SysDept> depts = deptService.selectDeptList(new SysDept());
AjaxResult ajax = AjaxResult.success();
ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
ajax.put("depts", deptService.buildDeptTreeSelect(depts));
return ajax;
}
/**
* 新增部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:add')")
@Log(title = "部门管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysDept dept)
{
if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
{
return AjaxResult.error("新增部门'" + dept.getDeptName() + "'失败,部门名称已存在");
}
dept.setCreateBy(SecurityUtils.getUsername());
return toAjax(deptService.insertDept(dept));
}
/**
* 修改部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:edit')")
@Log(title = "部门管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysDept dept)
{
if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
{
return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,部门名称已存在");
}
else if (dept.getParentId().equals(dept.getDeptId()))
{
return AjaxResult.error("修改部门'" + dept.getDeptName() + "'失败,上级部门不能是自己");
}
else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
&& deptService.selectNormalChildrenDeptById(dept.getDeptId()) > 0)
{
return AjaxResult.error("该部门包含未停用的子部门!");
}
dept.setUpdateBy(SecurityUtils.getUsername());
return toAjax(deptService.updateDept(dept));
}
/**
* 删除部门
*/
@PreAuthorize("@ss.hasPermi('system:dept:remove')")
@Log(title = "部门管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{deptId}")
public AjaxResult remove(@PathVariable Long deptId)
{
if (deptService.hasChildByDeptId(deptId))
{
return AjaxResult.error("存在下级部门,不允许删除");
}
if (deptService.checkDeptExistUser(deptId))
{
return AjaxResult.error("部门存在用户,不允许删除");
}
return toAjax(deptService.deleteDeptById(deptId));
}
}

View File

@ -0,0 +1,132 @@
package com.neu.web.controller.system;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.entity.SysDictData;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.StringUtils;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.system.service.ISysDictDataService;
import com.neu.system.service.ISysDictTypeService;
/**
* 数据字典信息
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/dict/data")
public class SysDictDataController extends BaseController
{
@Autowired
private ISysDictDataService dictDataService;
@Autowired
private ISysDictTypeService dictTypeService;
@PreAuthorize("@ss.hasPermi('system:dict:list')")
@GetMapping("/list")
public TableDataInfo list(SysDictData dictData)
{
startPage();
List<SysDictData> list = dictDataService.selectDictDataList(dictData);
return getDataTable(list);
}
@Log(title = "字典数据", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:dict:export')")
@GetMapping("/export")
public AjaxResult export(SysDictData dictData)
{
List<SysDictData> list = dictDataService.selectDictDataList(dictData);
ExcelUtil<SysDictData> util = new ExcelUtil<SysDictData>(SysDictData.class);
return util.exportExcel(list, "字典数据");
}
/**
* 查询字典数据详细
*/
@PreAuthorize("@ss.hasPermi('system:dict:query')")
@GetMapping(value = "/{dictCode}")
public AjaxResult getInfo(@PathVariable Long dictCode)
{
return AjaxResult.success(dictDataService.selectDictDataById(dictCode));
}
/**
* 根据字典类型查询字典数据信息
*/
@GetMapping(value = "/type/{dictType}")
public AjaxResult dictType(@PathVariable String dictType)
{
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
if (StringUtils.isNull(data))
{
data = new ArrayList<SysDictData>();
}
return AjaxResult.success(data);
}
@GetMapping(value = "/type/front/{dictType}")
public AjaxResult dictTypeFront(@PathVariable String dictType)
{
List<SysDictData> data = dictTypeService.selectDictDataByType(dictType);
if (StringUtils.isNull(data))
{
data = new ArrayList<SysDictData>();
}
return AjaxResult.success(data);
}
/**
* 新增字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:add')")
@Log(title = "字典数据", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysDictData dict)
{
dict.setCreateBy(SecurityUtils.getUsername());
return toAjax(dictDataService.insertDictData(dict));
}
/**
* 修改保存字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:edit')")
@Log(title = "字典数据", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysDictData dict)
{
dict.setUpdateBy(SecurityUtils.getUsername());
return toAjax(dictDataService.updateDictData(dict));
}
/**
* 删除字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:remove')")
@Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictCodes}")
public AjaxResult remove(@PathVariable Long[] dictCodes)
{
return toAjax(dictDataService.deleteDictDataByIds(dictCodes));
}
}

View File

@ -0,0 +1,132 @@
package com.neu.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.constant.UserConstants;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.entity.SysDictType;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.system.service.ISysDictTypeService;
/**
* 数据字典信息
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/dict/type")
public class SysDictTypeController extends BaseController
{
@Autowired
private ISysDictTypeService dictTypeService;
@PreAuthorize("@ss.hasPermi('system:dict:list')")
@GetMapping("/list")
public TableDataInfo list(SysDictType dictType)
{
startPage();
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
return getDataTable(list);
}
@Log(title = "字典类型", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:dict:export')")
@GetMapping("/export")
public AjaxResult export(SysDictType dictType)
{
List<SysDictType> list = dictTypeService.selectDictTypeList(dictType);
ExcelUtil<SysDictType> util = new ExcelUtil<SysDictType>(SysDictType.class);
return util.exportExcel(list, "字典类型");
}
/**
* 查询字典类型详细
*/
@PreAuthorize("@ss.hasPermi('system:dict:query')")
@GetMapping(value = "/{dictId}")
public AjaxResult getInfo(@PathVariable Long dictId)
{
return AjaxResult.success(dictTypeService.selectDictTypeById(dictId));
}
/**
* 新增字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:add')")
@Log(title = "字典类型", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysDictType dict)
{
if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict)))
{
return AjaxResult.error("新增字典'" + dict.getDictName() + "'失败,字典类型已存在");
}
dict.setCreateBy(SecurityUtils.getUsername());
return toAjax(dictTypeService.insertDictType(dict));
}
/**
* 修改字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:edit')")
@Log(title = "字典类型", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysDictType dict)
{
if (UserConstants.NOT_UNIQUE.equals(dictTypeService.checkDictTypeUnique(dict)))
{
return AjaxResult.error("修改字典'" + dict.getDictName() + "'失败,字典类型已存在");
}
dict.setUpdateBy(SecurityUtils.getUsername());
return toAjax(dictTypeService.updateDictType(dict));
}
/**
* 删除字典类型
*/
@PreAuthorize("@ss.hasPermi('system:dict:remove')")
@Log(title = "字典类型", businessType = BusinessType.DELETE)
@DeleteMapping("/{dictIds}")
public AjaxResult remove(@PathVariable Long[] dictIds)
{
return toAjax(dictTypeService.deleteDictTypeByIds(dictIds));
}
/**
* 清空缓存
*/
@PreAuthorize("@ss.hasPermi('system:dict:remove')")
@Log(title = "字典类型", businessType = BusinessType.CLEAN)
@DeleteMapping("/clearCache")
public AjaxResult clearCache()
{
dictTypeService.clearCache();
return AjaxResult.success();
}
/**
* 获取字典选择框列表
*/
@GetMapping("/optionselect")
public AjaxResult optionselect()
{
List<SysDictType> dictTypes = dictTypeService.selectDictTypeAll();
return AjaxResult.success(dictTypes);
}
}

View File

@ -0,0 +1,106 @@
package com.neu.web.controller.system;
import java.util.List;
import java.util.Set;
import cn.hutool.core.collection.CollectionUtil;
import com.neu.carbon.bid.domain.BidEnterprise;
import com.neu.carbon.bid.service.IBidEnterpriseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.constant.Constants;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.entity.SysMenu;
import com.neu.common.core.domain.entity.SysUser;
import com.neu.common.core.domain.model.LoginBody;
import com.neu.common.core.domain.model.LoginUser;
import com.neu.common.utils.ServletUtils;
import com.neu.framework.web.service.SysLoginService;
import com.neu.framework.web.service.SysPermissionService;
import com.neu.framework.web.service.TokenService;
import com.neu.system.service.ISysMenuService;
/**
* 登录验证
*
* @author neusoft
*/
@RestController
public class SysLoginController
{
@Autowired
private SysLoginService loginService;
@Autowired
private ISysMenuService menuService;
@Autowired
private SysPermissionService permissionService;
@Autowired
private TokenService tokenService;
@Autowired
private IBidEnterpriseService enterpriseService;
/**
* 登录方法
*
* @param loginBody 登录信息
* @return 结果
*/
@PostMapping("/login")
public AjaxResult login(@RequestBody LoginBody loginBody)
{
AjaxResult ajax = AjaxResult.success();
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(),
loginBody.getUuid());
ajax.put(Constants.TOKEN, token);
return ajax;
}
/**
* 获取用户信息
*
* @return 用户信息
*/
@GetMapping("getInfo")
public AjaxResult getInfo()
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
SysUser user = loginUser.getUser();
// 角色集合
Set<String> roles = permissionService.getRolePermission(user);
// 权限集合
Set<String> permissions = permissionService.getMenuPermission(user);
AjaxResult ajax = AjaxResult.success();
BidEnterprise bidEnterprise = new BidEnterprise();
bidEnterprise.setUserName(user.getUserName());
List<BidEnterprise> list = enterpriseService.selectBidEnterpriseList(bidEnterprise);
if (CollectionUtil.isNotEmpty(list)) {
ajax.put("userId", list.get(0).getId().toString());
}
ajax.put("user", user);
ajax.put("roles", roles);
ajax.put("permissions", permissions);
return ajax;
}
/**
* 获取路由信息
*
* @return 路由信息
*/
@GetMapping("getRouters")
public AjaxResult getRouters()
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
// 用户信息
SysUser user = loginUser.getUser();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(user.getUserId());
return AjaxResult.success(menuService.buildMenus(menus));
}
}

View File

@ -0,0 +1,158 @@
package com.neu.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.constant.Constants;
import com.neu.common.constant.UserConstants;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.entity.SysMenu;
import com.neu.common.core.domain.model.LoginUser;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.ServletUtils;
import com.neu.common.utils.StringUtils;
import com.neu.framework.web.service.TokenService;
import com.neu.system.service.ISysMenuService;
/**
* 菜单信息
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/menu")
public class SysMenuController extends BaseController
{
@Autowired
private ISysMenuService menuService;
@Autowired
private TokenService tokenService;
/**
* 获取菜单列表
*/
@PreAuthorize("@ss.hasPermi('system:menu:list')")
@GetMapping("/list")
public AjaxResult list(SysMenu menu)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
Long userId = loginUser.getUser().getUserId();
List<SysMenu> menus = menuService.selectMenuList(menu, userId);
return AjaxResult.success(menus);
}
/**
* 根据菜单编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:menu:query')")
@GetMapping(value = "/{menuId}")
public AjaxResult getInfo(@PathVariable Long menuId)
{
return AjaxResult.success(menuService.selectMenuById(menuId));
}
/**
* 获取菜单下拉树列表
*/
@GetMapping("/treeselect")
public AjaxResult treeselect(SysMenu menu)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
Long userId = loginUser.getUser().getUserId();
List<SysMenu> menus = menuService.selectMenuList(menu, userId);
return AjaxResult.success(menuService.buildMenuTreeSelect(menus));
}
/**
* 加载对应角色菜单列表树
*/
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
List<SysMenu> menus = menuService.selectMenuList(loginUser.getUser().getUserId());
AjaxResult ajax = AjaxResult.success();
ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
ajax.put("menus", menuService.buildMenuTreeSelect(menus));
return ajax;
}
/**
* 新增菜单
*/
@PreAuthorize("@ss.hasPermi('system:menu:add')")
@Log(title = "菜单管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysMenu menu)
{
if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu)))
{
return AjaxResult.error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
}
else if (UserConstants.YES_FRAME.equals(menu.getIsFrame())
&& !StringUtils.startsWithAny(menu.getPath(), Constants.HTTP, Constants.HTTPS))
{
return AjaxResult.error("新增菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
}
menu.setCreateBy(SecurityUtils.getUsername());
return toAjax(menuService.insertMenu(menu));
}
/**
* 修改菜单
*/
@PreAuthorize("@ss.hasPermi('system:menu:edit')")
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysMenu menu)
{
if (UserConstants.NOT_UNIQUE.equals(menuService.checkMenuNameUnique(menu)))
{
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
}
else if (UserConstants.YES_FRAME.equals(menu.getIsFrame())
&& !StringUtils.startsWithAny(menu.getPath(), Constants.HTTP, Constants.HTTPS))
{
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
}
else if (menu.getMenuId().equals(menu.getParentId()))
{
return AjaxResult.error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
}
menu.setUpdateBy(SecurityUtils.getUsername());
return toAjax(menuService.updateMenu(menu));
}
/**
* 删除菜单
*/
@PreAuthorize("@ss.hasPermi('system:menu:remove')")
@Log(title = "菜单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{menuId}")
public AjaxResult remove(@PathVariable("menuId") Long menuId)
{
if (menuService.hasChildByMenuId(menuId))
{
return AjaxResult.error("存在子菜单,不允许删除");
}
if (menuService.checkMenuExistRole(menuId))
{
return AjaxResult.error("菜单已分配,不允许删除");
}
return toAjax(menuService.deleteMenuById(menuId));
}
}

View File

@ -0,0 +1,93 @@
package com.neu.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.system.domain.SysNotice;
import com.neu.system.service.ISysNoticeService;
/**
* 公告 信息操作处理
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/notice")
public class SysNoticeController extends BaseController
{
@Autowired
private ISysNoticeService noticeService;
/**
* 获取通知公告列表
*/
@PreAuthorize("@ss.hasPermi('system:notice:list')")
@GetMapping("/list")
public TableDataInfo list(SysNotice notice)
{
startPage();
List<SysNotice> list = noticeService.selectNoticeList(notice);
return getDataTable(list);
}
/**
* 根据通知公告编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:notice:query')")
@GetMapping(value = "/{noticeId}")
public AjaxResult getInfo(@PathVariable Long noticeId)
{
return AjaxResult.success(noticeService.selectNoticeById(noticeId));
}
/**
* 新增通知公告
*/
@PreAuthorize("@ss.hasPermi('system:notice:add')")
@Log(title = "通知公告", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysNotice notice)
{
notice.setCreateBy(SecurityUtils.getUsername());
return toAjax(noticeService.insertNotice(notice));
}
/**
* 修改通知公告
*/
@PreAuthorize("@ss.hasPermi('system:notice:edit')")
@Log(title = "通知公告", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysNotice notice)
{
notice.setUpdateBy(SecurityUtils.getUsername());
return toAjax(noticeService.updateNotice(notice));
}
/**
* 删除通知公告
*/
@PreAuthorize("@ss.hasPermi('system:notice:remove')")
@Log(title = "通知公告", businessType = BusinessType.DELETE)
@DeleteMapping("/{noticeIds}")
public AjaxResult remove(@PathVariable Long[] noticeIds)
{
return toAjax(noticeService.deleteNoticeByIds(noticeIds));
}
}

View File

@ -0,0 +1,131 @@
package com.neu.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.constant.UserConstants;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.system.domain.SysPost;
import com.neu.system.service.ISysPostService;
/**
* 岗位信息操作处理
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/post")
public class SysPostController extends BaseController
{
@Autowired
private ISysPostService postService;
/**
* 获取岗位列表
*/
@PreAuthorize("@ss.hasPermi('system:post:list')")
@GetMapping("/list")
public TableDataInfo list(SysPost post)
{
startPage();
List<SysPost> list = postService.selectPostList(post);
return getDataTable(list);
}
@Log(title = "岗位管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:post:export')")
@GetMapping("/export")
public AjaxResult export(SysPost post)
{
List<SysPost> list = postService.selectPostList(post);
ExcelUtil<SysPost> util = new ExcelUtil<SysPost>(SysPost.class);
return util.exportExcel(list, "岗位数据");
}
/**
* 根据岗位编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:post:query')")
@GetMapping(value = "/{postId}")
public AjaxResult getInfo(@PathVariable Long postId)
{
return AjaxResult.success(postService.selectPostById(postId));
}
/**
* 新增岗位
*/
@PreAuthorize("@ss.hasPermi('system:post:add')")
@Log(title = "岗位管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysPost post)
{
if (UserConstants.NOT_UNIQUE.equals(postService.checkPostNameUnique(post)))
{
return AjaxResult.error("新增岗位'" + post.getPostName() + "'失败,岗位名称已存在");
}
else if (UserConstants.NOT_UNIQUE.equals(postService.checkPostCodeUnique(post)))
{
return AjaxResult.error("新增岗位'" + post.getPostName() + "'失败,岗位编码已存在");
}
post.setCreateBy(SecurityUtils.getUsername());
return toAjax(postService.insertPost(post));
}
/**
* 修改岗位
*/
@PreAuthorize("@ss.hasPermi('system:post:edit')")
@Log(title = "岗位管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysPost post)
{
if (UserConstants.NOT_UNIQUE.equals(postService.checkPostNameUnique(post)))
{
return AjaxResult.error("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
}
else if (UserConstants.NOT_UNIQUE.equals(postService.checkPostCodeUnique(post)))
{
return AjaxResult.error("修改岗位'" + post.getPostName() + "'失败,岗位编码已存在");
}
post.setUpdateBy(SecurityUtils.getUsername());
return toAjax(postService.updatePost(post));
}
/**
* 删除岗位
*/
@PreAuthorize("@ss.hasPermi('system:post:remove')")
@Log(title = "岗位管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{postIds}")
public AjaxResult remove(@PathVariable Long[] postIds)
{
return toAjax(postService.deletePostByIds(postIds));
}
/**
* 获取岗位选择框列表
*/
@GetMapping("/optionselect")
public AjaxResult optionselect()
{
List<SysPost> posts = postService.selectPostAll();
return AjaxResult.success(posts);
}
}

View File

@ -0,0 +1,128 @@
package com.neu.web.controller.system;
import java.io.IOException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.neu.common.annotation.Log;
import com.neu.common.config.NeuConfig;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.entity.SysUser;
import com.neu.common.core.domain.model.LoginUser;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.ServletUtils;
import com.neu.common.utils.file.FileUploadUtils;
import com.neu.framework.web.service.TokenService;
import com.neu.system.service.ISysUserService;
/**
* 个人信息 业务处理
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/user/profile")
public class SysProfileController extends BaseController
{
@Autowired
private ISysUserService userService;
@Autowired
private TokenService tokenService;
/**
* 个人信息
*/
@GetMapping
public AjaxResult profile()
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
SysUser user = loginUser.getUser();
AjaxResult ajax = AjaxResult.success(user);
ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername()));
ajax.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername()));
return ajax;
}
/**
* 修改用户
*/
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult updateProfile(@RequestBody SysUser user)
{
if (userService.updateUserProfile(user) > 0)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
// 更新缓存用户信息
loginUser.getUser().setNickName(user.getNickName());
loginUser.getUser().setPhonenumber(user.getPhonenumber());
loginUser.getUser().setEmail(user.getEmail());
loginUser.getUser().setSex(user.getSex());
tokenService.setLoginUser(loginUser);
return AjaxResult.success();
}
return AjaxResult.error("修改个人信息异常,请联系管理员");
}
/**
* 重置密码
*/
@Log(title = "个人信息", businessType = BusinessType.UPDATE)
@PutMapping("/updatePwd")
public AjaxResult updatePwd(String oldPassword, String newPassword)
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
String userName = loginUser.getUsername();
String password = loginUser.getPassword();
if (!SecurityUtils.matchesPassword(oldPassword, password))
{
return AjaxResult.error("修改密码失败,旧密码错误");
}
if (SecurityUtils.matchesPassword(newPassword, password))
{
return AjaxResult.error("新密码不能与旧密码相同");
}
if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0)
{
// 更新缓存用户密码
loginUser.getUser().setPassword(SecurityUtils.encryptPassword(newPassword));
tokenService.setLoginUser(loginUser);
return AjaxResult.success();
}
return AjaxResult.error("修改密码异常,请联系管理员");
}
/**
* 头像上传
*/
@Log(title = "用户头像", businessType = BusinessType.UPDATE)
@PostMapping("/avatar")
public AjaxResult avatar(@RequestParam("avatarfile") MultipartFile file) throws IOException
{
if (!file.isEmpty())
{
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
String avatar = FileUploadUtils.upload(NeuConfig.getAvatarPath(), file);
if (userService.updateUserAvatar(loginUser.getUsername(), avatar))
{
AjaxResult ajax = AjaxResult.success();
ajax.put("imgUrl", avatar);
// 更新缓存用户头像
loginUser.getUser().setAvatar(avatar);
tokenService.setLoginUser(loginUser);
return ajax;
}
}
return AjaxResult.error("上传图片异常,请联系管理员");
}
}

View File

@ -0,0 +1,183 @@
package com.neu.web.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.annotation.Log;
import com.neu.common.constant.UserConstants;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.entity.SysRole;
import com.neu.common.core.domain.model.LoginUser;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.ServletUtils;
import com.neu.common.utils.StringUtils;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.framework.web.service.SysPermissionService;
import com.neu.framework.web.service.TokenService;
import com.neu.system.service.ISysRoleService;
import com.neu.system.service.ISysUserService;
/**
* 角色信息
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/role")
public class SysRoleController extends BaseController
{
@Autowired
private ISysRoleService roleService;
@Autowired
private TokenService tokenService;
@Autowired
private SysPermissionService permissionService;
@Autowired
private ISysUserService userService;
@PreAuthorize("@ss.hasPermi('system:role:list')")
@GetMapping("/list")
public TableDataInfo list(SysRole role)
{
startPage();
List<SysRole> list = roleService.selectRoleList(role);
return getDataTable(list);
}
@Log(title = "角色管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:role:export')")
@GetMapping("/export")
public AjaxResult export(SysRole role)
{
List<SysRole> list = roleService.selectRoleList(role);
ExcelUtil<SysRole> util = new ExcelUtil<SysRole>(SysRole.class);
return util.exportExcel(list, "角色数据");
}
/**
* 根据角色编号获取详细信息
*/
@PreAuthorize("@ss.hasPermi('system:role:query')")
@GetMapping(value = "/{roleId}")
public AjaxResult getInfo(@PathVariable Long roleId)
{
return AjaxResult.success(roleService.selectRoleById(roleId));
}
/**
* 新增角色
*/
@PreAuthorize("@ss.hasPermi('system:role:add')")
@Log(title = "角色管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysRole role)
{
if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role)))
{
return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色名称已存在");
}
else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role)))
{
return AjaxResult.error("新增角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
role.setCreateBy(SecurityUtils.getUsername());
return toAjax(roleService.insertRole(role));
}
/**
* 修改保存角色
*/
@PreAuthorize("@ss.hasPermi('system:role:edit')")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysRole role)
{
roleService.checkRoleAllowed(role);
if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role)))
{
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色名称已存在");
}
else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role)))
{
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
role.setUpdateBy(SecurityUtils.getUsername());
if (roleService.updateRole(role) > 0)
{
// 更新缓存用户权限
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin())
{
loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName()));
tokenService.setLoginUser(loginUser);
}
return AjaxResult.success();
}
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
}
/**
* 修改保存数据权限
*/
@PreAuthorize("@ss.hasPermi('system:role:edit')")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping("/dataScope")
public AjaxResult dataScope(@RequestBody SysRole role)
{
roleService.checkRoleAllowed(role);
return toAjax(roleService.authDataScope(role));
}
/**
* 状态修改
*/
@PreAuthorize("@ss.hasPermi('system:role:edit')")
@Log(title = "角色管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysRole role)
{
roleService.checkRoleAllowed(role);
role.setUpdateBy(SecurityUtils.getUsername());
return toAjax(roleService.updateRoleStatus(role));
}
/**
* 删除角色
*/
@PreAuthorize("@ss.hasPermi('system:role:remove')")
@Log(title = "角色管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{roleIds}")
public AjaxResult remove(@PathVariable Long[] roleIds)
{
return toAjax(roleService.deleteRoleByIds(roleIds));
}
/**
* 获取角色选择框列表
*/
@PreAuthorize("@ss.hasPermi('system:role:query')")
@GetMapping("/optionselect")
public AjaxResult optionselect()
{
return AjaxResult.success(roleService.selectRoleAll());
}
}

View File

@ -0,0 +1,192 @@
package com.neu.web.controller.system;
import java.util.List;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import com.neu.carbon.bid.domain.BidEnterprise;
import com.neu.carbon.bid.service.IBidEnterpriseService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.neu.common.annotation.Log;
import com.neu.common.constant.UserConstants;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.core.domain.entity.SysRole;
import com.neu.common.core.domain.entity.SysUser;
import com.neu.common.core.domain.model.LoginUser;
import com.neu.common.core.page.TableDataInfo;
import com.neu.common.enums.BusinessType;
import com.neu.common.utils.SecurityUtils;
import com.neu.common.utils.ServletUtils;
import com.neu.common.utils.StringUtils;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.framework.web.service.TokenService;
import com.neu.system.service.ISysPostService;
import com.neu.system.service.ISysRoleService;
import com.neu.system.service.ISysUserService;
/**
* 用户信息
*
* @author neusoft
*/
@RestController
@RequestMapping("/system/user")
public class SysUserController extends BaseController {
@Autowired
private ISysUserService userService;
@Autowired
private ISysRoleService roleService;
@Autowired
private ISysPostService postService;
@Autowired
private TokenService tokenService;
/**
* 获取用户列表
*/
@PreAuthorize("@ss.hasPermi('system:user:list')")
@GetMapping("/list")
public TableDataInfo list(SysUser user) {
startPage();
List<SysUser> list = userService.selectUserList(user);
return getDataTable(list);
}
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
@PreAuthorize("@ss.hasPermi('system:user:export')")
@GetMapping("/export")
public AjaxResult export(SysUser user) {
List<SysUser> list = userService.selectUserList(user);
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
return util.exportExcel(list, "用户数据");
}
@Log(title = "用户管理", businessType = BusinessType.IMPORT)
@PreAuthorize("@ss.hasPermi('system:user:import')")
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception {
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
List<SysUser> userList = util.importExcel(file.getInputStream());
LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
String operName = loginUser.getUsername();
String message = userService.importUser(userList, updateSupport, operName);
return AjaxResult.success(message);
}
@GetMapping("/importTemplate")
public AjaxResult importTemplate() {
ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
return util.importTemplateExcel("用户数据");
}
/**
* 根据用户编号获取详细信息
*/
//@PreAuthorize("@ss.hasPermi('system:user:query')")
@GetMapping(value = {"/", "/{userId}"})
public AjaxResult getInfo(@PathVariable(value = "userId", required = false) Long userId) {
AjaxResult ajax = AjaxResult.success();
List<SysRole> roles = roleService.selectRoleAll();
ajax.put("roles", SysUser.isAdmin(userId) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
ajax.put("posts", postService.selectPostAll());
if (StringUtils.isNotNull(userId)) {
ajax.put("realName", getUser().getRealName());
ajax.put(AjaxResult.DATA_TAG, userService.selectUserById(userId));
ajax.put("postIds", postService.selectPostListByUserId(userId));
ajax.put("roleIds", roleService.selectRoleListByUserId(userId));
}
return ajax;
}
/**
* 新增用户
*/
@PreAuthorize("@ss.hasPermi('system:user:add')")
@Log(title = "用户管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysUser user) {
if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user.getUserName()))) {
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
} else if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail())
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
return AjaxResult.error("新增用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setCreateBy(SecurityUtils.getUsername());
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
return toAjax(userService.insertUser(user));
}
/**
* 修改用户
*/
@PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysUser user) {
userService.checkUserAllowed(user);
if (StringUtils.isNotEmpty(user.getPhonenumber())
&& UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) {
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
} else if (StringUtils.isNotEmpty(user.getEmail())
&& UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) {
return AjaxResult.error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
}
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.updateUser(user));
}
/**
* 删除用户
*/
@PreAuthorize("@ss.hasPermi('system:user:remove')")
@Log(title = "用户管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{userIds}")
public AjaxResult remove(@PathVariable Long[] userIds) {
return toAjax(userService.deleteUserByIds(userIds));
}
/**
* 重置密码
*/
@PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/resetPwd")
public AjaxResult resetPwd(@RequestBody SysUser user) {
userService.checkUserAllowed(user);
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.resetPwd(user));
}
/**
* 状态修改
*/
@PreAuthorize("@ss.hasPermi('system:user:edit')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/changeStatus")
public AjaxResult changeStatus(@RequestBody SysUser user) {
userService.checkUserAllowed(user);
user.setUpdateBy(SecurityUtils.getUsername());
return toAjax(userService.updateUserStatus(user));
}
}

View File

@ -0,0 +1,25 @@
package com.neu.web.controller.tool;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import com.neu.common.core.controller.BaseController;
/**
* swagger 接口
*
* @author neusoft
*/
@Controller
@RequestMapping("/tool/swagger")
public class SwaggerController extends BaseController
{
@PreAuthorize("@ss.hasPermi('tool:swagger:view')")
@GetMapping()
public String index()
{
return redirect("/swagger-ui.html");
}
}

View File

@ -0,0 +1,177 @@
package com.neu.web.controller.tool;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.utils.StringUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
/**
* swagger 用户测试方法
*
* @author neusoft
*/
@Api("用户信息管理")
@RestController
@RequestMapping("/test/user")
public class TestController extends BaseController
{
private final static Map<Integer, UserEntity> users = new LinkedHashMap<Integer, UserEntity>();
{
users.put(1, new UserEntity(1, "admin", "admin123", "15888888888"));
users.put(2, new UserEntity(2, "ry", "admin123", "15666666666"));
}
@ApiOperation("获取用户列表")
@GetMapping("/list")
public AjaxResult userList()
{
List<UserEntity> userList = new ArrayList<UserEntity>(users.values());
return AjaxResult.success(userList);
}
@ApiOperation("获取用户详细")
@ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "int", paramType = "path")
@GetMapping("/{userId}")
public AjaxResult getUser(@PathVariable Integer userId)
{
if (!users.isEmpty() && users.containsKey(userId))
{
return AjaxResult.success(users.get(userId));
}
else
{
return AjaxResult.error("用户不存在");
}
}
@ApiOperation("新增用户")
@ApiImplicitParam(name = "userEntity", value = "新增用户信息", dataType = "UserEntity")
@PostMapping("/save")
public AjaxResult save(UserEntity user)
{
if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId()))
{
return AjaxResult.error("用户ID不能为空");
}
return AjaxResult.success(users.put(user.getUserId(), user));
}
@ApiOperation("更新用户")
@ApiImplicitParam(name = "userEntity", value = "新增用户信息", dataType = "UserEntity")
@PutMapping("/update")
public AjaxResult update(UserEntity user)
{
if (StringUtils.isNull(user) || StringUtils.isNull(user.getUserId()))
{
return AjaxResult.error("用户ID不能为空");
}
if (users.isEmpty() || !users.containsKey(user.getUserId()))
{
return AjaxResult.error("用户不存在");
}
users.remove(user.getUserId());
return AjaxResult.success(users.put(user.getUserId(), user));
}
@ApiOperation("删除用户信息")
@ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "int", paramType = "path")
@DeleteMapping("/{userId}")
public AjaxResult delete(@PathVariable Integer userId)
{
if (!users.isEmpty() && users.containsKey(userId))
{
users.remove(userId);
return AjaxResult.success();
}
else
{
return AjaxResult.error("用户不存在");
}
}
}
@ApiModel("用户实体")
class UserEntity
{
@ApiModelProperty("用户ID")
private Integer userId;
@ApiModelProperty("用户名称")
private String username;
@ApiModelProperty("用户密码")
private String password;
@ApiModelProperty("用户手机")
private String mobile;
public UserEntity()
{
}
public UserEntity(Integer userId, String username, String password, String mobile)
{
this.userId = userId;
this.username = username;
this.password = password;
this.mobile = mobile;
}
public Integer getUserId()
{
return userId;
}
public void setUserId(Integer userId)
{
this.userId = userId;
}
public String getUsername()
{
return username;
}
public void setUsername(String username)
{
this.username = username;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
public String getMobile()
{
return mobile;
}
public void setMobile(String mobile)
{
this.mobile = mobile;
}
}

View File

@ -0,0 +1,138 @@
package com.neu.web.core.config;
import java.util.ArrayList;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
import com.neu.common.config.NeuConfig;
import io.swagger.annotations.ApiOperation;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.ApiKey;
import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.Contact;
import springfox.documentation.service.SecurityReference;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
/**
* Swagger2的接口配置
*
* @author neusoft
*/
@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig
{
/** 系统基础配置 */
@Autowired
private NeuConfig ruoyiConfig;
/** 是否开启swagger */
@Value("${swagger.enabled}")
private boolean enabled;
/** 设置请求的统一前缀 */
@Value("${swagger.pathMapping}")
private String pathMapping;
private final OpenApiExtensionResolver openApiExtensionResolver;
@Autowired
public SwaggerConfig(OpenApiExtensionResolver openApiExtensionResolver) {
this.openApiExtensionResolver = openApiExtensionResolver;
}
/**
* 创建API
*/
@Bean
public Docket createRestApi()
{
return new Docket(DocumentationType.SWAGGER_2)
// 是否启用Swagger
.enable(enabled)
// 用来创建该API的基本信息展示在文档的页面中自定义展示的信息
.apiInfo(apiInfo())
// 设置哪些接口暴露给Swagger展示
.select()
// 扫描所有有注解的api用这种方式更灵活
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 扫描指定包中的swagger注解
// .apis(RequestHandlerSelectors.basePackage("com.neu.project.tool.swagger"))
// 扫描所有 .apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build()
.groupName("双碳")
/* 设置安全模式swagger可以设置访问token */
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
.pathMapping(pathMapping)
.extensions(openApiExtensionResolver.buildSettingExtensions());
}
/**
* 安全模式这里指定token通过Authorization头请求头传递
*/
private List<ApiKey> securitySchemes()
{
List<ApiKey> apiKeyList = new ArrayList<ApiKey>();
apiKeyList.add(new ApiKey("Authorization", "Authorization", "header"));
return apiKeyList;
}
/**
* 安全上下文
*/
private List<SecurityContext> securityContexts()
{
List<SecurityContext> securityContexts = new ArrayList<>();
securityContexts.add(
SecurityContext.builder()
.securityReferences(defaultAuth())
.forPaths(PathSelectors.regex("^(?!auth).*$"))
.build());
return securityContexts;
}
/**
* 默认的安全上引用
*/
private List<SecurityReference> defaultAuth()
{
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
List<SecurityReference> securityReferences = new ArrayList<>();
securityReferences.add(new SecurityReference("Authorization", authorizationScopes));
return securityReferences;
}
/**
* 添加摘要信息
*/
private ApiInfo apiInfo()
{
// 用ApiInfoBuilder进行定制
return new ApiInfoBuilder()
// 设置标题
.title("标题:双碳管理系统接口文档")
// 描述
.description("描述双碳管理系统REST服务接口说明")
// 作者信息
.contact(new Contact(ruoyiConfig.getName(), null, null))
// 版本
.version("版本号:" + ruoyiConfig.getVersion())
.build();
}
}

View File

@ -0,0 +1 @@
restart.include.json=/com.alibaba.fastjson.*.jar

View File

@ -0,0 +1,27 @@
@startuml
'https://plantuml.com/class-diagram
abstract class AbstractList
abstract AbstractCollection
interface List
interface Collection
List <|-- AbstractList
Collection <|-- AbstractCollection
Collection <|- List
AbstractCollection <|- AbstractList
AbstractList <|-- ArrayList
class ArrayList {
Object[] elementData
size()
}
enum TimeUnit {
DAYS
HOURS
MINUTES
}
@enduml

View File

@ -0,0 +1,57 @@
# 数据源配置
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主库数据源
master:
url: jdbc:mysql://127.0.0.1:3306/carbon?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url:
username:
password:
# 初始连接数
initialSize: 5
# 最小连接池数量
minIdle: 10
# 最大连接池数量
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一个连接在池中最大生存的时间,单位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置检测连接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 设置白名单,不填则允许所有访问
allow:
url-pattern: /druid/*
# 控制台管理用户名和密码
login-username:
login-password:
filter:
stat:
enabled: true
# 慢SQL记录
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true

View File

@ -0,0 +1,134 @@
# 项目相关配置
carbon:
# 名称
name: carbon
# 版本
version: 3.3.0
# 版权年份
copyrightYear: 2022
# 实例演示开关
demoEnabled: true
# 文件路径 示例( Windows配置D:/neu/uploadPathLinux配置 /home/neu/uploadPath
profile: D:/neu/uploadPath
# 获取ip地址开关
addressEnabled: false
# 验证码类型 math 数组计算 char 字符验证
captchaType: math
# 开发环境配置
server:
# 服务器的HTTP端口默认为8080
port: 9090
servlet:
# 应用的访问路径
context-path: /
tomcat:
# tomcat的URI编码
uri-encoding: UTF-8
# tomcat最大线程数默认为200
max-threads: 800
# Tomcat启动初始化的线程数默认值25
min-spare-threads: 30
basedir: /home/carbon/temp
connection-timeout: 60000
# 日志配置
logging:
level:
com.neu: debug
org.springframework: warn
# Spring配置
spring:
mvc:
async:
request-timeout:
60000
# 资源信息
messages:
# 国际化资源文件路径
basename: i18n/messages
profiles:
active: druid
# 文件上传
servlet:
multipart:
# 单个文件大小
max-file-size: 10MB
# 设置总上传的文件大小
max-request-size: 20MB
# 服务模块
devtools:
restart:
# 热部署开关
enabled: true
# redis 配置
redis:
# 地址
host: 127.0.0.1
# 端口默认为6379
port: 6379
# 数据库索引
database: 12
# 密码
# password: ljxl@#$%
# 连接超时时间
timeout: 60s
lettuce:
pool:
# 连接池中的最小空闲连接
min-idle: 0
# 连接池中的最大空闲连接
max-idle: 10
# 连接池的最大数据库连接数
max-active: 50
# #连接池最大阻塞等待时间(使用负值表示没有限制)
max-wait: -1ms
# token配置
token:
# 令牌自定义标识
header: Authorization
# 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz
# 令牌有效期默认30分钟
expireTime: 1440
# MyBatis配置
mybatis:
# 搜索指定包别名
typeAliasesPackage: com.neu.**.domain
# 配置mapper的扫描找到所有的mapper.xml映射文件
mapperLocations: classpath*:mapper/**/*Mapper.xml
# 加载全局的配置文件
configLocation: classpath:mybatis/mybatis-config.xml
# PageHelper分页插件
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
# Swagger配置
swagger:
# 是否开启swagger
enabled: true
# 请求前缀
pathMapping: /
knife4j:
enable: true
setting:
enableFooter: false
enableFooterCustom: true
footerCustomContent:
enableHomeCustom: true
homeCustomLocation: classpath:readme.md
# 防止XSS攻击
xss:
# 过滤开关
enabled: true
# 排除链接(多个用逗号分隔)
excludes: /system/notice/*
# 匹配链接
urlPatterns: /system/*,/monitor/*,/tool/*

View File

@ -0,0 +1,2 @@
Application Version: ${carbon.version}
Spring Boot Version: ${spring-boot.version}

View File

@ -0,0 +1,36 @@
#错误消息
not.null=* 必须填写
user.jcaptcha.error=验证码错误
user.jcaptcha.expire=验证码已失效
user.not.exists=用户不存在/密码错误
user.password.not.match=用户不存在/密码错误
user.password.retry.limit.count=密码输入错误{0}次
user.password.retry.limit.exceed=密码输入错误{0}次帐户锁定10分钟
user.password.delete=对不起,您的账号已被删除
user.blocked=用户已封禁,请联系管理员
role.blocked=角色已封禁,请联系管理员
user.logout.success=退出成功
length.not.valid=长度必须在{min}到{max}个字符之间
user.username.not.valid=* 2到20个汉字、字母、数字或下划线组成且必须以非数字开头
user.password.not.valid=* 5-50个字符
user.email.not.valid=邮箱格式错误
user.mobile.phone.number.not.valid=手机号格式错误
user.login.success=登录成功
user.notfound=请重新登录
user.forcelogout=管理员强制退出,请重新登录
user.unknown.error=未知错误,请重新登录
##文件上传消息
upload.exceed.maxSize=上传的文件大小超出限制的文件大小!<br/>允许的文件最大大小是:{0}MB
upload.filename.exceed.length=上传的文件名最长{0}个字符
##权限
no.permission=您没有数据的权限,请联系管理员添加权限 [{0}]
no.create.permission=您没有创建数据的权限,请联系管理员添加权限 [{0}]
no.update.permission=您没有修改数据的权限,请联系管理员添加权限 [{0}]
no.delete.permission=您没有删除数据的权限,请联系管理员添加权限 [{0}]
no.export.permission=您没有导出数据的权限,请联系管理员添加权限 [{0}]
no.view.permission=您没有查看数据的权限,请联系管理员添加权限 [{0}]

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/carbon/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />
<!-- 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统日志输出 -->
<appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-info.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>INFO</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-error.log</file>
<!-- 循环政策:基于时间创建日志文件 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 日志文件名格式 -->
<fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<!-- 过滤的级别 -->
<level>ERROR</level>
<!-- 匹配时的操作:接收(记录) -->
<onMatch>ACCEPT</onMatch>
<!-- 不匹配时的操作:拒绝(不记录) -->
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<!-- 用户访问日志输出 -->
<appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${log.path}/sys-user.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- 按天回滚 daily -->
<fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- 日志最大的历史 60天 -->
<maxHistory>60</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${log.pattern}</pattern>
</encoder>
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.neu" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="info" />
<root level="info">
<appender-ref ref="console" />
</root>
<!--系统操作日志-->
<root level="info">
<appender-ref ref="file_info" />
<appender-ref ref="file_error" />
</root>
<!--系统用户操作日志-->
<logger name="sys-user" level="info">
<appender-ref ref="sys-user"/>
</logger>
</configuration>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="true" /> <!-- 全局映射器启用缓存 -->
<setting name="useGeneratedKeys" value="true" /> <!-- 允许 JDBC 支持自动生成主键 -->
<setting name="defaultExecutorType" value="REUSE" /> <!-- 配置默认的执行器 -->
<setting name="logImpl" value="SLF4J" /> <!-- 指定 MyBatis 所用日志的具体实现 -->
<!-- <setting name="mapUnderscoreToCamelCase" value="true"/> 驼峰式命名 -->
</settings>
<plugins>
<plugin interceptor="com.neu.framework.interceptor.SetSysParamsInterceptor">
</plugin>
</plugins>
</configuration>

View File

@ -0,0 +1,50 @@
**REST接口说明文档**
* **登录说明**
处于安全考虑部分接口需要先登录获取授权TOKEN信息才能调用接口功能需要认证信息的接口请参见每个接口的详细说明。
* **注销说明**
用户退出登录统一接口:/logout无需参数POST请求
* **安全认证**
需要安全认证的接口需要在请求头设置认证信息,格式如下:
参数Authorization
参数值: Bearer+空格+登录获取TOKEN
* **表格分页参数**
对于返回列表数据接口由于涉及到分页信息,需要传递分页参数,格式如下:
参数pageNum  参数值:当前页码
参数pageSize 参数值:每页数据条数
* **表格排序说明**
对于需要排序的列表,需要传递排序参数,格式如下:
参数orderByColumn
参数值:数据库表字段+空格+排序方式asc或者desc
如果需要多个字段排序请用英文逗号隔开
* **系统字典**
对于某些接口查询参数或者返回字段涉及到类型或者状态的可能需要使用到系统字典,调用系统字典接口通过类型可以获取到字典码和字典值。
目前系统提供字典如下:
| 字典名称 | 字典类型 | 字典值 | 字典码 |
|--------|------------------------|---------|---------|
| 广告类型 | adv_type | 主页轮播 | 2 |
| 广告类型 | adv_type | 引导页轮播 | 1 |
| 用户性别 | sys_user_sex | 男 | 0 |
| 用户性别 | sys_user_sex | 女 | 1 |
| 系统是否 | sys_yes_no | 否 | N |
| 系统是否 | sys_yes_no | 是 | Y |

View File

@ -0,0 +1,36 @@
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.neu</groupId>
<artifactId>carbon</artifactId>
<version>3.3.0</version>
</parent>
<artifactId>neu-carbon-bid</artifactId>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-framework</artifactId>
</dependency>
<!-- 通用工具 -->
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-common</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-carbon-service</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,166 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidBidding;
import com.neu.carbon.bid.service.IBidBiddingService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 招投标Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"招投标"})
@RestController
@RequestMapping("/bid/bidding")
public class BidBiddingController extends BaseController
{
@Autowired
private IBidBiddingService bidBiddingService;
/**
* 查询招投标列表
*/
@GetMapping("/list")
@ApiOperation("查询招投标列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidBidding.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidBidding bidBidding)
{
startPage();
List<BidBidding> list = bidBiddingService.selectBidBiddingList(bidBidding);
return getDataTable(list);
}
@GetMapping("/front/list")
@ApiOperation("前端查询招投标列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidBidding.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo frontList(BidBidding bidBidding)
{
startPage();
List<BidBidding> list = bidBiddingService.selectBidBiddingList(bidBidding);
return getDataTable(list);
}
/**
* 导出招投标列表
*/
@ApiOperation("导出招投标列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:bidding:export')")
@Log(title = "招投标", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidBidding bidBidding)
{
List<BidBidding> list = bidBiddingService.selectBidBiddingList(bidBidding);
ExcelUtil<BidBidding> util = new ExcelUtil<BidBidding>(BidBidding.class);
return util.exportExcel(list, "bidding");
}
/**
* 获取招投标详细信息
*/
@ApiOperation("获取招投标详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidBidding.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidBiddingService.selectBidBiddingById(id));
}
@ApiOperation("获取招投标详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidBidding.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/front/{id}")
public AjaxResult frontGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidBiddingService.selectBidBiddingById(id));
}
/**
* 新增招投标
*/
@ApiOperation("新增招投标")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:bidding:add')")
@Log(title = "招投标", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidBidding bidBidding)
{
return toAjax(bidBiddingService.insertBidBidding(bidBidding));
}
/**
* 修改招投标
*/
@ApiOperation("修改招投标")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:bidding:edit')")
@Log(title = "招投标", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidBidding bidBidding)
{
return toAjax(bidBiddingService.updateBidBidding(bidBidding));
}
/**
* 删除招投标
*/
@ApiOperation("删除招投标")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:bidding:remove')")
@Log(title = "招投标", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidBiddingService.deleteBidBiddingByIds(ids));
}
}

View File

@ -0,0 +1,139 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidBiddingFiles;
import com.neu.carbon.bid.service.IBidBiddingFilesService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 招标信息附件Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"招标信息附件"})
@RestController
@RequestMapping("/bid/files")
public class BidBiddingFilesController extends BaseController
{
@Autowired
private IBidBiddingFilesService bidBiddingFilesService;
/**
* 查询招标信息附件列表
*/
@GetMapping("/list")
@ApiOperation("查询招标信息附件列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidBiddingFiles.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidBiddingFiles bidBiddingFiles)
{
startPage();
List<BidBiddingFiles> list = bidBiddingFilesService.selectBidBiddingFilesList(bidBiddingFiles);
return getDataTable(list);
}
/**
* 导出招标信息附件列表
*/
@ApiOperation("导出招标信息附件列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:files:export')")
@Log(title = "招标信息附件", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidBiddingFiles bidBiddingFiles)
{
List<BidBiddingFiles> list = bidBiddingFilesService.selectBidBiddingFilesList(bidBiddingFiles);
ExcelUtil<BidBiddingFiles> util = new ExcelUtil<BidBiddingFiles>(BidBiddingFiles.class);
return util.exportExcel(list, "files");
}
/**
* 获取招标信息附件详细信息
*/
@ApiOperation("获取招标信息附件详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidBiddingFiles.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidBiddingFilesService.selectBidBiddingFilesById(id));
}
/**
* 新增招标信息附件
*/
@ApiOperation("新增招标信息附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:add')")
@Log(title = "招标信息附件", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidBiddingFiles bidBiddingFiles)
{
return toAjax(bidBiddingFilesService.insertBidBiddingFiles(bidBiddingFiles));
}
/**
* 修改招标信息附件
*/
@ApiOperation("修改招标信息附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:edit')")
@Log(title = "招标信息附件", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidBiddingFiles bidBiddingFiles)
{
return toAjax(bidBiddingFilesService.updateBidBiddingFiles(bidBiddingFiles));
}
/**
* 删除招标信息附件
*/
@ApiOperation("删除招标信息附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:remove')")
@Log(title = "招标信息附件", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidBiddingFilesService.deleteBidBiddingFilesByIds(ids));
}
}

View File

@ -0,0 +1,172 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidComplaint;
import com.neu.carbon.bid.service.IBidComplaintService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 违规投诉Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"违规投诉"})
@RestController
@RequestMapping("/bid/complaint")
public class BidComplaintController extends BaseController
{
@Autowired
private IBidComplaintService bidComplaintService;
/**
* 查询违规投诉列表
*/
@GetMapping("/list")
@ApiOperation("查询违规投诉列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidComplaint.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidComplaint bidComplaint)
{
startPage();
List<BidComplaint> list = bidComplaintService.selectBidComplaintList(bidComplaint);
return getDataTable(list);
}
@GetMapping("/front/list")
@ApiOperation("查询违规投诉列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidComplaint.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo frontList(BidComplaint bidComplaint)
{
startPage();
List<BidComplaint> list = bidComplaintService.selectBidComplaintList(bidComplaint);
return getDataTable(list);
}
/**
* 导出违规投诉列表
*/
@ApiOperation("导出违规投诉列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:complaint:export')")
@Log(title = "违规投诉", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidComplaint bidComplaint)
{
List<BidComplaint> list = bidComplaintService.selectBidComplaintList(bidComplaint);
ExcelUtil<BidComplaint> util = new ExcelUtil<BidComplaint>(BidComplaint.class);
return util.exportExcel(list, "complaint");
}
/**
* 获取违规投诉详细信息
*/
@ApiOperation("获取违规投诉详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidComplaint.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidComplaintService.selectBidComplaintById(id));
}
@ApiOperation("获取违规投诉详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidComplaint.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "front/{id}")
public AjaxResult frontGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidComplaintService.selectBidComplaintById(id));
}
/**
* 新增违规投诉
*/
@ApiOperation("新增违规投诉")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:complaint:add')")
@Log(title = "违规投诉", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidComplaint bidComplaint)
{
return toAjax(bidComplaintService.insertBidComplaint(bidComplaint));
}
@PostMapping("/front/add")
public AjaxResult frontAdd(@RequestBody BidComplaint bidComplaint)
{
return toAjax(bidComplaintService.insertBidComplaint(bidComplaint));
}
/**
* 修改违规投诉
*/
@ApiOperation("修改违规投诉")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:complaint:edit')")
@Log(title = "违规投诉", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidComplaint bidComplaint)
{
return toAjax(bidComplaintService.updateBidComplaint(bidComplaint));
}
/**
* 删除违规投诉
*/
@ApiOperation("删除违规投诉")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:complaint:remove')")
@Log(title = "违规投诉", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidComplaintService.deleteBidComplaintByIds(ids));
}
}

View File

@ -0,0 +1,139 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidComplaintFiles;
import com.neu.carbon.bid.service.IBidComplaintFilesService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 投诉附件Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"投诉附件"})
@RestController
@RequestMapping("/bid/complaint/files")
public class BidComplaintFilesController extends BaseController
{
@Autowired
private IBidComplaintFilesService bidComplaintFilesService;
/**
* 查询投诉附件列表
*/
@GetMapping("/list")
@ApiOperation("查询投诉附件列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidComplaintFiles.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidComplaintFiles bidComplaintFiles)
{
startPage();
List<BidComplaintFiles> list = bidComplaintFilesService.selectBidComplaintFilesList(bidComplaintFiles);
return getDataTable(list);
}
/**
* 导出投诉附件列表
*/
@ApiOperation("导出投诉附件列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:files:export')")
@Log(title = "投诉附件", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidComplaintFiles bidComplaintFiles)
{
List<BidComplaintFiles> list = bidComplaintFilesService.selectBidComplaintFilesList(bidComplaintFiles);
ExcelUtil<BidComplaintFiles> util = new ExcelUtil<BidComplaintFiles>(BidComplaintFiles.class);
return util.exportExcel(list, "files");
}
/**
* 获取投诉附件详细信息
*/
@ApiOperation("获取投诉附件详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidComplaintFiles.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidComplaintFilesService.selectBidComplaintFilesById(id));
}
/**
* 新增投诉附件
*/
@ApiOperation("新增投诉附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:add')")
@Log(title = "投诉附件", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidComplaintFiles bidComplaintFiles)
{
return toAjax(bidComplaintFilesService.insertBidComplaintFiles(bidComplaintFiles));
}
/**
* 修改投诉附件
*/
@ApiOperation("修改投诉附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:edit')")
@Log(title = "投诉附件", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidComplaintFiles bidComplaintFiles)
{
return toAjax(bidComplaintFilesService.updateBidComplaintFiles(bidComplaintFiles));
}
/**
* 删除投诉附件
*/
@ApiOperation("删除投诉附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:remove')")
@Log(title = "投诉附件", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidComplaintFilesService.deleteBidComplaintFilesByIds(ids));
}
}

View File

@ -0,0 +1,172 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidEnterpriseBidding;
import com.neu.carbon.bid.service.IBidEnterpriseBiddingService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 企业投标Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"企业投标"})
@RestController
@RequestMapping("/bid/enterprise/bidding")
public class BidEnterpriseBiddingController extends BaseController
{
@Autowired
private IBidEnterpriseBiddingService bidEnterpriseBiddingService;
/**
* 查询企业投标列表
*/
@GetMapping("/list")
@ApiOperation("查询企业投标列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidEnterpriseBidding.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidEnterpriseBidding bidEnterpriseBidding)
{
startPage();
List<BidEnterpriseBidding> list = bidEnterpriseBiddingService.selectBidEnterpriseBiddingList(bidEnterpriseBidding);
return getDataTable(list);
}
@GetMapping("/front/list")
public TableDataInfo frontList(BidEnterpriseBidding bidEnterpriseBidding)
{
startPage();
List<BidEnterpriseBidding> list = bidEnterpriseBiddingService.selectBidEnterpriseBiddingList(bidEnterpriseBidding);
return getDataTable(list);
}
/**
* 导出企业投标列表
*/
@ApiOperation("导出企业投标列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:enterprisebidding:export')")
@Log(title = "企业投标", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidEnterpriseBidding bidEnterpriseBidding)
{
List<BidEnterpriseBidding> list = bidEnterpriseBiddingService.selectBidEnterpriseBiddingList(bidEnterpriseBidding);
ExcelUtil<BidEnterpriseBidding> util = new ExcelUtil<BidEnterpriseBidding>(BidEnterpriseBidding.class);
return util.exportExcel(list, "bidding");
}
/**
* 获取企业投标详细信息
*/
@ApiOperation("获取企业投标详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidEnterpriseBidding.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidEnterpriseBiddingService.selectBidEnterpriseBiddingById(id));
}
@GetMapping(value = "/front/{id}")
public AjaxResult frontGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidEnterpriseBiddingService.selectBidEnterpriseBiddingById(id));
}
/**
* 新增企业投标
*/
@ApiOperation("新增企业投标")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:enterprisebidding:add')")
@Log(title = "企业投标", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidEnterpriseBidding bidEnterpriseBidding)
{
return toAjax(bidEnterpriseBiddingService.insertBidEnterpriseBidding(bidEnterpriseBidding));
}
@ApiOperation("新增企业投标")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PostMapping("/front/add")
public AjaxResult frontAdd(@RequestBody BidEnterpriseBidding bidEnterpriseBidding)
{
return toAjax(bidEnterpriseBiddingService.insertBidEnterpriseBidding(bidEnterpriseBidding));
}
/**
* 修改企业投标
*/
@ApiOperation("修改企业投标")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:enterprisebidding:edit')")
@Log(title = "企业投标", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidEnterpriseBidding bidEnterpriseBidding)
{
return toAjax(bidEnterpriseBiddingService.updateBidEnterpriseBidding(bidEnterpriseBidding));
}
@PostMapping("/front/edit")
public AjaxResult frontEdit(@RequestBody BidEnterpriseBidding bidEnterpriseBidding)
{
return toAjax(bidEnterpriseBiddingService.updateBidEnterpriseBidding(bidEnterpriseBidding));
}
/**
* 删除企业投标
*/
@ApiOperation("删除企业投标")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:enterprisebidding:remove')")
@Log(title = "企业投标", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidEnterpriseBiddingService.deleteBidEnterpriseBiddingByIds(ids));
}
}

View File

@ -0,0 +1,139 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidEnterpriseBidfile;
import com.neu.carbon.bid.service.IBidEnterpriseBidfileService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 企业投标材料Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"企业投标材料"})
@RestController
@RequestMapping("/bid/bidfile")
public class BidEnterpriseBidfileController extends BaseController
{
@Autowired
private IBidEnterpriseBidfileService bidEnterpriseBidfileService;
/**
* 查询企业投标材料列表
*/
@GetMapping("/list")
@ApiOperation("查询企业投标材料列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidEnterpriseBidfile.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidEnterpriseBidfile bidEnterpriseBidfile)
{
startPage();
List<BidEnterpriseBidfile> list = bidEnterpriseBidfileService.selectBidEnterpriseBidfileList(bidEnterpriseBidfile);
return getDataTable(list);
}
/**
* 导出企业投标材料列表
*/
@ApiOperation("导出企业投标材料列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:bidfile:export')")
@Log(title = "企业投标材料", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidEnterpriseBidfile bidEnterpriseBidfile)
{
List<BidEnterpriseBidfile> list = bidEnterpriseBidfileService.selectBidEnterpriseBidfileList(bidEnterpriseBidfile);
ExcelUtil<BidEnterpriseBidfile> util = new ExcelUtil<BidEnterpriseBidfile>(BidEnterpriseBidfile.class);
return util.exportExcel(list, "bidfile");
}
/**
* 获取企业投标材料详细信息
*/
@ApiOperation("获取企业投标材料详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidEnterpriseBidfile.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidEnterpriseBidfileService.selectBidEnterpriseBidfileById(id));
}
/**
* 新增企业投标材料
*/
@ApiOperation("新增企业投标材料")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:bidfile:add')")
@Log(title = "企业投标材料", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidEnterpriseBidfile bidEnterpriseBidfile)
{
return toAjax(bidEnterpriseBidfileService.insertBidEnterpriseBidfile(bidEnterpriseBidfile));
}
/**
* 修改企业投标材料
*/
@ApiOperation("修改企业投标材料")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:bidfile:edit')")
@Log(title = "企业投标材料", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidEnterpriseBidfile bidEnterpriseBidfile)
{
return toAjax(bidEnterpriseBidfileService.updateBidEnterpriseBidfile(bidEnterpriseBidfile));
}
/**
* 删除企业投标材料
*/
@ApiOperation("删除企业投标材料")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:bidfile:remove')")
@Log(title = "企业投标材料", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidEnterpriseBidfileService.deleteBidEnterpriseBidfileByIds(ids));
}
}

View File

@ -0,0 +1,190 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import com.neu.common.utils.ip.AddressUtils;
import com.neu.common.utils.ip.IpUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidEnterprise;
import com.neu.carbon.bid.service.IBidEnterpriseService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
import javax.servlet.http.HttpServletRequest;
/**
* 投标企业信息Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"投标企业信息"})
@RestController
@RequestMapping("/bid/enterprise")
public class BidEnterpriseController extends BaseController {
@Autowired
private IBidEnterpriseService bidEnterpriseService;
/**
* 查询投标企业信息列表
*/
@GetMapping("/list")
@ApiOperation("查询投标企业信息列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidEnterprise.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidEnterprise bidEnterprise) {
startPage();
List<BidEnterprise> list = bidEnterpriseService.selectBidEnterpriseList(bidEnterprise);
return getDataTable(list);
}
@GetMapping("/front/list")
@ApiOperation("查询投标企业信息列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidEnterprise.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo frontList(BidEnterprise bidEnterprise) {
startPage();
List<BidEnterprise> list = bidEnterpriseService.selectBidEnterpriseList(bidEnterprise);
return getDataTable(list);
}
/**
* 导出投标企业信息列表
*/
@ApiOperation("导出投标企业信息列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:enterprise:export')")
@Log(title = "投标企业信息", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidEnterprise bidEnterprise) {
List<BidEnterprise> list = bidEnterpriseService.selectBidEnterpriseList(bidEnterprise);
ExcelUtil<BidEnterprise> util = new ExcelUtil<BidEnterprise>(BidEnterprise.class);
return util.exportExcel(list, "enterprise");
}
/**
* 获取投标企业信息详细信息
*/
@ApiOperation("获取投标企业信息详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidEnterprise.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id, HttpServletRequest request) {
String ip = IpUtils.getIpAddr(request);
String address = AddressUtils.getRealAddressByIP(ip);
BidEnterprise bidEnterprise = bidEnterpriseService.selectBidEnterpriseById(id);
bidEnterprise.setIpAddress(address);
return AjaxResult.success(bidEnterprise);
}
@ApiOperation("获取投标企业信息详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidEnterprise.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/front/{id}")
public AjaxResult frontGetInfo(@PathVariable("id") Long id, HttpServletRequest request) {
String ip = IpUtils.getIpAddr(request);
String address = AddressUtils.getRealAddressByIP(ip);
BidEnterprise bidEnterprise = bidEnterpriseService.selectBidEnterpriseById(id);
bidEnterprise.setIpAddress(address);
return AjaxResult.success(bidEnterprise);
}
/**
* 新增投标企业信息
*/
@ApiOperation("新增投标企业信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:enterprise:add')")
@Log(title = "投标企业信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidEnterprise bidEnterprise) {
return toAjax(bidEnterpriseService.insertBidEnterprise(bidEnterprise));
}
@ApiOperation("新增投标企业信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PostMapping(value = "/front/add")
public AjaxResult frontAdd(@RequestBody BidEnterprise bidEnterprise) {
return toAjax(bidEnterpriseService.insertBidEnterprise(bidEnterprise));
}
/**
* 修改投标企业信息
*/
@ApiOperation("修改投标企业信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:enterprise:edit')")
@Log(title = "投标企业信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidEnterprise bidEnterprise) {
return toAjax(bidEnterpriseService.updateBidEnterprise(bidEnterprise));
}
@ApiOperation("修改投标企业信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PostMapping(value = "/front/edit")
public AjaxResult frontEdit(@RequestBody BidEnterprise bidEnterprise) {
return toAjax(bidEnterpriseService.updateBidEnterprise(bidEnterprise));
}
/**
* 删除投标企业信息
*/
@ApiOperation("删除投标企业信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:enterprise:remove')")
@Log(title = "投标企业信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(bidEnterpriseService.deleteBidEnterpriseByIds(ids));
}
}

View File

@ -0,0 +1,169 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidPlatformInformation;
import com.neu.carbon.bid.service.IBidPlatformInformationService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 平台动态Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"平台动态"})
@RestController
@RequestMapping("/bid/information")
public class BidPlatformInformationController extends BaseController
{
@Autowired
private IBidPlatformInformationService bidPlatformInformationService;
/**
* 查询平台动态列表
*/
@GetMapping("/list")
@ApiOperation("查询平台动态列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidPlatformInformation.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidPlatformInformation bidPlatformInformation)
{
startPage();
List<BidPlatformInformation> list = bidPlatformInformationService.selectBidPlatformInformationList(bidPlatformInformation);
return getDataTable(list);
}
@GetMapping("/front/list")
@ApiOperation("查询平台动态列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidPlatformInformation.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo frontList(BidPlatformInformation bidPlatformInformation)
{
startPage();
List<BidPlatformInformation> list = bidPlatformInformationService.selectBidPlatformInformationList(bidPlatformInformation);
return getDataTable(list);
}
/**
* 导出平台动态列表
*/
@ApiOperation("导出平台动态列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:information:export')")
@Log(title = "平台动态", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidPlatformInformation bidPlatformInformation)
{
List<BidPlatformInformation> list = bidPlatformInformationService.selectBidPlatformInformationList(bidPlatformInformation);
ExcelUtil<BidPlatformInformation> util = new ExcelUtil<BidPlatformInformation>(BidPlatformInformation.class);
return util.exportExcel(list, "information");
}
/**
* 获取平台动态详细信息
*/
@ApiOperation("获取平台动态详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidPlatformInformation.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidPlatformInformationService.selectBidPlatformInformationById(id));
}
/**
* 获取平台动态详细信息
*/
@ApiOperation("获取平台动态详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidPlatformInformation.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/front/{id}")
public AjaxResult frontGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidPlatformInformationService.selectBidPlatformInformationById(id));
}
/**
* 新增平台动态
*/
@ApiOperation("新增平台动态")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:information:add')")
@Log(title = "平台动态", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidPlatformInformation bidPlatformInformation)
{
return toAjax(bidPlatformInformationService.insertBidPlatformInformation(bidPlatformInformation));
}
/**
* 修改平台动态
*/
@ApiOperation("修改平台动态")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:information:edit')")
@Log(title = "平台动态", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidPlatformInformation bidPlatformInformation)
{
return toAjax(bidPlatformInformationService.updateBidPlatformInformation(bidPlatformInformation));
}
/**
* 删除平台动态
*/
@ApiOperation("删除平台动态")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:information:remove')")
@Log(title = "平台动态", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidPlatformInformationService.deleteBidPlatformInformationByIds(ids));
}
}

View File

@ -0,0 +1,165 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidPolicylaw;
import com.neu.carbon.bid.service.IBidPolicylawService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 政策法规Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"政策法规"})
@RestController
@RequestMapping("/bid/policylaw")
public class BidPolicylawController extends BaseController
{
@Autowired
private IBidPolicylawService bidPolicylawService;
/**
* 查询政策法规列表
*/
@GetMapping("/list")
@ApiOperation("查询政策法规列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidPolicylaw.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidPolicylaw bidPolicylaw)
{
startPage();
List<BidPolicylaw> list = bidPolicylawService.selectBidPolicylawList(bidPolicylaw);
return getDataTable(list);
}
@GetMapping("/front/list")
@ApiOperation("查询政策法规列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidPolicylaw.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo frontList(BidPolicylaw bidPolicylaw)
{
startPage();
List<BidPolicylaw> list = bidPolicylawService.selectBidPolicylawList(bidPolicylaw);
return getDataTable(list);
}
/**
* 导出政策法规列表
*/
@ApiOperation("导出政策法规列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:policylaw:export')")
@Log(title = "政策法规", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidPolicylaw bidPolicylaw)
{
List<BidPolicylaw> list = bidPolicylawService.selectBidPolicylawList(bidPolicylaw);
ExcelUtil<BidPolicylaw> util = new ExcelUtil<BidPolicylaw>(BidPolicylaw.class);
return util.exportExcel(list, "policylaw");
}
/**
* 获取政策法规详细信息
*/
@ApiOperation("获取政策法规详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidPolicylaw.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidPolicylawService.selectBidPolicylawById(id));
}
@ApiOperation("获取政策法规详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidPolicylaw.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/front/{id}")
public AjaxResult frontGetInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidPolicylawService.selectBidPolicylawById(id));
}
/**
* 新增政策法规
*/
@ApiOperation("新增政策法规")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:policylaw:add')")
@Log(title = "政策法规", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidPolicylaw bidPolicylaw)
{
return toAjax(bidPolicylawService.insertBidPolicylaw(bidPolicylaw));
}
/**
* 修改政策法规
*/
@ApiOperation("修改政策法规")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:policylaw:edit')")
@Log(title = "政策法规", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidPolicylaw bidPolicylaw)
{
return toAjax(bidPolicylawService.updateBidPolicylaw(bidPolicylaw));
}
/**
* 删除政策法规
*/
@ApiOperation("删除政策法规")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:policylaw:remove')")
@Log(title = "政策法规", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidPolicylawService.deleteBidPolicylawByIds(ids));
}
}

View File

@ -0,0 +1,139 @@
package com.neu.carbon.bid.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.bid.domain.BidPolicylawFiles;
import com.neu.carbon.bid.service.IBidPolicylawFilesService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 政策法规附件Controller
*
* @author neuedu
* @date 2023-04-21
*/
@Api(tags = {"政策法规附件"})
@RestController
@RequestMapping("/bid/policylaw/files")
public class BidPolicylawFilesController extends BaseController
{
@Autowired
private IBidPolicylawFilesService bidPolicylawFilesService;
/**
* 查询政策法规附件列表
*/
@GetMapping("/list")
@ApiOperation("查询政策法规附件列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = BidPolicylawFiles.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(BidPolicylawFiles bidPolicylawFiles)
{
startPage();
List<BidPolicylawFiles> list = bidPolicylawFilesService.selectBidPolicylawFilesList(bidPolicylawFiles);
return getDataTable(list);
}
/**
* 导出政策法规附件列表
*/
@ApiOperation("导出政策法规附件列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('bid:files:export')")
@Log(title = "政策法规附件", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(BidPolicylawFiles bidPolicylawFiles)
{
List<BidPolicylawFiles> list = bidPolicylawFilesService.selectBidPolicylawFilesList(bidPolicylawFiles);
ExcelUtil<BidPolicylawFiles> util = new ExcelUtil<BidPolicylawFiles>(BidPolicylawFiles.class);
return util.exportExcel(list, "files");
}
/**
* 获取政策法规附件详细信息
*/
@ApiOperation("获取政策法规附件详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = BidPolicylawFiles.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(bidPolicylawFilesService.selectBidPolicylawFilesById(id));
}
/**
* 新增政策法规附件
*/
@ApiOperation("新增政策法规附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:add')")
@Log(title = "政策法规附件", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody BidPolicylawFiles bidPolicylawFiles)
{
return toAjax(bidPolicylawFilesService.insertBidPolicylawFiles(bidPolicylawFiles));
}
/**
* 修改政策法规附件
*/
@ApiOperation("修改政策法规附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:edit')")
@Log(title = "政策法规附件", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody BidPolicylawFiles bidPolicylawFiles)
{
return toAjax(bidPolicylawFilesService.updateBidPolicylawFiles(bidPolicylawFiles));
}
/**
* 删除政策法规附件
*/
@ApiOperation("删除政策法规附件")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('bid:files:remove')")
@Log(title = "政策法规附件", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bidPolicylawFilesService.deleteBidPolicylawFilesByIds(ids));
}
}

View File

@ -0,0 +1,38 @@
package com.neu.carbon.mes;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple App.
*/
public class AppTest
extends TestCase
{
/**
* Create the test case
*
* @param testName name of the test case
*/
public AppTest( String testName )
{
super( testName );
}
/**
* @return the suite of tests being tested
*/
public static Test suite()
{
return new TestSuite( AppTest.class );
}
/**
* Rigourous Test :-)
*/
public void testApp()
{
assertTrue( true );
}
}

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>neu-carbon-footprint</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,3 @@
eclipse.preferences.version=1
encoding//src/main/resources=UTF-8
encoding/<project>=UTF-8

View File

@ -0,0 +1,5 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -0,0 +1,41 @@
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.neu</groupId>
<artifactId>carbon</artifactId>
<version>3.3.0</version>
</parent>
<artifactId>neu-carbon-footprint</artifactId>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-framework</artifactId>
</dependency>
<!-- 通用工具 -->
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-common</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-carbon-service</artifactId>
</dependency>
<dependency>
<groupId>io.gitee.ForteScarlet</groupId>
<artifactId>mock.java</artifactId>
<version>1.9.2</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,139 @@
package com.neu.carbon.footprint.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.xiaoymin.knife4j.annotations.DynamicParameter;
import com.github.xiaoymin.knife4j.annotations.DynamicResponseParameters;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.neu.common.annotation.Log;
import com.neu.common.core.controller.BaseController;
import com.neu.common.core.domain.AjaxResult;
import com.neu.common.enums.BusinessType;
import com.neu.carbon.footprint.domain.CfElectricCheckpoint;
import com.neu.carbon.footprint.service.ICfElectricCheckpointService;
import com.neu.common.utils.poi.ExcelUtil;
import com.neu.common.core.page.TableDataInfo;
/**
* 能效检测点Controller
*
* @author neuedu
* @date 2022-07-22
*/
@Api(tags = {"能效检测点"})
@RestController
@RequestMapping("/cfElectric/checkpoint")
public class CfElectricCheckpointController extends BaseController
{
@Autowired
private ICfElectricCheckpointService cfElectricCheckpointService;
/**
* 查询能效检测点列表
*/
@GetMapping("/list")
@ApiOperation("查询能效检测点列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "total", value = "总记录数"),
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "rows", value = "返回业务数据(数组类型)", dataTypeClass = CfElectricCheckpoint.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
public TableDataInfo list(CfElectricCheckpoint cfElectricCheckpoint)
{
startPage();
List<CfElectricCheckpoint> list = cfElectricCheckpointService.selectCfElectricCheckpointList(cfElectricCheckpoint);
return getDataTable(list);
}
/**
* 导出能效检测点列表
*/
@ApiOperation("导出能效检测点列表")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "文件名")
})
@PreAuthorize("@ss.hasPermi('cfElectric:checkpoint:export')")
@Log(title = "能效检测点", businessType = BusinessType.EXPORT)
@GetMapping("/export")
public AjaxResult export(CfElectricCheckpoint cfElectricCheckpoint)
{
List<CfElectricCheckpoint> list = cfElectricCheckpointService.selectCfElectricCheckpointList(cfElectricCheckpoint);
ExcelUtil<CfElectricCheckpoint> util = new ExcelUtil<CfElectricCheckpoint>(CfElectricCheckpoint.class);
return util.exportExcel(list, "checkpoint");
}
/**
* 获取能效检测点详细信息
*/
@ApiOperation("获取能效检测点详细信息")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "data", value = "返回业务数据", dataTypeClass = CfElectricCheckpoint.class),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return AjaxResult.success(cfElectricCheckpointService.selectCfElectricCheckpointById(id));
}
/**
* 新增能效检测点
*/
@ApiOperation("新增能效检测点")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('cfElectric:checkpoint:add')")
@Log(title = "能效检测点", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody CfElectricCheckpoint cfElectricCheckpoint)
{
return toAjax(cfElectricCheckpointService.insertCfElectricCheckpoint(cfElectricCheckpoint));
}
/**
* 修改能效检测点
*/
@ApiOperation("修改能效检测点")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('cfElectric:checkpoint:edit')")
@Log(title = "能效检测点", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody CfElectricCheckpoint cfElectricCheckpoint)
{
return toAjax(cfElectricCheckpointService.updateCfElectricCheckpoint(cfElectricCheckpoint));
}
/**
* 删除能效检测点
*/
@ApiOperation("删除能效检测点")
@DynamicResponseParameters(properties = {
@DynamicParameter(name = "code", value = "状态码200正确其他错误"),
@DynamicParameter(name = "msg", value = "返回消息内容")
})
@PreAuthorize("@ss.hasPermi('cfElectric:checkpoint:remove')")
@Log(title = "能效检测点", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(cfElectricCheckpointService.deleteCfElectricCheckpointByIds(ids));
}
}

View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>neu-carbon-mapper</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,4 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/test/java=UTF-8
encoding/<project>=UTF-8

View File

@ -0,0 +1,5 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1

View File

@ -0,0 +1,32 @@
<?xml version="1.0"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.neu</groupId>
<artifactId>carbon</artifactId>
<version>3.3.0</version>
</parent>
<artifactId>neu-carbon-mapper</artifactId>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-framework</artifactId>
</dependency>
<!-- 通用工具 -->
<dependency>
<groupId>com.neu</groupId>
<artifactId>neu-common</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,225 @@
package com.neu.carbon.bid.domain;
import java.util.Date;
import java.util.List;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import net.sf.jsqlparser.expression.DateTimeLiteralExpression;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 招投标对象 bid_bidding
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("招投标")
public class BidBidding extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 招投标标题 */
@ApiModelProperty("招投标标题")
@Excel(name = "招投标标题")
private String bidTitle;
/** 招投标内容 */
@ApiModelProperty("招投标内容")
@Excel(name = "招投标内容")
private String bidContent;
/** 发布时间 */
@ApiModelProperty(value="发布时间",example = "2021-09-10")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date bidPublishDatetime;
/** 发布者 */
@ApiModelProperty("发布者")
@Excel(name = "发布者")
private String bidPublisher;
/** 发布分类 1招标预告 2招标公告 3 中标公告 4企业采购 */
@ApiModelProperty("发布分类 1招标预告 2招标公告 3 中标公告 4企业采购")
@Excel(name = "发布分类 1招标预告 2招标公告 3 中标公告 4企业采购")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Integer category;
/** 开始时间 */
@ApiModelProperty(value="开始时间",example = "2021-09-10")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date beginDate;
/** 结束时间 */
@ApiModelProperty(value="结束时间",example = "2021-09-10")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date endDate;
/** 状态 待开标 0 资质审核 1 已过期 2 开标结果 3 */
@ApiModelProperty("状态 待开标 0 资质审核 1 已过期 2 开标结果 3")
@Excel(name = "状态 待开标 0 资质审核 1 已过期 2 开标结果 3")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Integer status;
@ApiModelProperty("上传文件")
private List<BidBiddingFiles> filesList;
@ApiModelProperty("查询开始")
private Date fromDate;
@ApiModelProperty("查询结束")
private Date toDate;
@ApiModelProperty(hidden = true)
private String enterpriseId;
public String getEnterpriseId() {
return enterpriseId;
}
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Date getFromDate() {
return fromDate;
}
public void setFromDate(Date fromDate) {
this.fromDate = fromDate;
}
public Date getToDate() {
return toDate;
}
public void setToDate(Date toDate) {
this.toDate = toDate;
}
public List<BidBiddingFiles> getFilesList() {
return filesList;
}
public void setFilesList(List<BidBiddingFiles> filesList) {
this.filesList = filesList;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setBidTitle(String bidTitle)
{
this.bidTitle = bidTitle;
}
public String getBidTitle()
{
return bidTitle;
}
public void setBidContent(String bidContent)
{
this.bidContent = bidContent;
}
public String getBidContent()
{
return bidContent;
}
public void setBidPublishDatetime(Date bidPublishDatetime)
{
this.bidPublishDatetime = bidPublishDatetime;
}
public Date getBidPublishDatetime()
{
return bidPublishDatetime;
}
public void setBidPublisher(String bidPublisher)
{
this.bidPublisher = bidPublisher;
}
public String getBidPublisher()
{
return bidPublisher;
}
public void setCategory(Integer category)
{
this.category = category;
}
public Integer getCategory()
{
return category;
}
public void setBeginDate(Date beginDate)
{
this.beginDate = beginDate;
}
public Date getBeginDate()
{
return beginDate;
}
public void setEndDate(Date endDate)
{
this.endDate = endDate;
}
public Date getEndDate()
{
return endDate;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("bidTitle", getBidTitle())
.append("bidContent", getBidContent())
.append("bidPublishDatetime", getBidPublishDatetime())
.append("bidPublisher", getBidPublisher())
.append("category", getCategory())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("beginDate", getBeginDate())
.append("endDate", getEndDate())
.append("status", getStatus())
.toString();
}
}

View File

@ -0,0 +1,97 @@
package com.neu.carbon.bid.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 招标信息附件对象 bid_bidding_files
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("招标信息附件")
public class BidBiddingFiles extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 招投标id */
@ApiModelProperty("招投标id")
@Excel(name = "招投标id")
private Long bidId;
/** 文件名称 */
@ApiModelProperty("文件名称")
@Excel(name = "文件名称")
private String fileName;
/** 文件路径 */
@ApiModelProperty("文件路径")
@Excel(name = "文件路径")
private String filePath;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setBidId(Long bidId)
{
this.bidId = bidId;
}
public Long getBidId()
{
return bidId;
}
public void setFileName(String fileName)
{
this.fileName = fileName;
}
public String getFileName()
{
return fileName;
}
public void setFilePath(String filePath)
{
this.filePath = filePath;
}
public String getFilePath()
{
return filePath;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("bidId", getBidId())
.append("fileName", getFileName())
.append("filePath", getFilePath())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,167 @@
package com.neu.carbon.bid.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 违规投诉对象 bid_complaint
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("违规投诉")
public class BidComplaint extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 企业主键 */
@ApiModelProperty("企业主键")
@Excel(name = "企业主键")
private Long enterpriseId;
/** 投诉标题 */
@ApiModelProperty("投诉标题")
@Excel(name = "投诉标题")
private String title;
/** 投诉信息 */
@ApiModelProperty("投诉信息")
@Excel(name = "投诉信息")
private String content;
/** 联系人 */
@ApiModelProperty("联系人")
@Excel(name = "联系人")
private String contact;
/** 联系电话 */
@ApiModelProperty("联系电话")
@Excel(name = "联系电话")
private String contactTel;
/** 状态 0 正在处理中 1处理完成 */
@ApiModelProperty("状态 0 正在处理中 1处理完成")
@Excel(name = "状态 0 正在处理中 1处理完成")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Integer status;
@ApiModelProperty("企业名称")
private String enterpriseName;
/**
* 企业信息
*/
private BidEnterprise bidEnterprise;
public BidEnterprise getBidEnterprise() {
return bidEnterprise;
}
public void setBidEnterprise(BidEnterprise bidEnterprise) {
this.bidEnterprise = bidEnterprise;
}
public String getEnterpriseName() {
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setEnterpriseId(Long enterpriseId)
{
this.enterpriseId = enterpriseId;
}
public Long getEnterpriseId()
{
return enterpriseId;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTitle()
{
return title;
}
public void setContent(String content)
{
this.content = content;
}
public String getContent()
{
return content;
}
public void setContact(String contact)
{
this.contact = contact;
}
public String getContact()
{
return contact;
}
public void setContactTel(String contactTel)
{
this.contactTel = contactTel;
}
public String getContactTel()
{
return contactTel;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("enterpriseId", getEnterpriseId())
.append("title", getTitle())
.append("content", getContent())
.append("contact", getContact())
.append("contactTel", getContactTel())
.append("status", getStatus())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,96 @@
package com.neu.carbon.bid.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 投诉附件对象 bid_complaint_files
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("投诉附件")
public class BidComplaintFiles extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 投诉id */
@ApiModelProperty("投诉id")
@Excel(name = "投诉id")
private Long complaintId;
/** 文件名称 */
@ApiModelProperty("文件名称")
@Excel(name = "文件名称")
private String fileName;
/** 文件路径 */
@ApiModelProperty("文件路径")
@Excel(name = "文件路径")
private String filePath;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setComplaintId(Long complaintId)
{
this.complaintId = complaintId;
}
public Long getComplaintId()
{
return complaintId;
}
public void setFileName(String fileName)
{
this.fileName = fileName;
}
public String getFileName()
{
return fileName;
}
public void setFilePath(String filePath)
{
this.filePath = filePath;
}
public String getFilePath()
{
return filePath;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("complaintId", getComplaintId())
.append("fileName", getFileName())
.append("filePath", getFilePath())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,516 @@
package com.neu.carbon.bid.domain;
import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 投标企业信息对象 bid_enterprise
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("投标企业信息")
public class BidEnterprise extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 用户名称 */
@ApiModelProperty("用户名称")
@Excel(name = "用户名称")
private String userName;
/** 所属机构 */
@ApiModelProperty("所属机构")
@Excel(name = "所属机构")
private String affiliation;
/** 密码 */
@ApiModelProperty("密码")
@Excel(name = "密码")
private String password;
/** 盐 */
@ApiModelProperty("")
@Excel(name = "")
private String salt;
/** 手机号码 */
@ApiModelProperty("手机号码")
@Excel(name = "手机号码")
private String mobile;
/** 名称 */
@ApiModelProperty("名称")
@Excel(name = "名称")
private String name;
/** 简称 */
@ApiModelProperty("简称")
@Excel(name = "简称")
private String shortName;
/** 开户行地址 */
@ApiModelProperty("开户行地址")
@Excel(name = "开户行地址")
private String addr;
/** 开户银行 */
@ApiModelProperty("开户银行")
@Excel(name = "开户银行")
private String bank;
/** 银行账号 */
@ApiModelProperty("银行账号")
@Excel(name = "银行账号")
private String account;
/** 税号 */
@ApiModelProperty("税号")
@Excel(name = "税号")
private String taxNo;
/** 联系人 */
@ApiModelProperty("联系人")
@Excel(name = "联系人")
private String contact;
/** 联系电话 */
@ApiModelProperty("联系电话")
@Excel(name = "联系电话")
private String contactTel;
/** 统一社会信用代码 */
@ApiModelProperty("统一社会信用代码")
@Excel(name = "统一社会信用代码")
private String usci;
/** 公司注册地址 */
@ApiModelProperty("公司注册地址")
@Excel(name = "公司注册地址")
private String address;
/** 企业性质 */
@ApiModelProperty("企业性质")
@Excel(name = "企业性质")
private String enterpriseNature;
/** 成立日期 */
@ApiModelProperty(value="成立日期",example = "2021-09-10")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "成立日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date doe;
/** 法人/负责人 */
@ApiModelProperty("法人/负责人")
@Excel(name = "法人/负责人")
private String corpn;
/** 法人/负责人身份证 */
@ApiModelProperty("法人/负责人身份证")
@Excel(name = "法人/负责人身份证")
private String corpnIdcard;
/** 单位联系地址 */
@ApiModelProperty("单位联系地址")
@Excel(name = "单位联系地址")
private String contactAddress;
/** 经营范围 */
@ApiModelProperty("经营范围")
@Excel(name = "经营范围")
private String businessScope;
/** 公司简介 */
@ApiModelProperty("公司简介")
@Excel(name = "公司简介")
private String profile;
/** 营业执照扫描件 */
@ApiModelProperty("营业执照扫描件")
@Excel(name = "营业执照扫描件")
private String businessLicenseImage;
/** 营业执照有效期 */
@ApiModelProperty("营业执照有效期")
@Excel(name = "营业执照有效期")
private String businessLicenseGp;
/** 法人/负责人身份证扫描件 */
@ApiModelProperty("法人/负责人身份证扫描件")
@Excel(name = "法人/负责人身份证扫描件")
private String corpnIdcardImage;
/** 注册电话 */
@ApiModelProperty("注册电话")
@Excel(name = "注册电话")
private String registrationPhone;
/** 注册地址 */
@ApiModelProperty("注册地址")
@Excel(name = "注册地址")
private String contactAddr;
/** 注册资本 */
@ApiModelProperty("注册资本")
@Excel(name = "注册资本")
private String registeredCapital;
/** 实缴资本 */
@ApiModelProperty("实缴资本")
@Excel(name = "实缴资本")
private String paidinCapital;
/** 开户许可证/基本户存款信息证 */
@ApiModelProperty("开户许可证/基本户存款信息证")
@Excel(name = "开户许可证/基本户存款信息证")
private String accountLicence;
@ApiModelProperty("IP所属地")
private String ipAddress;
public String getIpAddress() {
return ipAddress;
}
public void setIpAddress(String ipAddress) {
this.ipAddress = ipAddress;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setUserName(String userName)
{
this.userName = userName;
}
public String getUserName()
{
return userName;
}
public void setAffiliation(String affiliation)
{
this.affiliation = affiliation;
}
public String getAffiliation()
{
return affiliation;
}
public void setPassword(String password)
{
this.password = password;
}
public String getPassword()
{
return password;
}
public void setSalt(String salt)
{
this.salt = salt;
}
public String getSalt()
{
return salt;
}
public void setMobile(String mobile)
{
this.mobile = mobile;
}
public String getMobile()
{
return mobile;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setShortName(String shortName)
{
this.shortName = shortName;
}
public String getShortName()
{
return shortName;
}
public void setAddr(String addr)
{
this.addr = addr;
}
public String getAddr()
{
return addr;
}
public void setBank(String bank)
{
this.bank = bank;
}
public String getBank()
{
return bank;
}
public void setAccount(String account)
{
this.account = account;
}
public String getAccount()
{
return account;
}
public void setTaxNo(String taxNo)
{
this.taxNo = taxNo;
}
public String getTaxNo()
{
return taxNo;
}
public void setContact(String contact)
{
this.contact = contact;
}
public String getContact()
{
return contact;
}
public void setContactTel(String contactTel)
{
this.contactTel = contactTel;
}
public String getContactTel()
{
return contactTel;
}
public void setUsci(String usci)
{
this.usci = usci;
}
public String getUsci()
{
return usci;
}
public void setAddress(String address)
{
this.address = address;
}
public String getAddress()
{
return address;
}
public void setEnterpriseNature(String enterpriseNature)
{
this.enterpriseNature = enterpriseNature;
}
public String getEnterpriseNature()
{
return enterpriseNature;
}
public void setDoe(Date doe)
{
this.doe = doe;
}
public Date getDoe()
{
return doe;
}
public void setCorpn(String corpn)
{
this.corpn = corpn;
}
public String getCorpn()
{
return corpn;
}
public void setCorpnIdcard(String corpnIdcard)
{
this.corpnIdcard = corpnIdcard;
}
public String getCorpnIdcard()
{
return corpnIdcard;
}
public void setContactAddress(String contactAddress)
{
this.contactAddress = contactAddress;
}
public String getContactAddress()
{
return contactAddress;
}
public void setBusinessScope(String businessScope)
{
this.businessScope = businessScope;
}
public String getBusinessScope()
{
return businessScope;
}
public void setProfile(String profile)
{
this.profile = profile;
}
public String getProfile()
{
return profile;
}
public void setBusinessLicenseImage(String businessLicenseImage)
{
this.businessLicenseImage = businessLicenseImage;
}
public String getBusinessLicenseImage()
{
return businessLicenseImage;
}
public void setBusinessLicenseGp(String businessLicenseGp)
{
this.businessLicenseGp = businessLicenseGp;
}
public String getBusinessLicenseGp()
{
return businessLicenseGp;
}
public void setCorpnIdcardImage(String corpnIdcardImage)
{
this.corpnIdcardImage = corpnIdcardImage;
}
public String getCorpnIdcardImage()
{
return corpnIdcardImage;
}
public void setRegistrationPhone(String registrationPhone)
{
this.registrationPhone = registrationPhone;
}
public String getRegistrationPhone()
{
return registrationPhone;
}
public void setContactAddr(String contactAddr)
{
this.contactAddr = contactAddr;
}
public String getContactAddr()
{
return contactAddr;
}
public void setRegisteredCapital(String registeredCapital)
{
this.registeredCapital = registeredCapital;
}
public String getRegisteredCapital()
{
return registeredCapital;
}
public void setPaidinCapital(String paidinCapital)
{
this.paidinCapital = paidinCapital;
}
public String getPaidinCapital()
{
return paidinCapital;
}
public void setAccountLicence(String accountLicence)
{
this.accountLicence = accountLicence;
}
public String getAccountLicence()
{
return accountLicence;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("userName", getUserName())
.append("affiliation", getAffiliation())
.append("password", getPassword())
.append("salt", getSalt())
.append("mobile", getMobile())
.append("name", getName())
.append("shortName", getShortName())
.append("addr", getAddr())
.append("bank", getBank())
.append("account", getAccount())
.append("taxNo", getTaxNo())
.append("contact", getContact())
.append("contactTel", getContactTel())
.append("usci", getUsci())
.append("address", getAddress())
.append("enterpriseNature", getEnterpriseNature())
.append("doe", getDoe())
.append("corpn", getCorpn())
.append("corpnIdcard", getCorpnIdcard())
.append("contactAddress", getContactAddress())
.append("businessScope", getBusinessScope())
.append("profile", getProfile())
.append("businessLicenseImage", getBusinessLicenseImage())
.append("businessLicenseGp", getBusinessLicenseGp())
.append("corpnIdcardImage", getCorpnIdcardImage())
.append("registrationPhone", getRegistrationPhone())
.append("contactAddr", getContactAddr())
.append("registeredCapital", getRegisteredCapital())
.append("paidinCapital", getPaidinCapital())
.append("accountLicence", getAccountLicence())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,180 @@
package com.neu.carbon.bid.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
/**
* 企业投标对象 bid_enterprise_bidding
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("企业投标")
public class BidEnterpriseBidding extends BaseEntity {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/**
* 企业主键
*/
@ApiModelProperty("企业主键")
@Excel(name = "企业主键")
private Long enterpriseId;
/**
* 招标主键
*/
@ApiModelProperty("招标主键")
@Excel(name = "招标主键")
private Long bidId;
/**
* 状态 待开标 0 资质审核 1 已过期 2 开标结果 3
*/
@ApiModelProperty("状态 待开标 0 资质审核 1 已过期 2 开标结果 3")
@Excel(name = "状态 待开标 0 资质审核 1 已过期 2 开标结果 3")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Integer status;
/**
* 投标企业
*/
@ApiModelProperty(hidden = true)
private BidEnterprise enterprise;
/**
*
*/
@ApiModelProperty(value = "企业名称")
private String enterpriseName;
/**
*
*/
@ApiModelProperty(value = "投标标题")
private String bidTitle;
/**
* 投标项目
*/
@ApiModelProperty(hidden = true)
private BidBidding bidBidding;
/**
* 投标文件
*/
@ApiModelProperty(hidden = true)
private List<BidEnterpriseBidfile> filesList;
public String getEnterpriseName() {
if (enterprise != null) {
return enterprise.getName();
}
return enterpriseName;
}
public void setEnterpriseName(String enterpriseName) {
this.enterpriseName = enterpriseName;
}
public String getBidTitle() {
if (this.bidBidding != null) {
return bidBidding.getBidTitle();
}
return bidTitle;
}
public void setBidTitle(String bidTitle) {
this.bidTitle = bidTitle;
}
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setEnterpriseId(Long enterpriseId) {
this.enterpriseId = enterpriseId;
}
public Long getEnterpriseId() {
return enterpriseId;
}
public void setBidId(Long bidId) {
this.bidId = bidId;
}
public Long getBidId() {
return bidId;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getStatus() {
return status;
}
public BidEnterprise getEnterprise() {
return enterprise;
}
public void setEnterprise(BidEnterprise enterprise) {
this.enterprise = enterprise;
}
public void setBidBidding(BidBidding bidBidding) {
this.bidBidding = bidBidding;
}
public List<BidEnterpriseBidfile> getFilesList() {
return filesList;
}
public void setFilesList(List<BidEnterpriseBidfile> filesList) {
this.filesList = filesList;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("enterpriseId", getEnterpriseId())
.append("bidId", getBidId())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.append("status", getStatus())
.toString();
}
public BidBidding getBidBidding() {
return bidBidding;
}
}

View File

@ -0,0 +1,96 @@
package com.neu.carbon.bid.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 企业投标材料对象 bid_enterprise_bidfile
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("企业投标材料")
public class BidEnterpriseBidfile extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 企业投标报名Id */
@ApiModelProperty("企业投标报名Id")
@Excel(name = "企业投标报名Id")
private Long enterpriseBidId;
/** 文件名称 */
@ApiModelProperty("文件名称")
@Excel(name = "文件名称")
private String fileName;
/** 文件路径 */
@ApiModelProperty("文件路径")
@Excel(name = "文件路径")
private String filePath;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setEnterpriseBidId(Long enterpriseBidId)
{
this.enterpriseBidId = enterpriseBidId;
}
public Long getEnterpriseBidId()
{
return enterpriseBidId;
}
public void setFileName(String fileName)
{
this.fileName = fileName;
}
public String getFileName()
{
return fileName;
}
public void setFilePath(String filePath)
{
this.filePath = filePath;
}
public String getFilePath()
{
return filePath;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("enterpriseBidId", getEnterpriseBidId())
.append("fileName", getFileName())
.append("filePath", getFilePath())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,115 @@
package com.neu.carbon.bid.domain;
import java.util.Date;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 平台动态对象 bid_platform_information
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("平台动态")
public class BidPlatformInformation extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 招投标标题 */
@ApiModelProperty("招投标标题")
@Excel(name = "招投标标题")
private String title;
/** 招投标内容 */
@ApiModelProperty("招投标内容")
@Excel(name = "招投标内容")
private String content;
/** 发布时间 */
@ApiModelProperty(value="发布时间",example = "2021-09-10")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date publishDatetime;
/** 发布者 */
@ApiModelProperty("发布者")
@Excel(name = "发布者")
private String publisher;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTitle()
{
return title;
}
public void setContent(String content)
{
this.content = content;
}
public String getContent()
{
return content;
}
public void setPublishDatetime(Date publishDatetime)
{
this.publishDatetime = publishDatetime;
}
public Date getPublishDatetime()
{
return publishDatetime;
}
public void setPublisher(String publisher)
{
this.publisher = publisher;
}
public String getPublisher()
{
return publisher;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("title", getTitle())
.append("content", getContent())
.append("publishDatetime", getPublishDatetime())
.append("publisher", getPublisher())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,126 @@
package com.neu.carbon.bid.domain;
import java.util.Date;
import java.util.List;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 政策法规对象 bid_policylaw
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("政策法规")
public class BidPolicylaw extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 标题 */
@ApiModelProperty("标题")
@Excel(name = "标题")
private String title;
/** 内容 */
@ApiModelProperty("内容")
@Excel(name = "内容")
private String content;
/** 发布时间 */
@ApiModelProperty(value="发布时间",example = "2021-09-10")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "发布时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date publishDatetime;
/** 发布者 */
@ApiModelProperty("发布者")
@Excel(name = "发布者")
private String publisher;
@ApiModelProperty("上传附件")
private List<BidPolicylawFiles> filesList;
public List<BidPolicylawFiles> getFilesList() {
return filesList;
}
public void setFilesList(List<BidPolicylawFiles> filesList) {
this.filesList = filesList;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTitle()
{
return title;
}
public void setContent(String content)
{
this.content = content;
}
public String getContent()
{
return content;
}
public void setPublishDatetime(Date publishDatetime)
{
this.publishDatetime = publishDatetime;
}
public Date getPublishDatetime()
{
return publishDatetime;
}
public void setPublisher(String publisher)
{
this.publisher = publisher;
}
public String getPublisher()
{
return publisher;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("title", getTitle())
.append("content", getContent())
.append("publishDatetime", getPublishDatetime())
.append("publisher", getPublisher())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,97 @@
package com.neu.carbon.bid.domain;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 政策法规附件对象 bid_policylaw_files
*
* @author neuedu
* @date 2023-04-21
*/
@ApiModel("政策法规附件")
public class BidPolicylawFiles extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键 */
@ApiModelProperty("主键")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@JSONField(serializeUsing = ToStringSerializer.class)
private Long id;
/** 政策法规id */
@ApiModelProperty("政策法规id")
@Excel(name = "政策法规id")
private Long policyId;
/** 文件名称 */
@ApiModelProperty("文件名称")
@Excel(name = "文件名称")
private String fileName;
/** 文件路径 */
@ApiModelProperty("文件路径")
@Excel(name = "文件路径")
private String filePath;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setPolicyId(Long policyId)
{
this.policyId = policyId;
}
public Long getPolicyId()
{
return policyId;
}
public void setFileName(String fileName)
{
this.fileName = fileName;
}
public String getFileName()
{
return fileName;
}
public void setFilePath(String filePath)
{
this.filePath = filePath;
}
public String getFilePath()
{
return filePath;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("policyId", getPolicyId())
.append("fileName", getFileName())
.append("filePath", getFilePath())
.append("createBy", getCreateBy())
.append("createTime", getCreateTime())
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,69 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidBiddingFiles;
/**
* 招标信息附件Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidBiddingFilesMapper {
/**
* 查询招标信息附件
*
* @param id 招标信息附件ID
* @return 招标信息附件
*/
public BidBiddingFiles selectBidBiddingFilesById(Long id);
/**
* 查询招标信息附件列表
*
* @param bidBiddingFiles 招标信息附件
* @return 招标信息附件集合
*/
public List<BidBiddingFiles> selectBidBiddingFilesList(BidBiddingFiles bidBiddingFiles);
/**
* 新增招标信息附件
*
* @param bidBiddingFiles 招标信息附件
* @return 结果
*/
public int insertBidBiddingFiles(BidBiddingFiles bidBiddingFiles);
/**
* 修改招标信息附件
*
* @param bidBiddingFiles 招标信息附件
* @return 结果
*/
public int updateBidBiddingFiles(BidBiddingFiles bidBiddingFiles);
/**
* 删除招标信息附件
*
* @param id 招标信息附件ID
* @return 结果
*/
public int deleteBidBiddingFilesById(Long id);
/**
* 按父Id删除
*
* @param id
* @return
*/
int deleteBidBiddingFilesByPId(Long id);
/**
* 批量删除招标信息附件
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidBiddingFilesByIds(Long[] ids);
}

View File

@ -0,0 +1,61 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidBidding;
/**
* 招投标Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidBiddingMapper
{
/**
* 查询招投标
*
* @param id 招投标ID
* @return 招投标
*/
public BidBidding selectBidBiddingById(Long id);
/**
* 查询招投标列表
*
* @param bidBidding 招投标
* @return 招投标集合
*/
public List<BidBidding> selectBidBiddingList(BidBidding bidBidding);
/**
* 新增招投标
*
* @param bidBidding 招投标
* @return 结果
*/
public int insertBidBidding(BidBidding bidBidding);
/**
* 修改招投标
*
* @param bidBidding 招投标
* @return 结果
*/
public int updateBidBidding(BidBidding bidBidding);
/**
* 删除招投标
*
* @param id 招投标ID
* @return 结果
*/
public int deleteBidBiddingById(Long id);
/**
* 批量删除招投标
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidBiddingByIds(Long[] ids);
}

View File

@ -0,0 +1,61 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidComplaintFiles;
/**
* 投诉附件Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidComplaintFilesMapper
{
/**
* 查询投诉附件
*
* @param id 投诉附件ID
* @return 投诉附件
*/
public BidComplaintFiles selectBidComplaintFilesById(Long id);
/**
* 查询投诉附件列表
*
* @param bidComplaintFiles 投诉附件
* @return 投诉附件集合
*/
public List<BidComplaintFiles> selectBidComplaintFilesList(BidComplaintFiles bidComplaintFiles);
/**
* 新增投诉附件
*
* @param bidComplaintFiles 投诉附件
* @return 结果
*/
public int insertBidComplaintFiles(BidComplaintFiles bidComplaintFiles);
/**
* 修改投诉附件
*
* @param bidComplaintFiles 投诉附件
* @return 结果
*/
public int updateBidComplaintFiles(BidComplaintFiles bidComplaintFiles);
/**
* 删除投诉附件
*
* @param id 投诉附件ID
* @return 结果
*/
public int deleteBidComplaintFilesById(Long id);
/**
* 批量删除投诉附件
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidComplaintFilesByIds(Long[] ids);
}

View File

@ -0,0 +1,61 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidComplaint;
/**
* 违规投诉Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidComplaintMapper
{
/**
* 查询违规投诉
*
* @param id 违规投诉ID
* @return 违规投诉
*/
public BidComplaint selectBidComplaintById(Long id);
/**
* 查询违规投诉列表
*
* @param bidComplaint 违规投诉
* @return 违规投诉集合
*/
public List<BidComplaint> selectBidComplaintList(BidComplaint bidComplaint);
/**
* 新增违规投诉
*
* @param bidComplaint 违规投诉
* @return 结果
*/
public int insertBidComplaint(BidComplaint bidComplaint);
/**
* 修改违规投诉
*
* @param bidComplaint 违规投诉
* @return 结果
*/
public int updateBidComplaint(BidComplaint bidComplaint);
/**
* 删除违规投诉
*
* @param id 违规投诉ID
* @return 结果
*/
public int deleteBidComplaintById(Long id);
/**
* 批量删除违规投诉
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidComplaintByIds(Long[] ids);
}

View File

@ -0,0 +1,61 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidEnterpriseBidding;
/**
* 企业投标Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidEnterpriseBiddingMapper
{
/**
* 查询企业投标
*
* @param id 企业投标ID
* @return 企业投标
*/
public BidEnterpriseBidding selectBidEnterpriseBiddingById(Long id);
/**
* 查询企业投标列表
*
* @param bidEnterpriseBidding 企业投标
* @return 企业投标集合
*/
public List<BidEnterpriseBidding> selectBidEnterpriseBiddingList(BidEnterpriseBidding bidEnterpriseBidding);
/**
* 新增企业投标
*
* @param bidEnterpriseBidding 企业投标
* @return 结果
*/
public int insertBidEnterpriseBidding(BidEnterpriseBidding bidEnterpriseBidding);
/**
* 修改企业投标
*
* @param bidEnterpriseBidding 企业投标
* @return 结果
*/
public int updateBidEnterpriseBidding(BidEnterpriseBidding bidEnterpriseBidding);
/**
* 删除企业投标
*
* @param id 企业投标ID
* @return 结果
*/
public int deleteBidEnterpriseBiddingById(Long id);
/**
* 批量删除企业投标
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidEnterpriseBiddingByIds(Long[] ids);
}

View File

@ -0,0 +1,68 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidEnterpriseBidfile;
/**
* 企业投标材料Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidEnterpriseBidfileMapper
{
/**
* 查询企业投标材料
*
* @param id 企业投标材料ID
* @return 企业投标材料
*/
public BidEnterpriseBidfile selectBidEnterpriseBidfileById(Long id);
/**
* 查询企业投标材料列表
*
* @param bidEnterpriseBidfile 企业投标材料
* @return 企业投标材料集合
*/
public List<BidEnterpriseBidfile> selectBidEnterpriseBidfileList(BidEnterpriseBidfile bidEnterpriseBidfile);
/**
* 新增企业投标材料
*
* @param bidEnterpriseBidfile 企业投标材料
* @return 结果
*/
public int insertBidEnterpriseBidfile(BidEnterpriseBidfile bidEnterpriseBidfile);
/**
* 修改企业投标材料
*
* @param bidEnterpriseBidfile 企业投标材料
* @return 结果
*/
public int updateBidEnterpriseBidfile(BidEnterpriseBidfile bidEnterpriseBidfile);
/**
* 删除企业投标材料
*
* @param id 企业投标材料ID
* @return 结果
*/
public int deleteBidEnterpriseBidfileById(Long id);
/**
* 批量删除企业投标材料
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidEnterpriseBidfileByIds(Long[] ids);
/**
* 删除企业投标材料
* @param id
* @return
*/
int deleteBidEnterpriseBidfileByPId(Long id);
}

View File

@ -0,0 +1,67 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidEnterprise;
/**
* 投标企业信息Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidEnterpriseMapper
{
/**
* 查询投标企业信息
*
* @param id 投标企业信息ID
* @return 投标企业信息
*/
public BidEnterprise selectBidEnterpriseById(Long id);
/**
* 查询投标企业信息列表
*
* @param bidEnterprise 投标企业信息
* @return 投标企业信息集合
*/
public List<BidEnterprise> selectBidEnterpriseList(BidEnterprise bidEnterprise);
/**
* @param ids
* @return
*/
List<BidEnterprise> selectBidEnterpriseListByEnterpriseIds(Long[] ids);
/**
* 新增投标企业信息
*
* @param bidEnterprise 投标企业信息
* @return 结果
*/
public int insertBidEnterprise(BidEnterprise bidEnterprise);
/**
* 修改投标企业信息
*
* @param bidEnterprise 投标企业信息
* @return 结果
*/
public int updateBidEnterprise(BidEnterprise bidEnterprise);
/**
* 删除投标企业信息
*
* @param id 投标企业信息ID
* @return 结果
*/
public int deleteBidEnterpriseById(Long id);
/**
* 批量删除投标企业信息
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidEnterpriseByIds(Long[] ids);
}

View File

@ -0,0 +1,61 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidPlatformInformation;
/**
* 平台动态Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidPlatformInformationMapper
{
/**
* 查询平台动态
*
* @param id 平台动态ID
* @return 平台动态
*/
public BidPlatformInformation selectBidPlatformInformationById(Long id);
/**
* 查询平台动态列表
*
* @param bidPlatformInformation 平台动态
* @return 平台动态集合
*/
public List<BidPlatformInformation> selectBidPlatformInformationList(BidPlatformInformation bidPlatformInformation);
/**
* 新增平台动态
*
* @param bidPlatformInformation 平台动态
* @return 结果
*/
public int insertBidPlatformInformation(BidPlatformInformation bidPlatformInformation);
/**
* 修改平台动态
*
* @param bidPlatformInformation 平台动态
* @return 结果
*/
public int updateBidPlatformInformation(BidPlatformInformation bidPlatformInformation);
/**
* 删除平台动态
*
* @param id 平台动态ID
* @return 结果
*/
public int deleteBidPlatformInformationById(Long id);
/**
* 批量删除平台动态
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidPlatformInformationByIds(Long[] ids);
}

View File

@ -0,0 +1,76 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidPolicylawFiles;
/**
* 政策法规附件Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidPolicylawFilesMapper {
/**
* 查询政策法规附件
*
* @param id 政策法规附件ID
* @return 政策法规附件
*/
public BidPolicylawFiles selectBidPolicylawFilesById(Long id);
/**
* 按政策法规Id查询
*
* @param id
* @return
*/
List<BidPolicylawFiles> selectBidPolicylawFilesByPId(Long id);
/**
* 查询政策法规附件列表
*
* @param bidPolicylawFiles 政策法规附件
* @return 政策法规附件集合
*/
public List<BidPolicylawFiles> selectBidPolicylawFilesList(BidPolicylawFiles bidPolicylawFiles);
/**
* 新增政策法规附件
*
* @param bidPolicylawFiles 政策法规附件
* @return 结果
*/
public int insertBidPolicylawFiles(BidPolicylawFiles bidPolicylawFiles);
/**
* 修改政策法规附件
*
* @param bidPolicylawFiles 政策法规附件
* @return 结果
*/
public int updateBidPolicylawFiles(BidPolicylawFiles bidPolicylawFiles);
/**
* 删除政策法规附件
*
* @param id 政策法规附件ID
* @return 结果
*/
public int deleteBidPolicylawFilesById(Long id);
/**
* 批量删除政策法规附件
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidPolicylawFilesByIds(Long[] ids);
/**
* 按PId删除
* @param id
* @return
*/
int deleteBidPolicylawFilesByPId(Long id);
}

View File

@ -0,0 +1,61 @@
package com.neu.carbon.bid.mapper;
import java.util.List;
import com.neu.carbon.bid.domain.BidPolicylaw;
/**
* 政策法规Mapper接口
*
* @author neuedu
* @date 2023-04-21
*/
public interface BidPolicylawMapper
{
/**
* 查询政策法规
*
* @param id 政策法规ID
* @return 政策法规
*/
public BidPolicylaw selectBidPolicylawById(Long id);
/**
* 查询政策法规列表
*
* @param bidPolicylaw 政策法规
* @return 政策法规集合
*/
public List<BidPolicylaw> selectBidPolicylawList(BidPolicylaw bidPolicylaw);
/**
* 新增政策法规
*
* @param bidPolicylaw 政策法规
* @return 结果
*/
public int insertBidPolicylaw(BidPolicylaw bidPolicylaw);
/**
* 修改政策法规
*
* @param bidPolicylaw 政策法规
* @return 结果
*/
public int updateBidPolicylaw(BidPolicylaw bidPolicylaw);
/**
* 删除政策法规
*
* @param id 政策法规ID
* @return 结果
*/
public int deleteBidPolicylawById(Long id);
/**
* 批量删除政策法规
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteBidPolicylawByIds(Long[] ids);
}

View File

@ -0,0 +1,100 @@
package com.neu.carbon.footprint.domain;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 变化碳排放对象 cf_config_emission_change
*
* @author neuedu
* @date 2022-07-22
*/
@ApiModel("变化碳排放")
public class CfConfigEmissionChange extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 编号 */
@ApiModelProperty("编号")
private Long id;
/** 能耗项 */
@ApiModelProperty("能耗项")
@Excel(name = "能耗项")
private String name;
/** 日节约水 */
@ApiModelProperty("日节约水")
@Excel(name = "日节约水")
private Double daySaveWater;
/** 日节约电 */
@ApiModelProperty("日节约电")
@Excel(name = "日节约电")
private Double daySaveElectric;
/** 项目类型 */
@ApiModelProperty("项目类型")
@Excel(name = "项目类型")
private String category;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setDaySaveWater(Double daySaveWater)
{
this.daySaveWater = daySaveWater;
}
public Double getDaySaveWater()
{
return daySaveWater;
}
public void setDaySaveElectric(Double daySaveElectric)
{
this.daySaveElectric = daySaveElectric;
}
public Double getDaySaveElectric()
{
return daySaveElectric;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("daySaveWater", getDaySaveWater())
.append("daySaveElectric", getDaySaveElectric())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,113 @@
package com.neu.carbon.footprint.domain;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 固定碳排放对象 cf_config_emission_fixed
*
* @author neuedu
* @date 2022-07-25
*/
@ApiModel("固定碳排放")
public class CfConfigEmissionFixed extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 编号 */
@ApiModelProperty("编号")
private Long id;
/** 能耗项 */
@ApiModelProperty("能耗项")
@Excel(name = "能耗项")
private String name;
/** 时间类型(1年度排放 2季度排放 3月排放 4日排放) */
@ApiModelProperty("时间类型(1年度排放 2季度排放 3月排放 4日排放)")
@Excel(name = "时间类型(1年度排放 2季度排放 3月排放 4日排放)")
private String type;
/** 预警阈值 */
@ApiModelProperty("预警阈值")
@Excel(name = "预警阈值")
private Double thresholdValue;
/** 项目类型 */
@ApiModelProperty("项目类型")
@Excel(name = "项目类型")
private String category;
/** 能耗数 */
@ApiModelProperty("能耗数")
@Excel(name = "能耗数")
private Double energy;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setType(String type)
{
this.type = type;
}
public String getType()
{
return type;
}
public void setThresholdValue(Double thresholdValue)
{
this.thresholdValue = thresholdValue;
}
public Double getThresholdValue()
{
return thresholdValue;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public Double getEnergy() {
return energy;
}
public void setEnergy(Double energy) {
this.energy = energy;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("type", getType())
.append("thresholdValue", getThresholdValue())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,116 @@
package com.neu.carbon.footprint.domain;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 碳中和计算比例对象 cf_config_neutral
*
* @author neuedu
* @date 2022-07-22
*/
@ApiModel("碳中和计算比例")
public class CfConfigNeutral extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 编号 */
@ApiModelProperty("编号")
private Long id;
/** 1千克标准煤=X千克二氧化碳 */
@ApiModelProperty("1千克标准煤=X千克二氧化碳")
@Excel(name = "1千克标准煤=X千克二氧化碳")
private Double coalCo2;
/** 1度电=X千克二氧化碳 */
@ApiModelProperty("1度电=X千克二氧化碳")
@Excel(name = "1度电=X千克二氧化碳")
private Double electricCo2;
/** 1吨水=X千克二氧化碳 */
@ApiModelProperty("1吨水=X千克二氧化碳")
@Excel(name = "1吨水=X千克二氧化碳")
private Double waterCo2;
/** 1kg汽油产生的热量=X千克标准煤产生的热量 */
@ApiModelProperty("1kg汽油产生的热量=X千克标准煤产生的热量")
@Excel(name = "1kg汽油产生的热量=X千克标准煤产生的热量")
private Double oilCoal;
/** 二氧化碳与碳的比值 */
@ApiModelProperty("二氧化碳与碳的比值")
@Excel(name = "二氧化碳与碳的比值")
private Double co2Ratio;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCoalCo2(Double coalCo2)
{
this.coalCo2 = coalCo2;
}
public Double getCoalCo2()
{
return coalCo2;
}
public void setElectricCo2(Double electricCo2)
{
this.electricCo2 = electricCo2;
}
public Double getElectricCo2()
{
return electricCo2;
}
public void setWaterCo2(Double waterCo2)
{
this.waterCo2 = waterCo2;
}
public Double getWaterCo2()
{
return waterCo2;
}
public void setOilCoal(Double oilCoal)
{
this.oilCoal = oilCoal;
}
public Double getOilCoal()
{
return oilCoal;
}
public void setCo2Ratio(Double co2Ratio)
{
this.co2Ratio = co2Ratio;
}
public Double getCo2Ratio()
{
return co2Ratio;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("coalCo2", getCoalCo2())
.append("electricCo2", getElectricCo2())
.append("waterCo2", getWaterCo2())
.append("oilCoal", getOilCoal())
.append("co2Ratio", getCo2Ratio())
.toString();
}
}

View File

@ -0,0 +1,118 @@
package com.neu.carbon.footprint.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* 能效检测点对象 cf_electric_checkpoint
*
* @author neuedu
* @date 2022-07-22
*/
@ApiModel("能效检测点")
public class CfElectricCheckpoint extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 编号 */
@ApiModelProperty("编号")
private Long id;
/** 监测点名称 */
@ApiModelProperty("监测点名称")
@Excel(name = "监测点名称")
private String name;
/** 地址 */
@ApiModelProperty("地址")
@Excel(name = "地址")
private String address;
/** 实时功率 */
@ApiModelProperty("实时功率")
@Excel(name = "实时功率")
private Long rtPower;
/** 实时电压 */
@ApiModelProperty("实时电压")
@Excel(name = "实时电压")
private Long rtVoltage;
/** 状态 0未过载 1已过载 */
@ApiModelProperty("状态 0未过载 1已过载")
@Excel(name = "状态 0未过载 1已过载")
private String status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setAddress(String address)
{
this.address = address;
}
public String getAddress()
{
return address;
}
public void setRtPower(Long rtPower)
{
this.rtPower = rtPower;
}
public Long getRtPower()
{
return rtPower;
}
public void setRtVoltage(Long rtVoltage)
{
this.rtVoltage = rtVoltage;
}
public Long getRtVoltage()
{
return rtVoltage;
}
public void setStatus(String status)
{
this.status = status;
}
public String getStatus()
{
return status;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("name", getName())
.append("address", getAddress())
.append("rtPower", getRtPower())
.append("rtVoltage", getRtVoltage())
.append("status", getStatus())
.append("remark", getRemark())
.toString();
}
}

View File

@ -0,0 +1,144 @@
package com.neu.carbon.footprint.domain;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 能耗临时表对象 tmp_energy_consume
*
* @author neuedu
* @date 2022-07-31
*/
@ApiModel("能耗临时表")
public class TmpEnergyConsume extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 编号 */
@ApiModelProperty("编号")
private Long id;
/** 类型0消耗1节约 */
@ApiModelProperty("类型0消耗1节约")
@Excel(name = "类型0消耗1节约")
private String type;
/** 分类1电2水 */
@ApiModelProperty("分类1电2水")
@Excel(name = "分类1电2水")
private String category;
/** 月份 */
@ApiModelProperty("月份")
@Excel(name = "月份")
private String month;
/** 日期 */
@ApiModelProperty("日期")
@Excel(name = "日期")
private String day;
/** 年份 */
@ApiModelProperty("年份")
@Excel(name = "年份")
private String year;
/** 能耗数或节约数 */
@ApiModelProperty("能耗数或节约数")
@Excel(name = "能耗数或节约数")
private Double energy;
/** 项目类型 */
@ApiModelProperty("项目类型")
@Excel(name = "项目类型")
private String itemCategory;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setType(String type)
{
this.type = type;
}
public String getType()
{
return type;
}
public void setCategory(String category)
{
this.category = category;
}
public String getCategory()
{
return category;
}
public void setMonth(String month)
{
this.month = month;
}
public String getMonth()
{
return month;
}
public void setDay(String day)
{
this.day = day;
}
public String getDay()
{
return day;
}
public void setEnergy(Double energy)
{
this.energy = energy;
}
public Double getEnergy()
{
return energy;
}
public void setItemCategory(String itemCategory)
{
this.itemCategory = itemCategory;
}
public String getItemCategory()
{
return itemCategory;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("type", getType())
.append("category", getCategory())
.append("month", getMonth())
.append("day", getDay())
.append("energy", getEnergy())
.append("itemCategory", getItemCategory())
.toString();
}
}

View File

@ -0,0 +1,282 @@
package com.neu.carbon.footprint.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* VIEW对象 v_mes_equipment_power_detail
*
* @author neuedu
* @date 2022-07-31
*/
@ApiModel("VMesEquipmentPowerDetailView")
public class VMesEquipmentPowerDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 设备编号 */
@ApiModelProperty("设备编号")
private Long equipmentId;
/** 设备名称 */
@ApiModelProperty("设备名称")
@Excel(name = "设备名称")
private String equipmentName;
/** 计划编号 */
@ApiModelProperty("计划编号")
private Long planId;
/** BOM单编号 */
@ApiModelProperty("BOM单编号")
private Long bomId;
/** 订单编号 */
@ApiModelProperty("订单编号")
private Long orderId;
/** 生产日期 */
@ApiModelProperty(value="生产日期",example = "2021-09-10 10:20:40")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date productDate;
/** 物料 */
@ApiModelProperty("物料")
private Long materialId;
/** 待产数量 */
@ApiModelProperty("待产数量")
private Double requireQuantity;
/** 已产数量 */
@ApiModelProperty("已产数量")
private Double productQuantity;
/** 工艺 */
@ApiModelProperty("工艺")
private Long processId;
/** 生产线 */
@ApiModelProperty("生产线")
private Long productLineId;
/** 单位耗电量 */
@ApiModelProperty("单位耗电量")
@Excel(name = "单位耗电量")
private Double powerConsume;
/** 工艺名称 */
@ApiModelProperty("工艺名称")
@Excel(name = "工艺名称")
private String processName;
/** 总耗电量 */
@ApiModelProperty("总耗电量")
@Excel(name = "总耗电量")
private Double totalPowerConsume;
/** 生产线名称 */
@ApiModelProperty("生产线名称")
@Excel(name = "生产线名称")
private String productLineName;
/** 单位碳排放量 */
@ApiModelProperty("单位碳排放量")
@Excel(name = "单位碳排放量")
private Double carbonEmission;
/** 总碳排放量 */
@ApiModelProperty("总碳排放量")
@Excel(name = "总碳排放量")
private Double totalCarbonEmission;
private String hour;
public void setEquipmentId(Long equipmentId)
{
this.equipmentId = equipmentId;
}
public Long getEquipmentId()
{
return equipmentId;
}
public void setEquipmentName(String equipmentName)
{
this.equipmentName = equipmentName;
}
public String getEquipmentName()
{
return equipmentName;
}
public void setPlanId(Long planId)
{
this.planId = planId;
}
public Long getPlanId()
{
return planId;
}
public void setBomId(Long bomId)
{
this.bomId = bomId;
}
public Long getBomId()
{
return bomId;
}
public void setOrderId(Long orderId)
{
this.orderId = orderId;
}
public Long getOrderId()
{
return orderId;
}
public void setProductDate(Date productDate)
{
this.productDate = productDate;
}
public Date getProductDate()
{
return productDate;
}
public void setMaterialId(Long materialId)
{
this.materialId = materialId;
}
public Long getMaterialId()
{
return materialId;
}
public void setRequireQuantity(Double requireQuantity)
{
this.requireQuantity = requireQuantity;
}
public Double getRequireQuantity()
{
return requireQuantity;
}
public void setProductQuantity(Double productQuantity)
{
this.productQuantity = productQuantity;
}
public Double getProductQuantity()
{
return productQuantity;
}
public void setProcessId(Long processId)
{
this.processId = processId;
}
public Long getProcessId()
{
return processId;
}
public void setProductLineId(Long productLineId)
{
this.productLineId = productLineId;
}
public Long getProductLineId()
{
return productLineId;
}
public void setPowerConsume(Double powerConsume)
{
this.powerConsume = powerConsume;
}
public Double getPowerConsume()
{
return powerConsume;
}
public void setProcessName(String processName)
{
this.processName = processName;
}
public String getProcessName()
{
return processName;
}
public void setTotalPowerConsume(Double totalPowerConsume)
{
this.totalPowerConsume = totalPowerConsume;
}
public Double getTotalPowerConsume()
{
return totalPowerConsume;
}
public void setProductLineName(String productLineName)
{
this.productLineName = productLineName;
}
public String getProductLineName()
{
return productLineName;
}
public Double getCarbonEmission() {
return carbonEmission;
}
public void setCarbonEmission(Double carbonEmission) {
this.carbonEmission = carbonEmission;
}
public Double getTotalCarbonEmission() {
return totalCarbonEmission;
}
public void setTotalCarbonEmission(Double totalCarbonEmission) {
this.totalCarbonEmission = totalCarbonEmission;
}
public String getHour() {
return hour;
}
public void setHour(String hour) {
this.hour = hour;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("equipmentId", getEquipmentId())
.append("equipmentName", getEquipmentName())
.append("planId", getPlanId())
.append("bomId", getBomId())
.append("orderId", getOrderId())
.append("productDate", getProductDate())
.append("materialId", getMaterialId())
.append("requireQuantity", getRequireQuantity())
.append("productQuantity", getProductQuantity())
.append("processId", getProcessId())
.append("productLineId", getProductLineId())
.append("powerConsume", getPowerConsume())
.append("processName", getProcessName())
.append("totalPowerConsume", getTotalPowerConsume())
.append("productLineName", getProductLineName())
.toString();
}
}

View File

@ -0,0 +1,419 @@
package com.neu.carbon.footprint.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.neu.common.annotation.Excel;
import com.neu.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
/**
* VIEW对象 v_mes_product_power_detail
*
* @author neuedu
* @date 2022-07-31
*/
@ApiModel("VMesProductPowerDetailView")
public class VMesProductPowerDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 计划编号 */
@ApiModelProperty("计划编号")
@Excel(name = "计划编号")
private Long planId;
/** BOM单编号 */
@ApiModelProperty("BOM单编号")
@Excel(name = "BOM单编号")
private Long bomId;
/** 订单编号 */
@ApiModelProperty("订单编号")
@Excel(name = "订单编号")
private Long orderId;
/** 生产日期 */
@ApiModelProperty(value="生产日期",example = "2021-09-10")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date productDate;
/** 物料编号 */
@ApiModelProperty("物料编号")
@Excel(name = "物料编号")
private Long materialId;
/** 待产数量 */
@ApiModelProperty("待产数量")
@Excel(name = "待产数量")
private Double requireQuantity;
/** 已产数量 */
@ApiModelProperty("已产数量")
@Excel(name = "已产数量")
private Double productQuantity;
/** 工艺编号 */
@ApiModelProperty("工艺编号")
@Excel(name = "工艺编号")
private Long processId;
/** 生产线编号 */
@ApiModelProperty("生产线编号")
@Excel(name = "生产线编号")
private Long productLineId;
/** 耗电量 */
@ApiModelProperty("单位耗电量")
@Excel(name = "单位耗电量")
private Double powerConsume;
/** 工艺名称 */
@ApiModelProperty("工艺名称")
@Excel(name = "工艺名称")
private String processName;
/** 生产总耗电量 */
@ApiModelProperty("生产总耗电量")
@Excel(name = "生产总耗电量")
private Double totalPowerConsume;
/** 生产线名称 */
@ApiModelProperty("生产线名称")
@Excel(name = "生产线名称")
private String productLineName;
/** 生产总节电量 */
@ApiModelProperty("生产总节电量")
@Excel(name = "生产总节电量")
private Double totalPrdPowerSave;
/** 办公总节电量 */
@ApiModelProperty("办公总节电量")
@Excel(name = "办公总节电量")
private Double totalOfficePowerSave;
@ApiModelProperty("月份")
@Excel(name = "月份")
private String productMonth;
@ApiModelProperty("年份")
@Excel(name = "年份")
private String productYear;
/** 碳排放总量 */
@ApiModelProperty("碳排放总量")
@Excel(name = "碳排放总量")
private Double totalCarbonEmission;
/** 减少碳排放总量 */
@ApiModelProperty("减少碳排放总量")
@Excel(name = "减少碳排放总量")
private Double totalCarbonSave;
/** 单位碳排放量 */
@ApiModelProperty("单位碳排放量")
@Excel(name = "单位碳排放量")
private Double carbonEmission;
/** 物料名称 */
@ApiModelProperty("物料名称")
@Excel(name = "物料名称")
private String materialName;
/** 型号 */
@ApiModelProperty("物料型号")
@Excel(name = "物料型号")
private String materialModel;
/** 规格 */
@ApiModelProperty("物料规格")
@Excel(name = "物料规格")
private String materialSpecification;
/** 单位 */
@ApiModelProperty("物料单位")
@Excel(name = "物料单位")
private String materialUnit;
/** 生产总用水量 */
@ApiModelProperty("生产总用水量")
@Excel(name = "生产总用水量")
private Double totalWaterConsume;
/** 办公总用水量 */
@ApiModelProperty("办公总用水量")
@Excel(name = "办公总用水量")
private Double totalOfficeWaterConsume;
/** 办公总用电量 */
@ApiModelProperty("办公总用电量")
@Excel(name = "办公总用电量")
private Double totalOfficePowerConsume;
/** 总库存 */
@ApiModelProperty("总库存")
@Excel(name = "总库存")
private Double totalInventory;
public void setPlanId(Long planId)
{
this.planId = planId;
}
public Long getPlanId()
{
return planId;
}
public void setBomId(Long bomId)
{
this.bomId = bomId;
}
public Long getBomId()
{
return bomId;
}
public void setOrderId(Long orderId)
{
this.orderId = orderId;
}
public Long getOrderId()
{
return orderId;
}
public void setProductDate(Date productDate)
{
this.productDate = productDate;
}
public Date getProductDate()
{
return productDate;
}
public void setMaterialId(Long materialId)
{
this.materialId = materialId;
}
public Long getMaterialId()
{
return materialId;
}
public void setRequireQuantity(Double requireQuantity)
{
this.requireQuantity = requireQuantity;
}
public Double getRequireQuantity()
{
return requireQuantity;
}
public void setProductQuantity(Double productQuantity)
{
this.productQuantity = productQuantity;
}
public Double getProductQuantity()
{
return productQuantity;
}
public void setProcessId(Long processId)
{
this.processId = processId;
}
public Long getProcessId()
{
return processId;
}
public void setProductLineId(Long productLineId)
{
this.productLineId = productLineId;
}
public Long getProductLineId()
{
return productLineId;
}
public void setPowerConsume(Double powerConsume)
{
this.powerConsume = powerConsume;
}
public Double getPowerConsume()
{
return powerConsume;
}
public void setProcessName(String processName)
{
this.processName = processName;
}
public String getProcessName()
{
return processName;
}
public void setTotalPowerConsume(Double totalPowerConsume)
{
this.totalPowerConsume = totalPowerConsume;
}
public Double getTotalPowerConsume()
{
return totalPowerConsume;
}
public void setProductLineName(String productLineName)
{
this.productLineName = productLineName;
}
public String getProductLineName()
{
return productLineName;
}
public Double getTotalPrdPowerSave() {
return totalPrdPowerSave;
}
public void setTotalPrdPowerSave(Double totalPowerSave) {
this.totalPrdPowerSave = totalPowerSave;
}
public String getProductMonth() {
return productMonth;
}
public void setProductMonth(String productMonth) {
this.productMonth = productMonth;
}
public Double getTotalOfficePowerSave() {
return totalOfficePowerSave;
}
public void setTotalOfficePowerSave(Double totalOfficePowerSave) {
this.totalOfficePowerSave = totalOfficePowerSave;
}
public Double getTotalCarbonEmission() {
return totalCarbonEmission;
}
public void setTotalCarbonEmission(Double totalCarbonEmission) {
this.totalCarbonEmission = totalCarbonEmission;
}
public Double getTotalCarbonSave() {
return totalCarbonSave;
}
public void setTotalCarbonSave(Double totalCarbonSave) {
this.totalCarbonSave = totalCarbonSave;
}
public String getProductYear() {
return productYear;
}
public void setProductYear(String productYear) {
this.productYear = productYear;
}
public Double getCarbonEmission() {
return carbonEmission;
}
public void setCarbonEmission(Double carbonEmission) {
this.carbonEmission = carbonEmission;
}
public String getMaterialName() {
return materialName;
}
public void setMaterialName(String materialName) {
this.materialName = materialName;
}
public String getMaterialModel() {
return materialModel;
}
public void setMaterialModel(String materialModel) {
this.materialModel = materialModel;
}
public String getMaterialSpecification() {
return materialSpecification;
}
public void setMaterialSpecification(String materialSpecification) {
this.materialSpecification = materialSpecification;
}
public String getMaterialUnit() {
return materialUnit;
}
public void setMaterialUnit(String materialUnit) {
this.materialUnit = materialUnit;
}
public Double getTotalWaterConsume() {
return totalWaterConsume;
}
public void setTotalWaterConsume(Double totalWaterConsume) {
this.totalWaterConsume = totalWaterConsume;
}
public Double getTotalOfficeWaterConsume() {
return totalOfficeWaterConsume;
}
public void setTotalOfficeWaterConsume(Double totalOfficeWaterConsume) {
this.totalOfficeWaterConsume = totalOfficeWaterConsume;
}
public Double getTotalOfficePowerConsume() {
return totalOfficePowerConsume;
}
public void setTotalOfficePowerConsume(Double totalOfficePowerConsume) {
this.totalOfficePowerConsume = totalOfficePowerConsume;
}
public Double getTotalInventory() {
return totalInventory;
}
public void setTotalInventory(Double totalInventory) {
this.totalInventory = totalInventory;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("planId", getPlanId())
.append("bomId", getBomId())
.append("orderId", getOrderId())
.append("productDate", getProductDate())
.append("materialId", getMaterialId())
.append("requireQuantity", getRequireQuantity())
.append("productQuantity", getProductQuantity())
.append("processId", getProcessId())
.append("productLineId", getProductLineId())
.append("powerConsume", getPowerConsume())
.append("processName", getProcessName())
.append("totalPowerConsume", getTotalPowerConsume())
.append("productLineName", getProductLineName())
.toString();
}
}

View File

@ -0,0 +1,62 @@
package com.neu.carbon.footprint.mapper;
import com.neu.carbon.footprint.domain.CfConfigEmissionChange;
import java.util.List;
/**
* 变化碳排放Mapper接口
*
* @author neuedu
* @date 2022-07-22
*/
public interface CfConfigEmissionChangeMapper
{
/**
* 查询变化碳排放
*
* @param id 变化碳排放ID
* @return 变化碳排放
*/
public CfConfigEmissionChange selectCfConfigEmissionChangeById(Long id);
/**
* 查询变化碳排放列表
*
* @param cfConfigEmissionChange 变化碳排放
* @return 变化碳排放集合
*/
public List<CfConfigEmissionChange> selectCfConfigEmissionChangeList(CfConfigEmissionChange cfConfigEmissionChange);
/**
* 新增变化碳排放
*
* @param cfConfigEmissionChange 变化碳排放
* @return 结果
*/
public int insertCfConfigEmissionChange(CfConfigEmissionChange cfConfigEmissionChange);
/**
* 修改变化碳排放
*
* @param cfConfigEmissionChange 变化碳排放
* @return 结果
*/
public int updateCfConfigEmissionChange(CfConfigEmissionChange cfConfigEmissionChange);
/**
* 删除变化碳排放
*
* @param id 变化碳排放ID
* @return 结果
*/
public int deleteCfConfigEmissionChangeById(Long id);
/**
* 批量删除变化碳排放
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteCfConfigEmissionChangeByIds(Long[] ids);
}

View File

@ -0,0 +1,62 @@
package com.neu.carbon.footprint.mapper;
import com.neu.carbon.footprint.domain.CfConfigEmissionFixed;
import java.util.List;
/**
* 固定碳排放Mapper接口
*
* @author neuedu
* @date 2022-07-22
*/
public interface CfConfigEmissionFixedMapper
{
/**
* 查询固定碳排放
*
* @param id 固定碳排放ID
* @return 固定碳排放
*/
public CfConfigEmissionFixed selectCfConfigEmissionFixedById(Long id);
/**
* 查询固定碳排放列表
*
* @param cfConfigEmissionFixed 固定碳排放
* @return 固定碳排放集合
*/
public List<CfConfigEmissionFixed> selectCfConfigEmissionFixedList(CfConfigEmissionFixed cfConfigEmissionFixed);
/**
* 新增固定碳排放
*
* @param cfConfigEmissionFixed 固定碳排放
* @return 结果
*/
public int insertCfConfigEmissionFixed(CfConfigEmissionFixed cfConfigEmissionFixed);
/**
* 修改固定碳排放
*
* @param cfConfigEmissionFixed 固定碳排放
* @return 结果
*/
public int updateCfConfigEmissionFixed(CfConfigEmissionFixed cfConfigEmissionFixed);
/**
* 删除固定碳排放
*
* @param id 固定碳排放ID
* @return 结果
*/
public int deleteCfConfigEmissionFixedById(Long id);
/**
* 批量删除固定碳排放
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteCfConfigEmissionFixedByIds(Long[] ids);
}

View File

@ -0,0 +1,62 @@
package com.neu.carbon.footprint.mapper;
import com.neu.carbon.footprint.domain.CfConfigNeutral;
import java.util.List;
/**
* 碳中和计算比例Mapper接口
*
* @author neuedu
* @date 2022-07-22
*/
public interface CfConfigNeutralMapper
{
/**
* 查询碳中和计算比例
*
* @param id 碳中和计算比例ID
* @return 碳中和计算比例
*/
public CfConfigNeutral selectCfConfigNeutralById(Long id);
/**
* 查询碳中和计算比例列表
*
* @param cfConfigNeutral 碳中和计算比例
* @return 碳中和计算比例集合
*/
public List<CfConfigNeutral> selectCfConfigNeutralList(CfConfigNeutral cfConfigNeutral);
/**
* 新增碳中和计算比例
*
* @param cfConfigNeutral 碳中和计算比例
* @return 结果
*/
public int insertCfConfigNeutral(CfConfigNeutral cfConfigNeutral);
/**
* 修改碳中和计算比例
*
* @param cfConfigNeutral 碳中和计算比例
* @return 结果
*/
public int updateCfConfigNeutral(CfConfigNeutral cfConfigNeutral);
/**
* 删除碳中和计算比例
*
* @param id 碳中和计算比例ID
* @return 结果
*/
public int deleteCfConfigNeutralById(Long id);
/**
* 批量删除碳中和计算比例
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteCfConfigNeutralByIds(Long[] ids);
}

View File

@ -0,0 +1,61 @@
package com.neu.carbon.footprint.mapper;
import java.util.List;
import com.neu.carbon.footprint.domain.CfElectricCheckpoint;
/**
* 能效检测点Mapper接口
*
* @author neuedu
* @date 2022-07-22
*/
public interface CfElectricCheckpointMapper
{
/**
* 查询能效检测点
*
* @param id 能效检测点ID
* @return 能效检测点
*/
public CfElectricCheckpoint selectCfElectricCheckpointById(Long id);
/**
* 查询能效检测点列表
*
* @param cfElectricCheckpoint 能效检测点
* @return 能效检测点集合
*/
public List<CfElectricCheckpoint> selectCfElectricCheckpointList(CfElectricCheckpoint cfElectricCheckpoint);
/**
* 新增能效检测点
*
* @param cfElectricCheckpoint 能效检测点
* @return 结果
*/
public int insertCfElectricCheckpoint(CfElectricCheckpoint cfElectricCheckpoint);
/**
* 修改能效检测点
*
* @param cfElectricCheckpoint 能效检测点
* @return 结果
*/
public int updateCfElectricCheckpoint(CfElectricCheckpoint cfElectricCheckpoint);
/**
* 删除能效检测点
*
* @param id 能效检测点ID
* @return 结果
*/
public int deleteCfElectricCheckpointById(Long id);
/**
* 批量删除能效检测点
*
* @param ids 需要删除的数据ID
* @return 结果
*/
public int deleteCfElectricCheckpointByIds(Long[] ids);
}

Some files were not shown because too many files have changed in this diff Show More