Commit 85f1a48e by 涂亚平

导数据前版本备份

1 parent 461bd570
Showing with 3706 additions and 203 deletions
2023-04-12 14:01:43,192 [http-nio-34567-exec-8] ERROR com.laowu.common.exception.GlobalExceptionHandler:88 - JSON parse error: Cannot deserialize value of type `java.lang.Long` from String "上海市": not a valid Long value; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.lang.Long` from String "上海市": not a valid Long value
at [Source: (PushbackInputStream); line: 1, column: 78] (through reference chain: com.laowu.dto.company.StationCompanyDTO["stationId"])
2023-04-12 14:02:03,502 [http-nio-34567-exec-8] ERROR com.laowu.common.exception.GlobalExceptionHandler:88 - JSON parse error: Cannot deserialize value of type `java.lang.Long` from String "上海市": not a valid Long value; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.lang.Long` from String "上海市": not a valid Long value
at [Source: (PushbackInputStream); line: 1, column: 78] (through reference chain: com.laowu.dto.company.StationCompanyDTO["stationId"])
2023-05-22 09:54:53,188 [http-nio-34567-exec-2] ERROR com.laowu.common.exception.GlobalExceptionHandler:88 - JSON parse error: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token
at [Source: (PushbackInputStream); line: 2, column: 16] (through reference chain: com.laowu.model.MemberDictDO["userName"])
2023-05-22 09:56:25,376 [http-nio-34567-exec-5] ERROR com.laowu.common.exception.GlobalExceptionHandler:88 - JSON parse error: Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be included in string value; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Illegal unquoted character ((CTRL-CHAR, code 13)): has to be escaped using backslash to be included in string value
at [Source: (PushbackInputStream); line: 2, column: 16] (through reference chain: com.laowu.model.MemberDictDO["userName"])
2023-05-22 09:56:54,840 [http-nio-34567-exec-8] ERROR com.laowu.common.exception.GlobalExceptionHandler:88 - JSON parse error: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token
at [Source: (PushbackInputStream); line: 2, column: 16] (through reference chain: com.laowu.model.MemberDictDO["userName"])
2023-07-06 16:53:26,161 [main] ERROR org.apache.catalina.util.LifecycleBase:175 - Failed to start component [Connector[HTTP/1.1-34567]]
org.apache.catalina.LifecycleException: Protocol handler start failed
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1008)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:263)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:195)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:297)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:743)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:390)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1214)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1203)
at com.laowu.LaowuApplication.main(LaowuApplication.java:14)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:230)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:213)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1124)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1210)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:585)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1005)
... 14 common frames omitted
2023-07-06 16:53:26,184 [main] ERROR org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter:40 -
***************************
APPLICATION FAILED TO START
***************************
Description:
The Tomcat connector configured to listen on port 34567 failed to start. The port may already be in use or the connector may be misconfigured.
Action:
Verify the connector's configuration, identify and stop any process that's listening on port 34567, or configure this application to listen on another port.
2023-07-06 17:05:55,745 [main] ERROR org.apache.catalina.util.LifecycleBase:175 - Failed to start component [Connector[HTTP/1.1-34567]]
org.apache.catalina.LifecycleException: Protocol handler start failed
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1008)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:263)
at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:195)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.startWebServer(ServletWebServerApplicationContext.java:297)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:163)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:552)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:743)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:390)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1214)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1203)
at com.laowu.LaowuApplication.main(LaowuApplication.java:14)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:230)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:213)
at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1124)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1210)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:585)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:1005)
... 14 common frames omitted
2023-07-06 17:05:55,766 [main] ERROR org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter:40 -
***************************
APPLICATION FAILED TO START
***************************
Description:
The Tomcat connector configured to listen on port 34567 failed to start. The port may already be in use or the connector may be misconfigured.
Action:
Verify the connector's configuration, identify and stop any process that's listening on port 34567, or configure this application to listen on another port.
2023-04-23 16:39:40,343 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$79439454] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-04-23 16:39:40,530 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:90 - Tomcat initialized with port(s): 34567 (http)
2023-04-23 16:39:40,542 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-34567"]
2023-04-23 16:39:40,547 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2023-04-23 16:39:40,548 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.22]
2023-04-23 16:39:40,628 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2023-04-23 16:39:40,628 [main] INFO org.springframework.web.context.ContextLoader:284 - Root WebApplicationContext: initialization completed in 1188 ms
2023-04-23 16:39:40,711 [main] INFO com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure:56 - Init DruidDataSource
2023-04-23 16:39:41,821 [main] INFO com.alibaba.druid.pool.DruidDataSource:994 - {dataSource-1} inited
2023-04-23 16:39:43,431 [main] INFO springfox.documentation.spring.web.PropertySourcedRequestMappingHandlerMapping:69 - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2023-04-23 16:39:43,507 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:171 - Initializing ExecutorService 'applicationTaskExecutor'
2023-04-23 16:39:43,659 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:160 - Context refreshed
2023-04-23 16:39:43,672 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:163 - Found 1 custom documentation plugin(s)
2023-04-23 16:39:43,697 [main] INFO springfox.documentation.spring.web.scanners.ApiListingReferenceScanner:41 - Scanning for api listing references
2023-04-23 16:39:43,866 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addCollegeUsingPOST_1
2023-04-23 16:39:43,868 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteCollegeUsingPOST_1
2023-04-23 16:39:43,868 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updateCollegeUsingPOST_1
2023-04-23 16:39:43,889 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addJobUsingPOST_1
2023-04-23 16:39:43,890 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteJobUsingPOST_1
2023-04-23 16:39:43,891 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updateJobUsingPOST_1
2023-04-23 16:39:43,902 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addPositionUsingPOST_1
2023-04-23 16:39:43,903 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deletePositionUsingPOST_1
2023-04-23 16:39:43,904 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updatePositionUsingPOST_1
2023-04-23 16:39:43,914 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addPositionUsingPOST_2
2023-04-23 16:39:43,916 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deletePositionUsingPOST_2
2023-04-23 16:39:43,916 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updatePositionUsingPOST_2
2023-04-23 16:39:43,958 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addAdministerUsingPOST_1
2023-04-23 16:39:43,966 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updateAdministerUsingPOST_1
2023-04-23 16:39:43,968 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteRequireUsingPOST_1
2023-04-23 16:39:43,969 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: requireStationsUsingPOST_1
2023-04-23 16:39:43,970 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: requiresUsingPOST_1
2023-04-23 16:39:43,971 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: shareUsingPOST_1
2023-04-23 16:39:43,983 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Starting ProtocolHandler ["http-nio-34567"]
2023-04-23 16:39:44,002 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:202 - Tomcat started on port(s): 34567 (http) with context path ''
2023-04-23 16:39:47,345 [http-nio-34567-exec-1] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-04-23 16:39:47,345 [http-nio-34567-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:524 - Initializing Servlet 'dispatcherServlet'
2023-04-23 16:39:47,351 [http-nio-34567-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:546 - Completed initialization in 6 ms
2023-07-31 11:16:43,146 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$856a7738] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-07-31 11:16:43,335 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:90 - Tomcat initialized with port(s): 34567 (http)
2023-07-31 11:16:43,345 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-34567"]
2023-07-31 11:16:43,350 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2023-07-31 11:16:43,350 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.22]
2023-07-31 11:16:43,355 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - Loaded APR based Apache Tomcat Native library [1.2.37] using APR version [1.7.4].
2023-07-31 11:16:43,355 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2023-07-31 11:16:43,355 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
2023-07-31 11:16:43,366 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - OpenSSL successfully initialized [OpenSSL 1.1.1u 30 May 2023]
2023-07-31 11:16:43,445 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2023-07-31 11:16:43,445 [main] INFO org.springframework.web.context.ContextLoader:284 - Root WebApplicationContext: initialization completed in 1339 ms
2023-07-31 11:16:43,541 [main] INFO com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure:56 - Init DruidDataSource
2023-07-31 11:16:44,656 [main] INFO com.alibaba.druid.pool.DruidDataSource:994 - {dataSource-1} inited
2023-07-31 11:16:46,295 [main] INFO springfox.documentation.spring.web.PropertySourcedRequestMappingHandlerMapping:69 - Mapped URL path [/v2/api-docs] onto method [public org.springframework.http.ResponseEntity<springfox.documentation.spring.web.json.Json> springfox.documentation.swagger2.web.Swagger2Controller.getDocumentation(java.lang.String,javax.servlet.http.HttpServletRequest)]
2023-07-31 11:16:46,375 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:171 - Initializing ExecutorService 'applicationTaskExecutor'
2023-07-31 11:16:46,563 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:160 - Context refreshed
2023-07-31 11:16:46,576 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:163 - Found 1 custom documentation plugin(s)
2023-07-31 11:16:46,602 [main] INFO springfox.documentation.spring.web.scanners.ApiListingReferenceScanner:41 - Scanning for api listing references
2023-07-31 11:16:46,781 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addCollegeUsingPOST_1
2023-07-31 11:16:46,782 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteCollegeUsingPOST_1
2023-07-31 11:16:46,783 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updateCollegeUsingPOST_1
2023-07-31 11:16:46,813 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addJobUsingPOST_1
2023-07-31 11:16:46,814 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteJobUsingPOST_1
2023-07-31 11:16:46,815 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updateJobUsingPOST_1
2023-07-31 11:16:46,824 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addPositionUsingPOST_1
2023-07-31 11:16:46,825 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deletePositionUsingPOST_1
2023-07-31 11:16:46,826 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updatePositionUsingPOST_1
2023-07-31 11:16:46,846 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addPositionUsingPOST_2
2023-07-31 11:16:46,847 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deletePositionUsingPOST_2
2023-07-31 11:16:46,848 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updatePositionUsingPOST_2
2023-07-31 11:16:46,880 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: importUsersUsingPOST_1
2023-07-31 11:16:46,887 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addAdministerUsingPOST_1
2023-07-31 11:16:46,892 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updateAdministerUsingPOST_1
2023-07-31 11:16:46,894 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: addGeoUsingPOST_1
2023-07-31 11:16:46,894 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteGeoUsingPOST_1
2023-07-31 11:16:46,895 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: updateGeoUsingPOST_1
2023-07-31 11:16:46,897 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: deleteRequireUsingPOST_1
2023-07-31 11:16:46,897 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: requireStationsUsingPOST_1
2023-07-31 11:16:46,898 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: requiresUsingPOST_1
2023-07-31 11:16:46,898 [main] INFO springfox.documentation.spring.web.readers.operation.CachingOperationNameGenerator:40 - Generating unique operation named: shareUsingPOST_1
2023-07-31 11:16:46,911 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Starting ProtocolHandler ["http-nio-34567"]
2023-07-31 11:16:46,929 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:202 - Tomcat started on port(s): 34567 (http) with context path ''
package com.laowu.controller;
import com.laowu.dto.administer.AddAdministerRoleDTO;
import com.laowu.dto.geo.WorkstationRoleGeosDTO;
import com.laowu.dto.station.UpdateAdministerRoleDTO;
import com.laowu.model.AdministerStationRoleDO;
import com.laowu.service.AdministerStationRoleService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 管理员-管理区域表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-06-19
*/
@RestController
@Api(tags = "管理员-管理区域表")
@RequestMapping("/administerStationRole")
public class AdministerStationRoleController {
@Autowired
private AdministerStationRoleService administerStationRoleService;
@PostMapping("workstationRoleGeos")
@ApiOperation("查看工作站下管理员所属的管理区域 workstationId roleId province city county town village")
public ResponseVO workstationRoleGeos(@RequestBody WorkstationRoleGeosDTO workstationRoleGeosDTO) {
return ResponseData.generateCreatedResponse(0, administerStationRoleService.workstationRoleGeos(workstationRoleGeosDTO));
}
@PostMapping("deleteAdministerRole")
@ApiOperation("删除管理员角色 workstationId roleId administerId")
public ResponseVO deleteAdministerRole(@RequestBody AdministerStationRoleDO administerStationRoleDO) {
return ResponseData.generateCreatedResponse(0, administerStationRoleService.deleteAdministerRole(administerStationRoleDO));
}
@PostMapping("addAdministerRole")
@ApiOperation("添加账户 workstationId userName roleId telephone geos[province city county town village] ")
public ResponseVO addAdministerRole(@RequestBody AddAdministerRoleDTO addAdministerRoleDTO) {
return ResponseData.generateCreatedResponse(0, administerStationRoleService.addAdministerRole(addAdministerRoleDTO));
}
@PostMapping("deleteAdministerRoleGeo")
@ApiOperation("删除管理员的某个管理区域 id ")
public ResponseVO deleteAdministerRoleGeo(@RequestBody AdministerStationRoleDO administerStationRoleDO) {
return ResponseData.generateCreatedResponse(0, administerStationRoleService.deleteAdministerRoleGeo(administerStationRoleDO));
}
@PostMapping("administerStations")
@ApiOperation("查看某个用户所涉及的工作站 administerId")
public ResponseVO administerStations(@RequestBody AdministerStationRoleDO administerStationRoleDO){
return ResponseData.generateCreatedResponse(0,administerStationRoleService.administerStations(administerStationRoleDO));
}
@PostMapping("updateAdministerRole")
@ApiOperation("编辑账户 administerId telephone userName geos[province city county town village] ")
public ResponseVO updateAdministerRole(@RequestBody UpdateAdministerRoleDTO updateAdministerRoleDTO ){
return ResponseData.generateCreatedResponse(0,administerStationRoleService.updateAdministerRole(updateAdministerRoleDTO));
}
}
......@@ -47,13 +47,13 @@ public class CompanyDictController {
}
@PostMapping("addCompany")
@ApiOperation("添加企业 userId module 模块 companyName companyLogo province city county businessId companyCode account companyDesc companyOrigin companyPhotoDOS[ photo] companyLabelDOS[ label] 关联业务 stationId")
@ApiOperation("添加企业 userId module 模块 companyName companyProperty companyLogo province city county businessId companyCode account companyDesc companyOrigin companyPhotoDOS[ photo] companyLabelDOS[ label] 关联业务 stationId")
public ResponseVO addCompany(@RequestBody AddCompanyDTO addCompanyDTO){
return ResponseData.generateCreatedResponse(0,companyDictService.addCompany(addCompanyDTO));
}
@PostMapping("updateCompany")
@ApiOperation("更新企业 userId module id companyName companyLogo province city county businessId companyCode account companyDesc companyOrigin companyPhotoDOS[ photo] companyLabelDOS[ label] 关联业务 stationId")
@ApiOperation("更新企业 userId module id companyName companyLogo companyProperty province city county businessId companyCode account companyDesc companyOrigin companyPhotoDOS[ photo] companyLabelDOS[ label] 关联业务 stationId")
public ResponseVO updateCompany(@RequestBody AddCompanyDTO addCompanyDTO){
return ResponseData.generateCreatedResponse(0,companyDictService.updateCompany(addCompanyDTO));
}
......@@ -76,4 +76,10 @@ public class CompanyDictController {
return ResponseData.generateCreatedResponse(0,companyDictService.stationCompany(stationCompanyDTO));
}
@PostMapping("companyCard")
@ApiOperation("公司名片 id 公司id")
public ResponseVO companyCard(@RequestBody CompanyDictDO companyDictDO){
return ResponseData.generateCreatedResponse(0,companyDictService.companyCard(companyDictDO));
}
}
......@@ -2,6 +2,7 @@ package com.laowu.controller;
import com.laowu.dto.geo.AllGeosDTO;
import com.laowu.dto.geo.LocalGeoMembersDTO;
import com.laowu.model.LibGeoLocationDO;
import com.laowu.service.LibGeoLocationService;
import com.laowu.util.ResponseData;
......@@ -31,26 +32,44 @@ public class LibGeoLocationController {
private LibGeoLocationService libGeoLocationService;
@PostMapping("provinces")
@ApiOperation("查询所有的省")
@ApiOperation("查询所有的省市县")
public ResponseVO provinces(){
return ResponseData.generateCreatedResponse(0,libGeoLocationService.provinces());
}
// @PostMapping("cities")
// @ApiOperation("通过省去查所有市 province")
// public ResponseVO cities(@RequestBody LibGeoLocationDO libGeoLocationDO){
// return ResponseData.generateCreatedResponse(0,libGeoLocationService.cities(libGeoLocationDO));
// }
//
// @PostMapping("county")
// @ApiOperation("通过省、市去查所有县 province,city")
// public ResponseVO county(@RequestBody LibGeoLocationDO libGeoLocationDO){
// return ResponseData.generateCreatedResponse(0,libGeoLocationService.county(libGeoLocationDO));
// }
@PostMapping("province")
@ApiOperation("查询所有省")
public ResponseVO province(){
return ResponseData.generateCreatedResponse(0,libGeoLocationService.province());
}
@PostMapping("cities")
@ApiOperation("通过省去查所有市 province")
public ResponseVO cities(@RequestBody LibGeoLocationDO libGeoLocationDO){
return ResponseData.generateCreatedResponse(0,libGeoLocationService.cities(libGeoLocationDO));
}
@PostMapping("county")
@ApiOperation("通过省、市去查所有县 province,city")
public ResponseVO county(@RequestBody LibGeoLocationDO libGeoLocationDO){
return ResponseData.generateCreatedResponse(0,libGeoLocationService.county(libGeoLocationDO));
}
@PostMapping("town")
@ApiOperation("通过省市县去查所有镇")
public ResponseVO town(@RequestBody LibGeoLocationDO libGeoLocationDO){
return ResponseData.generateCreatedResponse(0,libGeoLocationService.town(libGeoLocationDO));
}
@PostMapping("village")
@ApiOperation("通过省市县去查所有镇 province city county town")
public ResponseVO village(@RequestBody LibGeoLocationDO libGeoLocationDO){
return ResponseData.generateCreatedResponse(0,libGeoLocationService.village(libGeoLocationDO));
}
@PostMapping("villages")
@ApiOperation("通过省市县镇 查村 province city county town")
public ResponseVO village(@RequestBody LibGeoLocationDO libGeoLocationDO){
public ResponseVO villages(@RequestBody LibGeoLocationDO libGeoLocationDO){
return ResponseData.generateCreatedResponse(0,libGeoLocationService.villages(libGeoLocationDO));
}
......@@ -78,4 +97,19 @@ public class LibGeoLocationController {
return ResponseData.generateCreatedResponse(0,libGeoLocationService.deleteGeo(libGeoLocationDO));
}
// @PostMapping("localVillages")
// @ApiOperation("通过省市查看本地县-镇-村 province city")
// public ResponseVO localVillages(@RequestBody LibGeoLocationDO libGeoLocationDO){
// return ResponseData.generateCreatedResponse(0,libGeoLocationService.localVillages(libGeoLocationDO));
// }
@PostMapping("localGeoMembers")
@ApiOperation("数据普查区域 workstationId county town village")
public ResponseVO localGeoMembers(@RequestBody LocalGeoMembersDTO localGeoMembersDTO){
return ResponseData.generateCreatedResponse(0,libGeoLocationService.localGeoMembers(localGeoMembersDTO));
}
}
package com.laowu.controller;
import com.laowu.dto.member.AddMemberDTO;
import com.laowu.dto.member.AllMembersDTO;
import com.laowu.dto.member.UpdateMemberDTO;
import com.laowu.dto.member.*;
import com.laowu.model.MemberDictDO;
import com.laowu.service.MemberDictService;
import com.laowu.util.ResponseData;
......@@ -11,10 +9,10 @@ import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* <p>
......@@ -33,7 +31,7 @@ public class MemberDictController {
private MemberDictService memberDictService;
@PostMapping("allMembers")
@ApiOperation("查询所有自然人 pageSize pageNum province city county status userName")
@ApiOperation("查询所有自然人 pageSize pageNum province city county status userName positionId")
public ResponseVO allMembers(@RequestBody AllMembersDTO allMembersDTO){
return ResponseData.generateCreatedResponse(0,memberDictService.allMembers(allMembersDTO));
}
......@@ -64,6 +62,36 @@ public class MemberDictController {
return ResponseData.generateCreatedResponse(0,memberDictService.updateMember(updateMemberDTO));
}
@PostMapping("memberCard")
@ApiOperation("自然人名片 id")
public ResponseVO memberCard(@RequestBody MemberDictDO memberDictDO){
return ResponseData.generateCreatedResponse(0,memberDictService.memberCard(memberDictDO));
}
@PostMapping("importUsers")
@ApiOperation("导入用户 workstationId teamId file")
public ResponseVO importUsers(@RequestParam("workstationId") String workstationId,@RequestParam("teamId") String teamId,@RequestParam("file") MultipartFile file){
return ResponseData.generateCreatedResponse(0,memberDictService.importMember(workstationId,teamId,file));
}
@PostMapping("downloadErrorData")
@ApiOperation("下载错误数据 importMemberVOS[index userName idCard province city county address telephone major education isPoor isMigration isParty failReason ]")
public ResponseVO downloadErrorData(@RequestBody DownloadErrorDataDTO downloadErrorDataDTO){
return ResponseData.generateCreatedResponse(0,memberDictService.downloadErrorData(downloadErrorDataDTO));
}
@PostMapping("address")
@ApiOperation("地址 导入省市县镇")
public void address (@RequestBody List<AddressDTO> addressDTO){
memberDictService.address(addressDTO);
}
@PostMapping("roster")
@ApiOperation("花名册 pageSize pageNum province city county ")
public ResponseVO roster(@RequestBody RosterDTO rosterDTO){
return ResponseData.generateCreatedResponse(0,memberDictService.roster(rosterDTO));
}
}
package com.laowu.controller;
import com.laowu.dto.label.AddNewsDTO;
import com.laowu.dto.label.NewsDTO;
import com.laowu.model.NewsDictDO;
import com.laowu.service.NewsDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@RestController
@Api(tags = "新闻字典表")
@RequestMapping("/newsDict")
public class NewsDictController {
@Autowired
private NewsDictService newsDictService;
@PostMapping("news")
@ApiOperation("查看所有新闻 pageSize pageNum title labelId")
public ResponseVO news(@RequestBody NewsDTO newsDTO){
return ResponseData.generateCreatedResponse(0,newsDictService.news(newsDTO));
}
@PostMapping("top")
@ApiOperation("id 需要置顶的id")
public ResponseVO top(@RequestBody NewsDictDO newsDictDO){
return ResponseData.generateCreatedResponse(0,newsDictService.top(newsDictDO));
}
@PostMapping("deleteNews")
@ApiOperation("删除新闻 id 新闻id")
public ResponseVO deleteNews(@RequestBody NewsDictDO newsDictDO){
return ResponseData.generateCreatedResponse(0,newsDictService.deleteNews(newsDictDO));
}
@PostMapping("addNews")
@ApiOperation("新建新闻 labelIds[] title guiding status publishDate publishId content coverPage ")
public ResponseVO addNews(@RequestBody AddNewsDTO addNewsDTO){
return ResponseData.generateCreatedResponse(0,newsDictService.addNews(addNewsDTO));
}
@PostMapping("updateNews")
@ApiOperation(" 修改新闻 id labelIds[] title guiding status publishDate publishId content coverPage ")
public ResponseVO updateNews(@RequestBody AddNewsDTO updateNewsDTO){
return ResponseData.generateCreatedResponse(0,newsDictService.updateNews(updateNewsDTO));
}
@PostMapping("oneNews")
@ApiOperation("查看详情 id")
public ResponseVO oneNews(@RequestBody NewsDictDO newsDictDO){
return ResponseData.generateCreatedResponse(0,newsDictService.oneNews(newsDictDO));
}
@PostMapping("noTopNews")
@ApiOperation("除去置顶的新闻 pageSize pageNum title labelId ")
public ResponseVO noTopNews(@RequestBody NewsDTO newsDTO){
return ResponseData.generateCreatedResponse(0,newsDictService.noTopNews(newsDTO));
}
}
package com.laowu.controller;
import com.laowu.model.NewsLabelDictDO;
import com.laowu.service.NewsLabelDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@RestController
@Api(tags = "标签字典表")
@RequestMapping("/newsLabelDict")
public class NewsLabelDictController {
@Autowired
private NewsLabelDictService newsLabelDictService;
@PostMapping("addLabel")
@ApiOperation("添加标签 label createBy")
public ResponseVO addLabel(@RequestBody NewsLabelDictDO newsLabelDictDO){
return ResponseData.generateCreatedResponse(0,newsLabelDictService.addLabel(newsLabelDictDO));
}
@PostMapping("updateLabel")
@ApiOperation("修改标签 id label createBy")
public ResponseVO updateLabel(@RequestBody NewsLabelDictDO newsLabelDictDO){
return ResponseData.generateCreatedResponse(0,newsLabelDictService.updateLabel(newsLabelDictDO));
}
@PostMapping("deleteLabel")
@ApiOperation("删除标签 id")
public ResponseVO deleteLabel(@RequestBody NewsLabelDictDO newsLabelDictDO){
return ResponseData.generateCreatedResponse(0,newsLabelDictService.deleteLabel(newsLabelDictDO));
}
@PostMapping("lables")
@ApiOperation("查询标签 label")
public ResponseVO lables(@RequestBody NewsLabelDictDO newsLabelDictDO){
return ResponseData.generateCreatedResponse(0,newsLabelDictService.lables(newsLabelDictDO));
}
}
package com.laowu.controller;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@RestController
@Api(tags = "")
@RequestMapping("/newsLabels")
public class NewsLabelsController {
}
package com.laowu.controller;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.*;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import com.laowu.vo.oss.GetSecretVO;
......@@ -18,15 +19,19 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
@Api(tags = "oss")
@RestController
@RequestMapping("/oss")
public class OssController {
public static final String key = "0ueqhIfdAZyw5lWlBVSLpAxTtx37RY";
public static final String secret = "0ueqhIfdAZyw5lWlBVSLpAxTtx37RY";
public static final String secret = "LTAI5tPAH7P7WQVeowo517BE";
public static final String key = "LTAI5tPAH7P7WQVeowo517BE";
@Value("${spring.profiles.active}")
......@@ -35,44 +40,186 @@ public class OssController {
@PostMapping("getSecret")
@ApiOperation("oss秘钥")
public ResponseVO getSecret(){
public ResponseVO getSecret() {
GetSecretVO getSecretVO = new GetSecretVO();
getSecretVO.setKey(key);
getSecretVO.setSecret(secret);
return ResponseData.generateCreatedResponse(0,getSecretVO);
return ResponseData.generateCreatedResponse(0, getSecretVO);
}
// @PostMapping("uploadFile")
// @ApiOperation("上传文件 file")
// public ResponseVO uploadFile(@RequestParam("file") MultipartFile file) {
// // 创建OSSClient实例。
// OSS ossClient = new OSSClientBuilder().build("http://oss-cn-shanghai.aliyuncs.com", secret, key);
// UploadFileVO uploadFileVO = new UploadFileVO();
// try {
//
// if (env.equals("dev")) {
// env = "laowu-dev";
// } else {
// env = "laowu-pro";
// }
//
// // 创建PutObjectRequest对象。
// PutObjectRequest putObjectRequest = new PutObjectRequest(env, System.currentTimeMillis() + "_" + file.getOriginalFilename(), file.getInputStream());
// // 设置该属性可以返回response。如果不设置,则返回的response为空。
// putObjectRequest.setProcess("true");
// // 创建PutObject请求。
// PutObjectResult result = ossClient.putObject(putObjectRequest);
// // 如果上传成功,则返回200。
//// System.out.println(result.getResponse().getUri());
// uploadFileVO.setUrl(result.getResponse().getUri());
// } catch (Exception oe) {
// oe.printStackTrace();
// } finally {
// if (ossClient != null) {
// ossClient.shutdown();
// }
// }
// return ResponseData.generateCreatedResponse(0, uploadFileVO);
// }
@PostMapping("uploadFile")
@ApiOperation("上传文件 file")
public ResponseVO uploadFile(@RequestParam("file") MultipartFile file){
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build("http://oss-cn-shanghai.aliyuncs.com", secret, key);
@ApiOperation("分片上传")
public ResponseVO fenpian(@RequestParam("file") MultipartFile file) {
UploadFileVO uploadFileVO = new UploadFileVO();
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-shanghai.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = key;
String accessKeySecret = secret;
// 填写Bucket名称,例如examplebucket。
if (env.equals("dev")) {
env = "laowu-dev";
} else {
env = "laowu-pro";
}
String bucketName = env;
// 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。
String objectName = System.currentTimeMillis() + "_" + file.getOriginalFilename();
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
// 创建InitiateMultipartUploadRequest对象。
InitiateMultipartUploadRequest request = new InitiateMultipartUploadRequest(bucketName, objectName);
// 如果需要在初始化分片时设置请求头,请参考以下示例代码。
// ObjectMetadata metadata = new ObjectMetadata();
// metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString());
// 指定该Object的网页缓存行为。
// metadata.setCacheControl("no-cache");
// 指定该Object被下载时的名称。
// metadata.setContentDisposition("attachment;filename=oss_MultipartUpload.txt");
// 指定该Object的内容编码格式。
// metadata.setContentEncoding(OSSConstants.DEFAULT_CHARSET_NAME);
// 指定初始化分片上传时是否覆盖同名Object。此处设置为true,表示禁止覆盖同名Object。
// metadata.setHeader("x-oss-forbid-overwrite", "true");
// 指定上传该Object的每个part时使用的服务器端加密方式。
// metadata.setHeader(OSSHeaders.OSS_SERVER_SIDE_ENCRYPTION, ObjectMetadata.KMS_SERVER_SIDE_ENCRYPTION);
// 指定Object的加密算法。如果未指定此选项,表明Object使用AES256加密算法。
// metadata.setHeader(OSSHeaders.OSS_SERVER_SIDE_DATA_ENCRYPTION, ObjectMetadata.KMS_SERVER_SIDE_ENCRYPTION);
// 指定KMS托管的用户主密钥。
// metadata.setHeader(OSSHeaders.OSS_SERVER_SIDE_ENCRYPTION_KEY_ID, "9468da86-3509-4f8d-a61e-6eab1eac****");
// 指定Object的存储类型。
// metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard);
// 指定Object的对象标签,可同时设置多个标签。
// metadata.setHeader(OSSHeaders.OSS_TAGGING, "a:1");
// request.setObjectMetadata(metadata);
// 初始化分片。
InitiateMultipartUploadResult upresult = ossClient.initiateMultipartUpload(request);
// 返回uploadId,它是分片上传事件的唯一标识。您可以根据该uploadId发起相关的操作,例如取消分片上传、查询分片上传等。
String uploadId = upresult.getUploadId();
if (env.equals("dev")){
env = "laowu-dev";
}else {
env = "laowu-pro";
// partETags是PartETag的集合。PartETag由分片的ETag和分片号组成。
List<PartETag> partETags = new ArrayList<PartETag>();
// 每个分片的大小,用于计算文件有多少个分片。单位为字节。
final long partSize = 1 * 1024 * 1024L; //1 MB。
// 根据上传的数据大小计算分片数。以本地文件为例,说明如何通过File.length()获取上传数据的大小。
// final File sampleFile = new File("D:\\localpath\\examplefile.txt");
// long fileLength = sampleFile.length();
// int partCount = (int) (fileLength / partSize);
// if (fileLength % partSize != 0) {
// partCount++;
// }
long fileLength = file.getSize();
int partCount = (int) (fileLength / partSize);
if (fileLength % partSize != 0) {
partCount++;
}
// 创建PutObjectRequest对象。
PutObjectRequest putObjectRequest = new PutObjectRequest(env, System.currentTimeMillis()+"_"+file.getOriginalFilename(), file.getInputStream());
// 设置该属性可以返回response。如果不设置,则返回的response为空。
putObjectRequest.setProcess("true");
// 创建PutObject请求。
PutObjectResult result = ossClient.putObject(putObjectRequest);
// 如果上传成功,则返回200。
// System.out.println(result.getResponse().getUri());
uploadFileVO.setUrl(result.getResponse().getUri());
} catch (Exception oe) {
oe.printStackTrace();
} finally {
// 遍历分片上传。
for (int i = 0; i < partCount; i++) {
long startPos = i * partSize;
long curPartSize = (i + 1 == partCount) ? (fileLength - startPos) : partSize;
UploadPartRequest uploadPartRequest = new UploadPartRequest();
uploadPartRequest.setBucketName(bucketName);
uploadPartRequest.setKey(objectName);
uploadPartRequest.setUploadId(uploadId);
// 设置上传的分片流。
// 以本地文件为例说明如何创建FIleInputstream,并通过InputStream.skip()方法跳过指定数据。
InputStream instream = file.getInputStream();
instream.skip(startPos);
uploadPartRequest.setInputStream(instream);
// 设置分片大小。除了最后一个分片没有大小限制,其他的分片最小为100 KB。
uploadPartRequest.setPartSize(curPartSize);
// 设置分片号。每一个上传的分片都有一个分片号,取值范围是1~10000,如果超出此范围,OSS将返回InvalidArgument错误码。
uploadPartRequest.setPartNumber(i + 1);
// 每个分片不需要按顺序上传,甚至可以在不同客户端上传,OSS会按照分片号排序组成完整的文件。
UploadPartResult uploadPartResult = ossClient.uploadPart(uploadPartRequest);
// 每次上传分片之后,OSS的返回结果包含PartETag。PartETag将被保存在partETags中。
partETags.add(uploadPartResult.getPartETag());
}
// 创建CompleteMultipartUploadRequest对象。
// 在执行完成分片上传操作时,需要提供所有有效的partETags。OSS收到提交的partETags后,会逐一验证每个分片的有效性。当所有的数据分片验证通过后,OSS将把这些分片组合成一个完整的文件。
CompleteMultipartUploadRequest completeMultipartUploadRequest =
new CompleteMultipartUploadRequest(bucketName, objectName, uploadId, partETags);
// 如果需要在完成分片上传的同时设置文件访问权限,请参考以下示例代码。
// completeMultipartUploadRequest.setObjectACL(CannedAccessControlList.Private);
// 指定是否列举当前UploadId已上传的所有Part。仅在Java SDK为3.14.0及以上版本时,支持通过服务端List分片数据来合并完整文件时,将CompleteMultipartUploadRequest中的partETags设置为null。
// Map<String, String> headers = new HashMap<String, String>();
// 如果指定了x-oss-complete-all:yes,则OSS会列举当前UploadId已上传的所有Part,然后按照PartNumber的序号排序并执行CompleteMultipartUpload操作。
// 如果指定了x-oss-complete-all:yes,则不允许继续指定body,否则报错。
// headers.put("x-oss-complete-all","yes");
// completeMultipartUploadRequest.setHeaders(headers);
// 完成分片上传。
CompleteMultipartUploadResult completeMultipartUploadResult = ossClient.completeMultipartUpload(completeMultipartUploadRequest);
uploadFileVO.setUrl(completeMultipartUploadResult.getLocation());
System.out.println(completeMultipartUploadResult.getETag());
} catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason.");
System.out.println("Error Message:" + oe.getErrorMessage());
System.out.println("Error Code:" + oe.getErrorCode());
System.out.println("Request ID:" + oe.getRequestId());
System.out.println("Host ID:" + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network.");
System.out.println("Error Message:" + ce.getMessage());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
return ResponseData.generateCreatedResponse(0,uploadFileVO);
return ResponseData.generateCreatedResponse(0, uploadFileVO);
}
......
package com.laowu.controller;
import com.laowu.dto.role.UpdatePermissionsDTO;
import com.laowu.service.RoleDictService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
......@@ -16,7 +23,30 @@ import io.swagger.annotations.Api;
*/
@RestController
@Api(tags = "角色表")
@RequestMapping("/role-dict-do")
@RequestMapping("/roleDict")
public class RoleDictController {
@Autowired
private RoleDictService roleDictService;
@PostMapping("/workstationRoles")
@ApiOperation("查看工作站的所有角色")
public ResponseVO workstationRoles(){
return ResponseData.generateCreatedResponse(0,roleDictService.workstationRoles());
}
@PostMapping("allPermissions")
@ApiOperation("查看所有权限")
public ResponseVO allPermissions(){
return ResponseData.generateCreatedResponse(0,roleDictService.allPermissions());
}
@PostMapping("updatePermissions")
@ApiOperation("修改权限 roleId permissions[] 新的权限列表 ")
public ResponseVO updatePermissions(@RequestBody UpdatePermissionsDTO updatePermissionsDTO){
return ResponseData.generateCreatedResponse(0,roleDictService.updatePermissions(updatePermissionsDTO));
}
}
......@@ -103,7 +103,7 @@ public class TeamDictController {
}
@PostMapping("memberManagement")
@ApiOperation("人员管理 pageSize pageNum userId teamId stationId province jobStatus userName")
@ApiOperation("人员管理 pageSize pageNum userId teamId stationId province jobStatus userName positionId 技能范围")
public ResponseVO memberManagement (@RequestBody MemberManagementDTO memberManagementDTO){
return ResponseData.generateCreatedResponse(0,teamDictService.memberManagement(memberManagementDTO));
}
......
......@@ -94,5 +94,4 @@ public class WorkstationDictController {
return ResponseData.generateCreatedResponse(0,workstationDictService.homepage(workstationDictDO));
}
}
package com.laowu.controller;
import com.laowu.model.WorkstationOutsideGeoDO;
import com.laowu.service.WorkstationOutsideGeoService;
import com.laowu.util.ResponseData;
import com.laowu.util.ResponseVO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 驻外区域字典表 前端控制器
* </p>
*
* @author Tuyp
* @since 2023-06-16
*/
@RestController
@Api(tags = "就业服务区域字典表")
@RequestMapping("/workstationOutsideGeo")
public class WorkstationOutsideGeoController {
@Autowired
private WorkstationOutsideGeoService workstationOutsideGeoService;
@PostMapping("addGeo")
@ApiOperation("添加驻外区域 workstationId outsideGeoName province city county town village")
public ResponseVO addGeo(@RequestBody WorkstationOutsideGeoDO workstationOutsideGeoDO){
return ResponseData.generateCreatedResponse(0,workstationOutsideGeoService.addGeo(workstationOutsideGeoDO));
}
@PostMapping("updateGeo")
@ApiOperation("修改驻外区域 id workstationId outsideGeoName province city county town village")
public ResponseVO updateGeo(@RequestBody WorkstationOutsideGeoDO workstationOutsideGeoDO){
return ResponseData.generateCreatedResponse(0,workstationOutsideGeoService.updateGeo(workstationOutsideGeoDO));
}
@PostMapping("deleteGeo")
@ApiOperation("删除驻外区域 id ")
public ResponseVO deleteGeo(@RequestBody WorkstationOutsideGeoDO workstationOutside){
return ResponseData.generateCreatedResponse(0,workstationOutsideGeoService.deleteGeo(workstationOutside));
}
@PostMapping("queryGeos")
@ApiOperation("查询驻外区域(就业服务区域) workstationId province city county town village ")
public ResponseVO queryGeos(@RequestBody WorkstationOutsideGeoDO workstationOutsideGeoDO){
return ResponseData.generateCreatedResponse(0,workstationOutsideGeoService.queryGeos(workstationOutsideGeoDO));
}
}
package com.laowu.dto.administer;
import com.laowu.model.LibGeoLocationDO;
import lombok.Data;
import java.util.List;
@Data
public class AddAdministerRoleDTO {
private Long workstationId;
private Long roleId;
private Long administerId;
private String userName;
private String telephone;
private List<LibGeoLocationDO> geos;
}
package com.laowu.dto.geo;
import lombok.Data;
@Data
public class LocalGeoMembersDTO {
private Long workstationId;
private String county;
private String town;
private String village;
}
package com.laowu.dto.geo;
import lombok.Data;
@Data
public class OutsideGeoMembersDTO {
private Long workstationId;
private String province;
private String city;
private String county;
private String town;
private String village;
}
package com.laowu.dto.geo;
import lombok.Data;
@Data
public class WorkstationRoleGeosDTO {
private Long workstationId;
private Long roleId;
private String province;
private String city;
private String county;
private String town;
private String village;
}
package com.laowu.dto.label;
import com.laowu.model.NewsDictDO;
import lombok.Data;
import java.util.List;
@Data
public class AddNewsDTO extends NewsDictDO {
private List<Long> labelIds;
}
package com.laowu.dto.label;
import lombok.Data;
@Data
public class NewsDTO {
private Integer pageSize;
private Integer pageNum;
private String title;
private Long labelId;
}
package com.laowu.dto.member;
import lombok.Data;
import java.util.List;
@Data
public class AddressDTO {
private String label;
private String value;
private List<AddressDTO1> children;
}
package com.laowu.dto.member;
import lombok.Data;
import java.util.List;
@Data
public class AddressDTO1 {
private String label;
private String value;
private List<AddressDTO2> children;
}
package com.laowu.dto.member;
import lombok.Data;
import java.util.List;
@Data
public class AddressDTO2 {
private String label;
private String value;
private List<AddressDTO3> children;
}
package com.laowu.dto.member;
import lombok.Data;
import java.util.List;
@Data
public class AddressDTO3 {
private String label;
private String value;
private List<AddressDTO3> children;
}
......@@ -19,4 +19,6 @@ public class AllMembersDTO {
private String userName;
private Long positionId;
}
package com.laowu.dto.member;
import com.laowu.vo.member.ImportMemberVO;
import lombok.Data;
import java.util.List;
@Data
public class DownloadErrorDataDTO {
private List<ImportMemberVO> importMemberVOS;
}
package com.laowu.dto.member;
import com.laowu.util.ExcelColumnUtil;
import lombok.Data;
@Data
public class ImportMemberDTO {
@ExcelColumnUtil(value = "姓名", col = 1)
private String userName;
@ExcelColumnUtil(value = "身份证号码", col = 2)
private String idCard;
@ExcelColumnUtil(value = "省", col = 3)
private String province;
@ExcelColumnUtil(value = "市", col = 4)
private String city;
@ExcelColumnUtil(value = "县", col = 5)
private String county;
// @ExcelColumnUtil(value = "镇", col = 6)
// private String town;
@ExcelColumnUtil(value = "具体地址", col = 6)
private String address;
@ExcelColumnUtil(value = "手机号", col = 7)
private String telephone;
@ExcelColumnUtil(value = "技能", col = 8)
private String major;
@ExcelColumnUtil(value = "最高学历", col = 9)
private String education;
@ExcelColumnUtil(value = "脱贫劳动力(是/否)", col = 10)
private String isPoor;
@ExcelColumnUtil(value = "易迁户(是/否)", col = 11)
private String isMigration;
@ExcelColumnUtil(value = "政治面貌(党员/群众)", col = 12)
private String isParty;
}
package com.laowu.dto.member;
import lombok.Data;
@Data
public class RosterDTO {
private Integer pageSize;
private Integer pageNum;
}
package com.laowu.dto.role;
import lombok.Data;
import java.util.List;
@Data
public class UpdatePermissionsDTO {
private Long roleId;
private List<Long> permissions;
}
package com.laowu.dto.station;
import lombok.Data;
import java.util.List;
@Data
public class UpdateAdministerRoleDTO {
private Long administerId;
private Long roleId;
private Long workstationId;
private String userName;
private String telephone;
private List<Long> regionIds;
}
......@@ -20,4 +20,6 @@ public class MemberManagementDTO {
private String userName;
private Long userId;
private Long positionId;
}
......@@ -21,5 +21,12 @@ public interface AdministerMapper extends BaseMapper<AdministerDO> {
List<PermissionsVO> getPermissions(Long id);
/**
* 查看所有权限
*/
List<PermissionsVO> getAllPermissions();
// List<PermissionsVO> rolePermissions(Long id);
IPage<AdministerDO> all(IPage page,String status);
}
package com.laowu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.laowu.model.AdministerStationRoleDO;
import com.laowu.vo.admin.AdministerStationsVO;
import com.laowu.vo.admin.WorkstationRolesAdministersVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 管理员-管理区域表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-06-19
*/
@Repository
public interface AdministerStationRoleMapper extends BaseMapper<AdministerStationRoleDO> {
//工作站下某角色的用户
List<WorkstationRolesAdministersVO> workstationRoleAdministers(Long workstationId, Long roleId, String province, String city, String county, String town, String village);
//查看某个角色下的管理区域
List<AdministerStationRoleDO> workstationAdministerGeos(Long workstationId, Long roleId, Long administerId);
//查看角色当下的管理区域是否存在
Integer geoCount(Long workstationId, Long roleId, Long administerId, String province, String city, String county, String town, String village);
//某个角色下的管理区域 返回工作站名称 县 镇 村
List<AdministerStationsVO> administerStations(Long administerId);
//查看某个用户已经存在的管理区域
List<Long> administerRegionIds(Long administerId);
}
......@@ -3,7 +3,10 @@ package com.laowu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.laowu.model.LibGeoLocationDO;
import com.laowu.vo.geo.CountyCountsVO;
import com.laowu.vo.geo.GeoVO;
import com.laowu.vo.geo.TownCountsVO;
import com.laowu.vo.geo.VillageCountsVO;
import org.springframework.stereotype.Repository;
import java.util.List;
......@@ -19,12 +22,55 @@ import java.util.List;
@Repository
public interface LibGeoLocationMapper extends BaseMapper<LibGeoLocationDO> {
/**
* 查所有的省
*/
List<String> provinces();
/**
* 通过省去查市
*/
List<String> cities(String province);
/**
* 通过省市去查县
*/
List<String> county(String province,String city);
/**
* 通过省市县去查镇
*/
List<String> towns(String province,String city,String county);
/**
* 通过省市县镇去查村
*/
List<String> villages(String province,String city,String county,String town);
/**
* 省 市 县 镇 个数(村)
*/
IPage<GeoVO> geo(IPage iPage, String province, String city, String county, String town);
/**
* 去重去查
*/
List<String> localVillages(LibGeoLocationDO libGeoLocationDO);
/**
* 县+人数
*/
CountyCountsVO countyCounts(Long workStationId);
/**
* 镇+人数
*/
List<TownCountsVO> townCounts(Long workStationId, String town);
/**
* 村+人数
*/
List<VillageCountsVO> villageCounts(Long workStationId,String town, String village);
}
......@@ -23,7 +23,7 @@ public interface MemberDictMapper extends BaseMapper<MemberDictDO> {
/**
* 查询自然人
*/
IPage<AllMembersVO> allMembers(IPage pager, String province, String city, String county, String status, String userName);
IPage<AllMembersVO> allMembers(IPage pager, String province, String city, String county, String status, String userName,Long positionId);
/**
* 查看某个团队的人 返回id
......
package com.laowu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.laowu.model.NewsDictDO;
import com.laowu.model.NewsLabelDictDO;
import com.laowu.vo.lables.NewsVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Repository
public interface NewsDictMapper extends BaseMapper<NewsDictDO> {
/**
* 查看新闻
*/
IPage<NewsVO> news(IPage iPage,Long labelId,String title);
/**
* 查看新闻有哪几个
*/
List<NewsLabelDictDO> newsLabels(Long newId);
/**
* 把所有置顶状态都置为0
*/
void updateTopStatus();
/**
* 查看一个新闻
*/
NewsVO oneNews(Long id);
/**
* 查看除去置顶的新闻
*/
IPage<NewsVO> noTopNews(IPage iPage,Long labelId,String title);
}
package com.laowu.mapper;
import com.laowu.model.NewsLabelDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.laowu.vo.lables.LablesVO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Repository
public interface NewsLabelDictMapper extends BaseMapper<NewsLabelDictDO> {
List<LablesVO> lables(String label);
}
package com.laowu.mapper;
import com.laowu.model.NewsLabelsDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Repository
public interface NewsLabelsMapper extends BaseMapper<NewsLabelsDO> {
/**
* 新闻有哪几个标签
*/
List<Long> labelIds(Long newsId);
}
package com.laowu.mapper;
import com.laowu.model.PermissionsDictDO;
import com.laowu.model.RolePermissionMappingDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 系统用户角色表 Mapper 接口
......@@ -12,7 +15,18 @@ import org.springframework.stereotype.Repository;
* @author Tuyp
* @since 2023-02-20
*/
@Repository
@Repository
public interface RolePermissionMappingMapper extends BaseMapper<RolePermissionMappingDO> {
/**
* 查看某个角色所有的权限
*/
List<PermissionsDictDO> rolePermissions(Long roleId);
/**
* 查看某个角色所有的权限 返回id
*/
List<Long> rolePermissionIds(Long roleId);
}
......@@ -36,13 +36,13 @@ public interface TeamDictMapper extends BaseMapper<TeamDictDO> {
/**
* 人员管理
*/
IPage<MemberManagementVO> memberManagement(IPage page, Long teamId, Long stationId, String province, String jobStatus, String userName, List<Long> workstationIds);
IPage<MemberManagementVO> memberManagement(IPage page, Long teamId, Long stationId, String province, String jobStatus, String userName, List<Long> workstationIds,Long positionId);
/**
* 人员管理---人数
*/
Integer memberManagementCount(Long teamId, Long stationId, String province, String jobStatus);
Integer memberManagementCount(Long teamId, Long stationId, String province, String jobStatus,Long positionId);
/**
* 将组长为memberId的team职位空
......
package com.laowu.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.laowu.model.WorkstationOutsideGeoDO;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* <p>
* 驻外区域字典表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2023-06-16
*/
@Repository
public interface WorkstationOutsideGeoMapper extends BaseMapper<WorkstationOutsideGeoDO> {
Integer geoCnt(Long id, Long workstationId, String province, String city, String county, String town, String village);
void updateGeo(Long id, String province, String city, String county, String town, String village);
List<WorkstationOutsideGeoDO> queryGeos(Long workstationId, String province, String city, String county, String town, String village);
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 管理员-管理区域表
* </p>
*
* @author Tuyp
* @since 2023-06-19
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("administer_station_role")
public class AdministerStationRoleDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 管理员id
*/
private Long administerId;
/**
* 工作站
*/
private Long workstationId;
/**
* 角色id
*/
private Long roleId;
private String province;
private String city;
private String county;
private String town;
private String village;
}
......@@ -30,6 +30,9 @@ public class CompanyDictDO extends BaseModel {
*/
private String companyName;
private String companyProperty;
// /**
// * 企业logo
// */
......
......@@ -66,6 +66,16 @@ public class MemberDictDO extends BaseModel {
private String county;
/**
* 镇
*/
private String town;
/**
* 村
*/
private String village;
/**
* 具体地址
*/
private String address;
......
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("news_dict")
public class NewsDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 标题
*/
private String title;
/**
* 引导语
*/
private String guiding;
/**
* 状态
*/
private String status;
/**
* 发布时间
*/
private String publishDate;
/**
* 发布账户
*/
private Long publishId;
/**
* 详情
*/
private String content;
/**
* 封面
*/
private String coverPage;
/**
* 指定标识
*/
private Integer topFlag;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("news_label_dict")
public class NewsLabelDictDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 标签名称
*/
private String label;
/**
* 创建账户
*/
private Long createBy;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
*
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("news_labels")
public class NewsLabelsDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private Long newsId;
private Long labelId;
}
......@@ -33,5 +33,7 @@ public class PositionDictDO extends BaseModel {
private String positionCode;
private String fullName;
private List<PositionDictDO> children;
}
......@@ -30,5 +30,10 @@ public class RoleDictDO extends BaseModel {
*/
private String role;
/**
* 角色类型
*/
private String roleType;
}
package com.laowu.model;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.laowu.util.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 驻外区域字典表
* </p>
*
* @author Tuyp
* @since 2023-06-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("workstation_outside_geo")
public class WorkstationOutsideGeoDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 工作站id
*/
private Long workstationId;
/**
* 驻外区域名称
*/
private String outsideGeoName;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 县
*/
private String county;
/**
* 镇
*/
private String town;
/**
* 村
*/
private String village;
}
package com.laowu.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.dto.administer.AddAdministerRoleDTO;
import com.laowu.dto.geo.WorkstationRoleGeosDTO;
import com.laowu.dto.station.UpdateAdministerRoleDTO;
import com.laowu.model.AdministerStationRoleDO;
import com.laowu.vo.admin.AdministerStationsVO;
import com.laowu.vo.admin.WorkstationRolesAdministersVO;
import java.util.List;
/**
* <p>
* 管理员-管理区域表 服务类
* </p>
*
* @author Tuyp
* @since 2023-06-19
*/
public interface AdministerStationRoleService extends IService<AdministerStationRoleDO> {
List<WorkstationRolesAdministersVO> workstationRoleGeos(WorkstationRoleGeosDTO workstationRoleGeosDTO);
String deleteAdministerRole(AdministerStationRoleDO administerStationRoleDO);
String addAdministerRole(AddAdministerRoleDTO addAdministerRoleDTO);
String deleteAdministerRoleGeo(AdministerStationRoleDO administerStationRoleDO);
List<AdministerStationsVO> administerStations(AdministerStationRoleDO administerStationRoleDO);
String updateAdministerRole(UpdateAdministerRoleDTO updateAdministerRoleDTO);
}
......@@ -8,6 +8,7 @@ import com.laowu.dto.company.DeleteCompanyDTO;
import com.laowu.dto.company.StationCompanyDTO;
import com.laowu.model.CompanyDictDO;
import com.laowu.model.WorkstationDictDO;
import com.laowu.vo.company.CompanyCardVO;
import com.laowu.vo.company.CompanyVO;
import com.laowu.vo.team.TotalTeamsVO;
......@@ -34,4 +35,6 @@ public interface CompanyDictService extends IService<CompanyDictDO> {
TotalTeamsVO totalCount(WorkstationDictDO workstationDictDO);
IPage stationCompany(StationCompanyDTO stationCompanyDTO);
CompanyCardVO companyCard(CompanyDictDO companyDictDO);
}
......@@ -3,7 +3,10 @@ package com.laowu.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.dto.geo.AllGeosDTO;
import com.laowu.dto.geo.LocalGeoMembersDTO;
import com.laowu.model.LibGeoLocationDO;
import com.laowu.vo.geo.CountyCountsVO;
import com.laowu.vo.geo.CountyVO;
import com.laowu.vo.geo.ProvincesVO;
import java.util.List;
......@@ -20,10 +23,16 @@ public interface LibGeoLocationService extends IService<LibGeoLocationDO> {
List<ProvincesVO> provinces();
List<String> province();
List<String> cities(LibGeoLocationDO libGeoLocationDO);
List<String> county(LibGeoLocationDO libGeoLocationDO);
List<String> town(LibGeoLocationDO libGeoLocationDO);
List<String> village(LibGeoLocationDO libGeoLocationDO);
List<LibGeoLocationDO> villages(LibGeoLocationDO libGeoLocationDO);
IPage geo(AllGeosDTO allGeosDTO);
......@@ -33,4 +42,9 @@ public interface LibGeoLocationService extends IService<LibGeoLocationDO> {
String updateGeo(LibGeoLocationDO libGeoLocationDO);
String deleteGeo(LibGeoLocationDO libGeoLocationDO);
List<CountyVO> localVillages(LibGeoLocationDO libGeoLocationDO);
CountyCountsVO localGeoMembers(LocalGeoMembersDTO localGeoMembersDTO);
}
......@@ -2,12 +2,12 @@ package com.laowu.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.dto.member.AddMemberDTO;
import com.laowu.dto.member.AllMembersDTO;
import com.laowu.dto.member.UpdateMemberDTO;
import com.laowu.dto.member.*;
import com.laowu.model.MemberDictDO;
import com.laowu.vo.member.AllMembersVO;
import com.laowu.vo.member.OneMemberVO;
import com.laowu.vo.member.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* <p>
......@@ -28,4 +28,15 @@ public interface MemberDictService extends IService<MemberDictDO> {
OneMemberVO oneMember(MemberDictDO memberDictDO);
String updateMember(UpdateMemberDTO updateMemberDTO);
MemberCardVO memberCard(MemberDictDO memberDictDO);
ImportMemberDictVO importMember(String workstationId,String teamId,MultipartFile multipartFile);
String downloadErrorData(DownloadErrorDataDTO downloadErrorDataDTO);
void address(List<AddressDTO> addressDTO);
IPage<RosterVO> roster(RosterDTO rosterDTO);
}
package com.laowu.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.dto.label.AddNewsDTO;
import com.laowu.dto.label.NewsDTO;
import com.laowu.model.NewsDictDO;
import com.laowu.vo.lables.NewsVO;
/**
* <p>
* 服务类
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
public interface NewsDictService extends IService<NewsDictDO> {
IPage<NewsVO> news(NewsDTO newsDTO);
String top(NewsDictDO newsDictDO);
String deleteNews(NewsDictDO newsDictDO);
String addNews(AddNewsDTO addNewsDTO);
String updateNews(AddNewsDTO updateNewsDTO);
NewsVO oneNews(NewsDictDO newsDictDO);
IPage<NewsVO> noTopNews(NewsDTO newsDTO);
}
package com.laowu.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.model.NewsLabelDictDO;
import com.laowu.vo.lables.LablesVO;
import java.util.List;
/**
* <p>
* 服务类
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
public interface NewsLabelDictService extends IService<NewsLabelDictDO> {
String addLabel(NewsLabelDictDO newsLabelDictDO);
String updateLabel(NewsLabelDictDO newsLabelDictDO);
String deleteLabel(NewsLabelDictDO newsLabelDictDO);
List<LablesVO> lables(NewsLabelDictDO newsLabelDictDO);
}
package com.laowu.service;
import com.laowu.model.NewsLabelsDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 服务类
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
public interface NewsLabelsService extends IService<NewsLabelsDO> {
}
package com.laowu.service;
import com.laowu.model.RoleDictDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.dto.role.UpdatePermissionsDTO;
import com.laowu.model.RoleDictDO;
import com.laowu.vo.admin.PermissionsVO;
import com.laowu.vo.station.WorkstationRolesVO;
import java.util.List;
/**
* <p>
......@@ -13,4 +18,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface RoleDictService extends IService<RoleDictDO> {
List<WorkstationRolesVO> workstationRoles();
List<PermissionsVO> allPermissions();
String updatePermissions(UpdatePermissionsDTO updatePermissionsDTO);
}
package com.laowu.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.laowu.model.WorkstationOutsideGeoDO;
import java.util.List;
/**
* <p>
* 驻外区域字典表 服务类
* </p>
*
* @author Tuyp
* @since 2023-06-16
*/
public interface WorkstationOutsideGeoService extends IService<WorkstationOutsideGeoDO> {
String addGeo(WorkstationOutsideGeoDO workstationOutsideGeoDO);
String updateGeo(WorkstationOutsideGeoDO workstationOutsideGeoDO);
String deleteGeo(WorkstationOutsideGeoDO workstationOutsideGeoDO);;
List<WorkstationOutsideGeoDO> queryGeos(WorkstationOutsideGeoDO workstationOutsideGeoDO);
}
......@@ -18,6 +18,7 @@ import com.laowu.service.AdministerService;
import com.laowu.util.ConstantUtils;
import com.laowu.util.JwtUtil;
import com.laowu.util.Localstorage;
import com.laowu.util.MyStringUtils;
import com.laowu.vo.admin.AdministerPermissionVO;
import com.laowu.vo.admin.LoginVO;
import com.laowu.vo.admin.PermissionsVO;
......@@ -94,13 +95,6 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
});
}
administerPermissionVO.setPermissions(treeList);
// //查询角色
// RoleAdministerMappingDO roleAdministerMappingDO = roleAdministerMappingMapper.selectOne(new QueryWrapper<RoleAdministerMappingDO>()
// .lambda()
// .eq(RoleAdministerMappingDO::getAdministerId, administerDO.getId()));
// if (null != roleAdministerMappingDO) {
// administerPermissionVO.setRole(roleAdministerMappingDO.getRoleId());
// }
//是不是管理员
int count = roleAdministerMappingMapper.selectCount(new QueryWrapper<RoleAdministerMappingDO>()
......@@ -140,6 +134,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
administerDO.setStatus("正常");
administerDO.setPassword("123456");
administerDO.setAccount(MyStringUtils.randomName(8));
this.baseMapper.insert(administerDO);
RoleAdministerMappingDO roleAdministerMappingDO = new RoleAdministerMappingDO();
......
package com.laowu.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.laowu.common.exception.HttpException;
import com.laowu.dto.administer.AddAdministerRoleDTO;
import com.laowu.dto.geo.WorkstationRoleGeosDTO;
import com.laowu.dto.station.UpdateAdministerRoleDTO;
import com.laowu.mapper.AdministerMapper;
import com.laowu.mapper.AdministerStationRoleMapper;
import com.laowu.model.AdministerDO;
import com.laowu.model.AdministerStationRoleDO;
import com.laowu.model.LibGeoLocationDO;
import com.laowu.service.AdministerStationRoleService;
import com.laowu.util.ConstantUtils;
import com.laowu.util.MyStringUtils;
import com.laowu.vo.admin.AdministerStationsVO;
import com.laowu.vo.admin.WorkstationRolesAdministersVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* <p>
* 管理员-管理区域表 服务实现类
* </p>
*
* @author Tuyp
* @since 2023-06-19
*/
@Service
public class AdministerStationRoleServiceImpl extends ServiceImpl<AdministerStationRoleMapper, AdministerStationRoleDO> implements AdministerStationRoleService {
@Autowired
private AdministerMapper administerMapper;
public List<WorkstationRolesAdministersVO> workstationRoleGeos(WorkstationRoleGeosDTO workstationRoleGeosDTO) {
//查找站管理员下面的角色
List<WorkstationRolesAdministersVO> workstationRolesAdministersVOS = this.baseMapper.workstationRoleAdministers(workstationRoleGeosDTO.getWorkstationId(),
workstationRoleGeosDTO.getRoleId(),
workstationRoleGeosDTO.getProvince(),
workstationRoleGeosDTO.getCity(),
workstationRoleGeosDTO.getCounty(),
workstationRoleGeosDTO.getTown(),
workstationRoleGeosDTO.getVillage());
for (WorkstationRolesAdministersVO wrav : workstationRolesAdministersVOS) {
//查看该管理员的管理区域 administerId
List<AdministerStationRoleDO> administerStationRoleDOS = this.baseMapper.workstationAdministerGeos(workstationRoleGeosDTO.getWorkstationId(), workstationRoleGeosDTO.getRoleId(), wrav.getAdministerId());
wrav.setAdministerStationRoleDOS(administerStationRoleDOS);
}
return workstationRolesAdministersVOS;
}
public String deleteAdministerRole(AdministerStationRoleDO administerStationRoleDO) {
this.baseMapper.delete(new QueryWrapper<AdministerStationRoleDO>()
.lambda()
.eq(AdministerStationRoleDO::getAdministerId, administerStationRoleDO.getAdministerId())
.eq(AdministerStationRoleDO::getRoleId, administerStationRoleDO.getRoleId())
.eq(AdministerStationRoleDO::getWorkstationId, administerStationRoleDO.getWorkstationId()));
return ConstantUtils.DELETE_SUCCESS;
}
@Transactional(rollbackFor = Exception.class)
public String addAdministerRole(AddAdministerRoleDTO addAdministerRoleDTO) {
//查看该手机号是否存在,存在的话用以前的id,没有的话新建一个administer
AdministerDO administerDO = administerMapper.selectOne(new QueryWrapper<AdministerDO>()
.lambda()
.eq(AdministerDO::getTelephone, addAdministerRoleDTO.getTelephone()));
Long administerId = null;
if (administerDO != null) {
administerId = administerDO.getId();
} else {
administerDO = new AdministerDO();
administerDO.setTelephone(addAdministerRoleDTO.getTelephone());
administerDO.setAccount(MyStringUtils.randomName(8));
administerDO.setPassword("123456");
administerDO.setUserName(addAdministerRoleDTO.getUserName());
administerMapper.insert(administerDO);
administerId = administerDO.getId();
}
List<LibGeoLocationDO> geos = addAdministerRoleDTO.getGeos();
for (LibGeoLocationDO geo : geos) {
//查看存不存在,存在的话就抛异常
Integer count = this.baseMapper.geoCount(addAdministerRoleDTO.getWorkstationId(),
addAdministerRoleDTO.getRoleId(),
administerId,
geo.getProvince(),
geo.getCity(),
geo.getCounty(),
geo.getTown(),
geo.getVillage());
if (count > 0) {
throw new HttpException(70001);
}
AdministerStationRoleDO administerStationRoleDO = new AdministerStationRoleDO();
administerStationRoleDO.setAdministerId(administerId);
administerStationRoleDO.setRoleId(addAdministerRoleDTO.getRoleId());
administerStationRoleDO.setWorkstationId(addAdministerRoleDTO.getWorkstationId());
administerStationRoleDO.setProvince(geo.getProvince());
administerStationRoleDO.setCity(geo.getCity());
administerStationRoleDO.setCounty(geo.getCounty());
administerStationRoleDO.setTown(geo.getTown());
administerStationRoleDO.setVillage(geo.getVillage());
this.baseMapper.insert(administerStationRoleDO);
}
return ConstantUtils.ADD_SUCCESS;
}
public String deleteAdministerRoleGeo(AdministerStationRoleDO administerStationRoleDO) {
this.baseMapper.deleteById(administerStationRoleDO.getId());
return ConstantUtils.ADD_SUCCESS;
}
public List<AdministerStationsVO> administerStations(AdministerStationRoleDO administerStationRoleDO) {
return this.baseMapper.administerStations(administerStationRoleDO.getAdministerId());
}
@Transactional(rollbackFor = Exception.class)
public String updateAdministerRole(UpdateAdministerRoleDTO updateAdministerRoleDTO) {
//修改账户信息
AdministerDO administerDO = administerMapper.selectById(updateAdministerRoleDTO.getAdministerId());
if (StringUtils.isNotEmpty(updateAdministerRoleDTO.getUserName())){
administerDO.setUserName(updateAdministerRoleDTO.getUserName());
}
if (StringUtils.isNotEmpty(updateAdministerRoleDTO.getTelephone())){
administerDO.setTelephone(updateAdministerRoleDTO.getTelephone());
}
administerMapper.updateById(administerDO);
//修改管理区域
if (updateAdministerRoleDTO.getRegionIds().size()>0){
//TODO
//查看已有的
List<Long> oldIds = this.baseMapper.administerRegionIds(updateAdministerRoleDTO.getAdministerId());
List<Long> newIds = updateAdministerRoleDTO.getRegionIds();
}
return ConstantUtils.SUCCESS_UPDATE;
}
}
......@@ -13,6 +13,7 @@ import com.laowu.mapper.*;
import com.laowu.model.*;
import com.laowu.service.CompanyDictService;
import com.laowu.util.ConstantUtils;
import com.laowu.vo.company.CompanyCardVO;
import com.laowu.vo.company.CompanyUpdateHistoryVO;
import com.laowu.vo.company.CompanyVO;
import com.laowu.vo.company.RelateWorkVO;
......@@ -251,7 +252,7 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
if (null != companyDictDO1.getBusinessId()) {
BusinessDictDO businessDictDO = businessDictMapper.selectById(companyDictDO1.getBusinessId());
if (null != businessDictDO){
if (null != businessDictDO) {
companyVO.setBusiness(businessDictDO.getBusiness());
}
}
......@@ -316,4 +317,25 @@ public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, Compa
}
return company;
}
public CompanyCardVO companyCard(CompanyDictDO companyDictDO) {
CompanyCardVO companyCardVO = new CompanyCardVO();
CompanyDictDO companyDictDO1 = this.baseMapper.selectById(companyDictDO.getId());
BeanUtils.copyProperties(companyDictDO1,companyCardVO);
//写死值
companyCardVO.setValidateDuration("2023/03/14-2024/03/12");
companyCardVO.setRegisteredCapital("200w");
companyCardVO.setBus("09:00~17:00");
companyCardVO.setSocialSecurity("******");
companyCardVO.setFlowRate("20%");
companyCardVO.setCompanyScale("1000人");
companyCardVO.setCreditScore("650");
BusinessDictDO businessDictDO = businessDictMapper.selectById(companyDictDO1.getBusinessId());
companyCardVO.setBusiness(businessDictDO.getBusiness());
return companyCardVO;
}
}
......@@ -6,12 +6,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.laowu.common.exception.HttpException;
import com.laowu.dto.geo.AllGeosDTO;
import com.laowu.dto.geo.LocalGeoMembersDTO;
import com.laowu.mapper.LibGeoLocationMapper;
import com.laowu.model.LibGeoLocationDO;
import com.laowu.service.LibGeoLocationService;
import com.laowu.util.ConstantUtils;
import com.laowu.vo.geo.CityVO;
import com.laowu.vo.geo.ProvincesVO;
import com.laowu.vo.geo.*;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
......@@ -58,6 +58,11 @@ public class LibGeoLocationServiceImpl extends ServiceImpl<LibGeoLocationMapper,
return provincesVOS;
}
public List<String> province() {
return this.baseMapper.provinces();
}
public List<String> cities(LibGeoLocationDO libGeoLocationDO) {
return this.baseMapper.cities(libGeoLocationDO.getProvince());
}
......@@ -66,8 +71,15 @@ public class LibGeoLocationServiceImpl extends ServiceImpl<LibGeoLocationMapper,
return this.baseMapper.county(libGeoLocationDO.getProvince(), libGeoLocationDO.getCity());
}
public List<LibGeoLocationDO> villages(LibGeoLocationDO libGeoLocationDO) {
public List<String> town(LibGeoLocationDO libGeoLocationDO) {
return this.baseMapper.towns(libGeoLocationDO.getProvince(), libGeoLocationDO.getCity(), libGeoLocationDO.getCounty());
}
public List<String> village(LibGeoLocationDO libGeoLocationDO) {
return this.baseMapper.villages(libGeoLocationDO.getProvince(), libGeoLocationDO.getCity(), libGeoLocationDO.getCounty(), libGeoLocationDO.getTown());
}
public List<LibGeoLocationDO> villages(LibGeoLocationDO libGeoLocationDO) {
return this.baseMapper.selectList(new QueryWrapper<LibGeoLocationDO>()
.lambda()
.eq(LibGeoLocationDO::getProvince, libGeoLocationDO.getProvince())
......@@ -122,4 +134,46 @@ public class LibGeoLocationServiceImpl extends ServiceImpl<LibGeoLocationMapper,
return ConstantUtils.DELETE_SUCCESS;
}
public List<CountyVO> localVillages(LibGeoLocationDO libGeoLocationDO) {
List<CountyVO> countyVOS = new ArrayList<>();
List<String> counties = this.baseMapper.localVillages(libGeoLocationDO);
for (String county : counties) {
CountyVO countyVO = new CountyVO();
countyVO.setCounty(county);
//通过省市县 查镇
List<String> towns = this.baseMapper.towns(libGeoLocationDO.getProvince(), libGeoLocationDO.getCity(), county);
List<TownVO> townVOS = new ArrayList<>();
for (String town : towns) {
TownVO townVO = new TownVO();
townVO.setTown(town);
//省市县镇查村
List<String> villages = this.baseMapper.villages(libGeoLocationDO.getProvince(), libGeoLocationDO.getCity(), county, town);
townVO.setVillage(villages);
townVOS.add(townVO);
}
countyVO.setTowns(townVOS);
countyVOS.add(countyVO);
}
return countyVOS;
}
public CountyCountsVO localGeoMembers(LocalGeoMembersDTO localGeoMembersDTO) {
//查县-人数
CountyCountsVO countyCountsVOS = this.baseMapper.countyCounts(localGeoMembersDTO.getWorkstationId());
//查镇-人数
List<TownCountsVO> townCountsVOS = this.baseMapper.townCounts(localGeoMembersDTO.getWorkstationId(), localGeoMembersDTO.getTown());
for (TownCountsVO townCountsVO : townCountsVOS) {
//查村-人数
List<VillageCountsVO> villageCountsVOS = this.baseMapper.villageCounts(localGeoMembersDTO.getWorkstationId(), townCountsVO.getName(), localGeoMembersDTO.getVillage());
townCountsVO.setChildren(villageCountsVOS);
}
countyCountsVOS.setChildren(townCountsVOS);
return countyCountsVOS;
}
}
......@@ -5,20 +5,22 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.laowu.common.exception.HttpException;
import com.laowu.dto.member.AddMemberDTO;
import com.laowu.dto.member.AllMembersDTO;
import com.laowu.dto.member.UpdateMemberDTO;
import com.laowu.dto.member.*;
import com.laowu.mapper.*;
import com.laowu.model.*;
import com.laowu.service.MemberDictService;
import com.laowu.util.ConstantUtils;
import com.laowu.util.ExcelUtil;
import com.laowu.vo.member.*;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
/**
......@@ -74,10 +76,16 @@ public class MemberDictServiceImpl extends ServiceImpl<MemberDictMapper, MemberD
@Autowired
private MemberTrainPositionsMapper memberTrainPositionsMapper;
@Autowired
private PositionDictMapper positionDictMapper;
@Autowired
private LibGeoLocationMapper libGeoLocationMapper;
public IPage<AllMembersVO> allMembers(AllMembersDTO allMembersDTO) {
Page pager = new Page(allMembersDTO.getPageNum(), allMembersDTO.getPageSize());
IPage<AllMembersVO> allMembersVOIPage = this.baseMapper.allMembers(pager, allMembersDTO.getProvince(), allMembersDTO.getCity(), allMembersDTO.getCounty(), allMembersDTO.getStatus(), allMembersDTO.getUserName());
IPage<AllMembersVO> allMembersVOIPage = this.baseMapper.allMembers(pager, allMembersDTO.getProvince(), allMembersDTO.getCity(), allMembersDTO.getCounty(), allMembersDTO.getStatus(), allMembersDTO.getUserName(), allMembersDTO.getPositionId());
List<AllMembersVO> allMembersVOS = allMembersVOIPage.getRecords();
for (AllMembersVO allMembersVO : allMembersVOS) {
//专业技能信息
......@@ -371,4 +379,283 @@ public class MemberDictServiceImpl extends ServiceImpl<MemberDictMapper, MemberD
return ConstantUtils.SUCCESS_UPDATE;
}
public MemberCardVO memberCard(MemberDictDO memberDictDO) {
MemberCardVO memberCardVO = new MemberCardVO();
MemberDictDO memberDictDO1 = this.baseMapper.selectById(memberDictDO.getId());
BeanUtils.copyProperties(memberDictDO1, memberCardVO);
//技能信息
List<PositionDictDO> positionDictDOS = this.baseMapper.memberPositions(memberDictDO.getId());
memberCardVO.setPositionDictDOS(positionDictDOS);
String age = "";
//计算年龄,性别
if (StringUtils.isNotEmpty(memberDictDO1.getIdCard())) {
Calendar cal = Calendar.getInstance();
int yearNow = cal.get(Calendar.YEAR);
int monthNow = cal.get(Calendar.MONTH) + 1;
int dayNow = cal.get(Calendar.DATE);
int year = Integer.valueOf(memberDictDO1.getIdCard().substring(6, 10));
int month = Integer.valueOf(memberDictDO1.getIdCard().substring(10, 12));
int day = Integer.valueOf(memberDictDO1.getIdCard().substring(12, 14));
int genderTmp = Integer.valueOf(memberDictDO1.getIdCard().substring(16, 17));
if ((month < monthNow) || (month == monthNow && day <= dayNow)) {
age = String.valueOf(yearNow - year);
} else {
age = String.valueOf(yearNow - year - 1);
}
if (genderTmp % 2 == 1) {
memberCardVO.setGender("男");
} else {
memberCardVO.setGender("女");
}
memberCardVO.setAge(age);
}
//写死值
memberCardVO.setStarValue("4.5");
memberCardVO.setJobValue("700");
memberCardVO.setValidateDuration("2023/03/14~2024/03/12");
memberCardVO.setPhysicalReport("无");
memberCardVO.setEmergencyContact("15211112222");
memberCardVO.setHonor("无");
memberCardVO.setPunishment("无");
//培训信息
List<MemberTrainInfoVO> memberTrainInfoVOS = new ArrayList<>();
List<MemberTrainInfoDO> memberTrainInfoDOS = memberTrainInfoMapper.selectList(new QueryWrapper<MemberTrainInfoDO>()
.lambda()
.eq(MemberTrainInfoDO::getMemberId, memberDictDO1.getId()));
for (MemberTrainInfoDO mtid : memberTrainInfoDOS) {
MemberTrainInfoVO memberTrainInfoVO = new MemberTrainInfoVO();
BeanUtils.copyProperties(mtid, memberTrainInfoVO);
//技能
List<PositionDictDO> positionDictDOS1 = memberTrainPositionsMapper.positions(mtid.getId());
memberTrainInfoVO.setPositionDictDOS(positionDictDOS1);
memberTrainInfoVOS.add(memberTrainInfoVO);
}
memberCardVO.setMemberTrainInfoVOS(memberTrainInfoVOS);
//技能证书
List<MemberCertsDO> memberCertsDOS = memberCertsMapper.selectList(new QueryWrapper<MemberCertsDO>()
.lambda()
.eq(MemberCertsDO::getMemberId, memberDictDO1.getId()));
memberCardVO.setMemberCertsDOS(memberCertsDOS);
//就业信息
List<MemberJobInfoVO> memberJobInfoVOS = new ArrayList<MemberJobInfoVO>();
List<MemberJobInfoDO> memberJobInfoDOS = memberJobInfoMapper.selectList(new QueryWrapper<MemberJobInfoDO>()
.lambda()
.eq(MemberJobInfoDO::getMemberId, memberDictDO1.getId())
.orderByDesc(MemberJobInfoDO::getStartDate));
for (MemberJobInfoDO memberJobInfoDO : memberJobInfoDOS) {
MemberJobInfoVO memberJobInfoVO = new MemberJobInfoVO();
BeanUtils.copyProperties(memberJobInfoDO, memberJobInfoVO);
CompanyDictDO companyDictDO = companyDictMapper.selectById(memberJobInfoDO.getCompanyId());
memberJobInfoVO.setCompanyName(companyDictDO.getCompanyName());
memberJobInfoVOS.add(memberJobInfoVO);
}
memberCardVO.setMemberJobInfoVOS(memberJobInfoVOS);
return memberCardVO;
}
public ImportMemberDictVO importMember(String workstationId, String teamId, MultipartFile multipartFile) {
/**
* 模板地址:
* https://laowu-pro.oss-cn-shanghai.aliyuncs.com/%E7%94%A8%E6%88%B7%E6%A8%A1%E6%9D%BF.xlsx
*/
ImportMemberDictVO importMemberDictVO = new ImportMemberDictVO();
int rightCount = 0;
int totalCount = 0;
List<ImportMemberVO> failMembers = new ArrayList<>();
List<ImportMemberDTO> importMemberDTOS = ExcelUtil.readExcelWithoutTitle(null, ImportMemberDTO.class, multipartFile);
for (ImportMemberDTO importMemberDTO : importMemberDTOS) {
totalCount++;
if (null == importMemberDTO.getIdCard()) {
ImportMemberVO importMemberVO = new ImportMemberVO();
BeanUtils.copyProperties(importMemberDTO, importMemberVO);
importMemberVO.setIndex(totalCount + 2);
importMemberVO.setFailReason("身份证号不能为空");
failMembers.add(importMemberVO);
continue;
}
if (null == importMemberDTO.getUserName()) {
ImportMemberVO importMemberVO = new ImportMemberVO();
BeanUtils.copyProperties(importMemberDTO, importMemberVO);
importMemberVO.setIndex(totalCount + 2);
importMemberVO.setFailReason("姓名不能为空");
failMembers.add(importMemberVO);
continue;
}
if (null == importMemberDTO.getProvince()) {
ImportMemberVO importMemberVO = new ImportMemberVO();
BeanUtils.copyProperties(importMemberDTO, importMemberVO);
importMemberVO.setIndex(totalCount + 2);
importMemberVO.setFailReason("省不能为空");
failMembers.add(importMemberVO);
continue;
}
if (null == importMemberDTO.getCity()) {
ImportMemberVO importMemberVO = new ImportMemberVO();
BeanUtils.copyProperties(importMemberDTO, importMemberVO);
importMemberVO.setIndex(totalCount + 2);
importMemberVO.setFailReason("市不能为空");
failMembers.add(importMemberVO);
continue;
}
if (null == importMemberDTO.getCounty()) {
ImportMemberVO importMemberVO = new ImportMemberVO();
BeanUtils.copyProperties(importMemberDTO, importMemberVO);
importMemberVO.setIndex(totalCount + 2);
importMemberVO.setFailReason("县不能为空");
failMembers.add(importMemberVO);
continue;
}
int count = libGeoLocationMapper.selectCount(new QueryWrapper<LibGeoLocationDO>()
.lambda()
.eq(LibGeoLocationDO::getProvince, importMemberDTO.getProvince())
.eq(LibGeoLocationDO::getCity, importMemberDTO.getCity())
.eq(LibGeoLocationDO::getCounty, importMemberDTO.getCounty()));
if (count == 0) {
ImportMemberVO importMemberVO = new ImportMemberVO();
BeanUtils.copyProperties(importMemberDTO, importMemberVO);
importMemberVO.setIndex(totalCount + 2);
importMemberVO.setFailReason("填写地址有误");
failMembers.add(importMemberVO);
continue;
}
MemberDictDO memberDictDO = this.baseMapper.selectOne(new QueryWrapper<MemberDictDO>()
.lambda()
.eq(MemberDictDO::getIdCard, importMemberDTO.getIdCard()));
if (null != memberDictDO) {
ImportMemberVO importMemberVO = new ImportMemberVO();
BeanUtils.copyProperties(importMemberDTO, importMemberVO);
importMemberVO.setIndex(totalCount + 2);
importMemberVO.setFailReason("该身份证已存在");
failMembers.add(importMemberVO);
continue;
}
String[] majors = importMemberDTO.getMajor().split(",");
List<MemberPositionsDO> memberPositionsDOS = new ArrayList<MemberPositionsDO>();
for (String fullName : majors) {
//技能
PositionDictDO positionDictDO = positionDictMapper.selectOne(new QueryWrapper<PositionDictDO>()
.lambda()
.eq(PositionDictDO::getFullName, fullName));
if (null != positionDictDO) {
MemberPositionsDO memberPositionsDO = new MemberPositionsDO();
memberPositionsDO.setPositionId(positionDictDO.getId());
memberPositionsDOS.add(memberPositionsDO);
}
}
if (majors.length != memberPositionsDOS.size()) {
ImportMemberVO importMemberVO = new ImportMemberVO();
BeanUtils.copyProperties(importMemberDTO, importMemberVO);
importMemberVO.setIndex(totalCount + 2);
importMemberVO.setFailReason("该技能不存在");
failMembers.add(importMemberVO);
continue;
}
MemberDictDO memberDictDO1 = new MemberDictDO();
BeanUtils.copyProperties(importMemberDTO, memberDictDO1);
memberDictDO1.setIdCardType("身份证");
if (StringUtils.isNotEmpty(workstationId)) {
WorkstationDictDO workstationDictDO = workstationDictMapper.selectById(workstationId);
memberDictDO1.setInfoOrigin(workstationDictDO.getWorkstationName());
} else {
memberDictDO1.setInfoOrigin("自然人数据库");
}
this.baseMapper.insert(memberDictDO1);
memberPositionsDOS.stream().forEach(x -> {
x.setMemberId(memberDictDO1.getId());
memberPositionsMapper.insert(x);
});
if (StringUtils.isNotEmpty(teamId)) {
MemberTeamMappingDO memberTeamMappingDO = new MemberTeamMappingDO();
memberTeamMappingDO.setTeamId(Long.valueOf(teamId));
memberTeamMappingDO.setMemberId(memberDictDO1.getId());
memberTeamMappingMapper.insert(memberTeamMappingDO);
}
if (StringUtils.isNotEmpty(workstationId)) {
WorkstationMemberMappingDO workstationMemberMappingDO = new WorkstationMemberMappingDO();
workstationMemberMappingDO.setStationId(Long.valueOf(workstationId));
workstationMemberMappingDO.setMemberId(memberDictDO1.getId());
workstationMemberMappingMapper.insert(workstationMemberMappingDO);
}
rightCount++;
}
importMemberDictVO.setImportMemberVOS(failMembers);
importMemberDictVO.setRightCount(rightCount);
importMemberDictVO.setErrorCount(totalCount - rightCount);
return importMemberDictVO;
}
public String downloadErrorData(DownloadErrorDataDTO downloadErrorDataDTO) {
List<ImportMemberVO> importMemberVOS = downloadErrorDataDTO.getImportMemberVOS();
ExcelUtil.writeExcel(importMemberVOS, ImportMemberVO.class);
return ConstantUtils.SUCCESS_DOWNLOAD;
}
public void address(List<AddressDTO> addressDTO) {
System.out.println(addressDTO);
addressDTO.stream().forEach(a -> {
a.getChildren().stream().forEach(b -> {
b.getChildren().stream().forEach(c -> {
c.getChildren().stream().forEach(d -> {
LibGeoLocationDO libGeoLocationDO = new LibGeoLocationDO();
libGeoLocationDO.setProvince(a.getLabel());
libGeoLocationDO.setCity(b.getLabel());
libGeoLocationDO.setCounty(c.getLabel());
libGeoLocationDO.setTown(d.getLabel());
libGeoLocationMapper.insert(libGeoLocationDO);
System.out.println(222);
});
});
});
});
}
public IPage<RosterVO> roster(RosterDTO rosterDTO){
return null;
}
}
package com.laowu.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.laowu.dto.label.AddNewsDTO;
import com.laowu.dto.label.NewsDTO;
import com.laowu.mapper.NewsDictMapper;
import com.laowu.mapper.NewsLabelsMapper;
import com.laowu.model.NewsDictDO;
import com.laowu.model.NewsLabelDictDO;
import com.laowu.model.NewsLabelsDO;
import com.laowu.service.NewsDictService;
import com.laowu.util.ConstantUtils;
import com.laowu.vo.lables.NewsVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 服务实现类
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Service
public class NewsDictServiceImpl extends ServiceImpl<NewsDictMapper, NewsDictDO> implements NewsDictService {
@Autowired
private NewsLabelsMapper newsLabelsMapper;
public IPage<NewsVO> news(NewsDTO newsDTO) {
Page pager = new Page(newsDTO.getPageNum(), newsDTO.getPageSize());
IPage<NewsVO> page = this.baseMapper.news(pager, newsDTO.getLabelId(), newsDTO.getTitle());
List<NewsVO> newsVOS = page.getRecords();
for (NewsVO newsVO : newsVOS) {
//标签
List<NewsLabelDictDO> newsLabelsDOS = this.baseMapper.newsLabels(newsVO.getId());
newsVO.setNewsLabelDictDOS(newsLabelsDOS);
}
return page;
}
@Transactional(rollbackFor = Exception.class)
public String top(NewsDictDO newsDictDO) {
this.baseMapper.updateTopStatus();
NewsDictDO newsDictDO1 = this.baseMapper.selectById(newsDictDO.getId());
newsDictDO1.setTopFlag(1);
this.baseMapper.updateById(newsDictDO1);
return ConstantUtils.SUCCESS_UPDATE;
}
@Transactional(rollbackFor = Exception.class)
public String deleteNews(NewsDictDO newsDictDO) {
this.baseMapper.deleteById(newsDictDO.getId());
newsLabelsMapper.delete(new QueryWrapper<NewsLabelsDO>()
.lambda()
.eq(NewsLabelsDO::getNewsId, newsDictDO.getId()));
return ConstantUtils.DELETE_SUCCESS;
}
@Transactional(rollbackFor = Exception.class)
public String addNews(AddNewsDTO addNewsDTO) {
NewsDictDO newsDictDO = new NewsDictDO();
BeanUtils.copyProperties(addNewsDTO, newsDictDO);
newsDictDO.setStatus("已隐藏");
newsDictDO.setTopFlag(0);
this.baseMapper.insert(newsDictDO);
List<Long> labelIds = addNewsDTO.getLabelIds();
if (labelIds.size() > 0) {
for (Long labelId : labelIds) {
NewsLabelsDO newsLabelsDO = new NewsLabelsDO();
newsLabelsDO.setLabelId(labelId);
newsLabelsDO.setNewsId(newsDictDO.getId());
newsLabelsMapper.insert(newsLabelsDO);
}
}
return ConstantUtils.ADD_SUCCESS;
}
public String updateNews(AddNewsDTO updateNewsDTO) {
NewsDictDO newsDictDO = new NewsDictDO();
BeanUtils.copyProperties(updateNewsDTO, newsDictDO);
this.baseMapper.updateById(newsDictDO);
if (null != updateNewsDTO.getLabelIds()) {
//找到已经有的work
List<Long> oldIds = newsLabelsMapper.labelIds(updateNewsDTO.getId());
List<Long> newIds = updateNewsDTO.getLabelIds();
List<Long> newIds2 = new ArrayList<Long>();
for (Long id : newIds) {
newIds2.add(id);
}
newIds.removeAll(oldIds); //新增的人在newIds里面
if (newIds.size() > 0) {
for (Long id : newIds) {
NewsLabelsDO newsLabelsDO = new NewsLabelsDO();
newsLabelsDO.setNewsId(updateNewsDTO.getId());
newsLabelsDO.setLabelId(id);
newsLabelsMapper.insert(newsLabelsDO);
}
}
oldIds.removeAll(newIds2);//删掉以前的
if (oldIds.size() > 0) {
for (Long id : oldIds) {
newsLabelsMapper.delete(new QueryWrapper<NewsLabelsDO>()
.lambda()
.eq(NewsLabelsDO::getNewsId, updateNewsDTO.getId())
.eq(NewsLabelsDO::getLabelId, id));
}
}
}
return ConstantUtils.SUCCESS_UPDATE;
}
public NewsVO oneNews(NewsDictDO newsDictDO) {
NewsVO newsVO = this.baseMapper.oneNews(newsDictDO.getId());
//标签
List<NewsLabelDictDO> newsLabelsDOS = this.baseMapper.newsLabels(newsVO.getId());
newsVO.setNewsLabelDictDOS(newsLabelsDOS);
return newsVO;
}
public IPage<NewsVO> noTopNews(NewsDTO newsDTO) {
Page pager = new Page(newsDTO.getPageNum(), newsDTO.getPageSize());
IPage<NewsVO> page = this.baseMapper.noTopNews(pager, newsDTO.getLabelId(), newsDTO.getTitle());
List<NewsVO> newsVOS = page.getRecords();
for (NewsVO newsVO : newsVOS) {
//标签
List<NewsLabelDictDO> newsLabelsDOS = this.baseMapper.newsLabels(newsVO.getId());
newsVO.setNewsLabelDictDOS(newsLabelsDOS);
}
return page;
}
}
package com.laowu.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.laowu.common.exception.HttpException;
import com.laowu.mapper.NewsLabelDictMapper;
import com.laowu.mapper.NewsLabelsMapper;
import com.laowu.model.NewsLabelDictDO;
import com.laowu.model.NewsLabelsDO;
import com.laowu.service.NewsLabelDictService;
import com.laowu.util.ConstantUtils;
import com.laowu.vo.lables.LablesVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* <p>
* 服务实现类
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Service
public class NewsLabelDictServiceImpl extends ServiceImpl<NewsLabelDictMapper, NewsLabelDictDO> implements NewsLabelDictService {
@Autowired
private NewsLabelsMapper newsLabelsMapper;
@Transactional(rollbackFor = Exception.class)
public String addLabel(NewsLabelDictDO newsLabelDictDO){
int count = this.baseMapper.selectCount(new QueryWrapper<NewsLabelDictDO>()
.lambda()
.eq(NewsLabelDictDO::getLabel,newsLabelDictDO.getLabel()));
if (count > 0){
throw new HttpException(70001);
}
this.baseMapper.insert(newsLabelDictDO);
return ConstantUtils.ADD_SUCCESS;
}
@Transactional(rollbackFor = Exception.class)
public String updateLabel(NewsLabelDictDO newsLabelDictDO){
int count = this.baseMapper.selectCount(new QueryWrapper<NewsLabelDictDO>()
.lambda()
.eq(NewsLabelDictDO::getLabel,newsLabelDictDO.getLabel())
.ne(NewsLabelDictDO::getId,newsLabelDictDO.getId()));
if (count > 0){
throw new HttpException(70001);
}
this.baseMapper.updateById(newsLabelDictDO);
return ConstantUtils.SUCCESS_UPDATE;
}
@Transactional(rollbackFor = Exception.class)
public String deleteLabel(NewsLabelDictDO newsLabelDictDO){
this.baseMapper.deleteById(newsLabelDictDO.getId());
newsLabelsMapper.delete(new QueryWrapper<NewsLabelsDO>()
.lambda()
.eq(NewsLabelsDO::getLabelId,newsLabelDictDO.getId()));
return ConstantUtils.DELETE_SUCCESS;
}
public List<LablesVO> lables(NewsLabelDictDO newsLabelDictDO){
return this.baseMapper.lables(newsLabelDictDO.getLabel());
}
}
package com.laowu.service.impl;
import com.laowu.model.NewsLabelsDO;
import com.laowu.mapper.NewsLabelsMapper;
import com.laowu.service.NewsLabelsService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 服务实现类
* </p>
*
* @author Tuyp
* @since 2023-05-16
*/
@Service
public class NewsLabelsServiceImpl extends ServiceImpl<NewsLabelsMapper, NewsLabelsDO> implements NewsLabelsService {
}
package com.laowu.service.impl;
import com.laowu.model.RoleDictDO;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.laowu.dto.role.UpdatePermissionsDTO;
import com.laowu.mapper.AdministerMapper;
import com.laowu.mapper.RoleAdministerMappingMapper;
import com.laowu.mapper.RoleDictMapper;
import com.laowu.mapper.RolePermissionMappingMapper;
import com.laowu.model.PermissionsDictDO;
import com.laowu.model.RoleAdministerMappingDO;
import com.laowu.model.RoleDictDO;
import com.laowu.model.RolePermissionMappingDO;
import com.laowu.service.RoleDictService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.laowu.util.ConstantUtils;
import com.laowu.vo.admin.PermissionsVO;
import com.laowu.vo.station.WorkstationRolesVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
* 角色表 服务实现类
......@@ -17,4 +32,101 @@ import org.springframework.stereotype.Service;
@Service
public class RoleDictServiceImpl extends ServiceImpl<RoleDictMapper, RoleDictDO> implements RoleDictService {
@Autowired
private RoleAdministerMappingMapper roleAdministerMappingMapper;
@Autowired
private RolePermissionMappingMapper rolePermissionMappingMapper;
@Autowired
private AdministerMapper administerMapper;
public List<WorkstationRolesVO> workstationRoles() {
List<WorkstationRolesVO> workstationRolesVOS = new ArrayList<>();
//查看工作站账号
List<RoleDictDO> roleDictDOS = this.baseMapper.selectList(new QueryWrapper<RoleDictDO>()
.lambda()
.eq(RoleDictDO::getRoleType, 1));
for (RoleDictDO roleDictDO : roleDictDOS) {
WorkstationRolesVO workstationRolesVO = new WorkstationRolesVO();
workstationRolesVO.setRoleId(roleDictDO.getId());
//角色名称
workstationRolesVO.setRole(roleDictDO.getRole());
//角色人数
int count = roleAdministerMappingMapper.selectCount(new QueryWrapper<RoleAdministerMappingDO>()
.lambda()
.eq(RoleAdministerMappingDO::getRoleId, roleDictDO.getId()));
workstationRolesVO.setRoleCnt(count);
//权限范围
List<PermissionsDictDO> permissionsDictDOS = rolePermissionMappingMapper.rolePermissions(roleDictDO.getId());
workstationRolesVO.setPermissionsDictDOS(permissionsDictDOS);
workstationRolesVOS.add(workstationRolesVO);
}
return workstationRolesVOS;
}
public List<PermissionsVO> allPermissions() {
List<PermissionsVO> list = administerMapper.getAllPermissions();
List<PermissionsVO> treeList = new ArrayList();
if (list != null) {
list.forEach(permission -> {
if (permission.getParentId() == null) {
treeList.add(permission);
}
list.forEach(p -> {
if (null != p.getParentId() && p.getParentId().equals(permission.getId())) {
if (permission.getChildren() == null) {
permission.setChildren(new ArrayList<>());
}
permission.getChildren().add(p);
}
});
});
}
return treeList;
}
public String updatePermissions(UpdatePermissionsDTO updatePermissionsDTO){
//查看现有的权限
List<Long> permissionIds = rolePermissionMappingMapper.rolePermissionIds(updatePermissionsDTO.getRoleId());
List<Long> newIds = updatePermissionsDTO.getPermissions();
List<Long> newIds2 = new ArrayList<Long>();
for (Long id : newIds) {
newIds2.add(id);
}
newIds.removeAll(permissionIds); //新增的人在newIds里面
if (newIds.size() > 0) {
for (Long id : newIds) {
RolePermissionMappingDO rolePermissionMappingDO = new RolePermissionMappingDO();
rolePermissionMappingDO.setRoleId(updatePermissionsDTO.getRoleId());
rolePermissionMappingDO.setPermissionId(id);
rolePermissionMappingMapper.insert(rolePermissionMappingDO);
}
}
permissionIds.removeAll(newIds2);//删掉以前的
if (permissionIds.size() > 0) {
for (Long id : permissionIds) {
rolePermissionMappingMapper.delete(new QueryWrapper<RolePermissionMappingDO>()
.lambda()
.eq(RolePermissionMappingDO::getRoleId, updatePermissionsDTO.getRoleId())
.eq(RolePermissionMappingDO::getPermissionId, id));
}
}
return ConstantUtils.SUCCESS_UPDATE;
}
}
......@@ -297,7 +297,7 @@ public class TeamDictServiceImpl extends ServiceImpl<TeamDictMapper, TeamDictDO>
//查看某个人所在的工作站
List<Long> workstationIds = workstationAdministersMapper.administerStations(memberManagementDTO.getUserId());
IPage<MemberManagementVO> memberManagementVOIPage = this.baseMapper.memberManagement(pager, memberManagementDTO.getTeamId(), memberManagementDTO.getStationId(), memberManagementDTO.getProvince(), memberManagementDTO.getJobStatus(), memberManagementDTO.getUserName(),workstationIds);
IPage<MemberManagementVO> memberManagementVOIPage = this.baseMapper.memberManagement(pager, memberManagementDTO.getTeamId(), memberManagementDTO.getStationId(), memberManagementDTO.getProvince(), memberManagementDTO.getJobStatus(), memberManagementDTO.getUserName(),workstationIds,memberManagementDTO.getPositionId());
List<MemberManagementVO> memberManagementVOS = memberManagementVOIPage.getRecords();
......@@ -327,7 +327,7 @@ public class TeamDictServiceImpl extends ServiceImpl<TeamDictMapper, TeamDictDO>
public TotalTeamsVO memberManagementCount(MemberManagementDTO memberManagementDTO) {
TotalTeamsVO totalTeamsVO = new TotalTeamsVO();
totalTeamsVO.setCount(this.baseMapper.memberManagementCount(memberManagementDTO.getTeamId(), memberManagementDTO.getStationId(), memberManagementDTO.getProvince(), memberManagementDTO.getJobStatus()));
totalTeamsVO.setCount(this.baseMapper.memberManagementCount(memberManagementDTO.getTeamId(), memberManagementDTO.getStationId(), memberManagementDTO.getProvince(), memberManagementDTO.getJobStatus(),memberManagementDTO.getPositionId()));
return totalTeamsVO;
}
......
package com.laowu.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.laowu.common.exception.HttpException;
import com.laowu.mapper.WorkstationOutsideGeoMapper;
import com.laowu.model.WorkstationOutsideGeoDO;
import com.laowu.service.WorkstationOutsideGeoService;
import com.laowu.util.ConstantUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* <p>
* 驻外区域字典表 服务实现类
* </p>
*
* @author Tuyp
* @since 2023-06-16
*/
@Service
public class WorkstationOutsideGeoServiceImpl extends ServiceImpl<WorkstationOutsideGeoMapper, WorkstationOutsideGeoDO> implements WorkstationOutsideGeoService {
@Transactional(rollbackFor = Exception.class)
public String addGeo(WorkstationOutsideGeoDO workstationOutsideGeoDO) {
Integer count = this.baseMapper.geoCnt(workstationOutsideGeoDO.getId(), workstationOutsideGeoDO.getWorkstationId(), workstationOutsideGeoDO.getProvince(), workstationOutsideGeoDO.getCity(), workstationOutsideGeoDO.getCounty(), workstationOutsideGeoDO.getTown(), workstationOutsideGeoDO.getVillage());
if (count > 0) {
throw new HttpException(70001);
}
this.baseMapper.insert(workstationOutsideGeoDO);
return ConstantUtils.ADD_SUCCESS;
}
@Transactional(rollbackFor = Exception.class)
public String updateGeo(WorkstationOutsideGeoDO workstationOutsideGeoDO) {
Integer count = this.baseMapper.geoCnt(workstationOutsideGeoDO.getId(), workstationOutsideGeoDO.getWorkstationId(), workstationOutsideGeoDO.getProvince(), workstationOutsideGeoDO.getCity(), workstationOutsideGeoDO.getCounty(), workstationOutsideGeoDO.getTown(), workstationOutsideGeoDO.getVillage());
if (count > 0) {
throw new HttpException(70001);
}
this.baseMapper.updateGeo(workstationOutsideGeoDO.getId(),workstationOutsideGeoDO.getProvince(),workstationOutsideGeoDO.getCity(),workstationOutsideGeoDO.getCounty(),workstationOutsideGeoDO.getTown(),workstationOutsideGeoDO.getVillage());
return ConstantUtils.SUCCESS_UPDATE;
}
@Transactional(rollbackFor = Exception.class)
public String deleteGeo(WorkstationOutsideGeoDO workstationOutsideGeoDO) {
this.baseMapper.deleteById(workstationOutsideGeoDO.getId());
return ConstantUtils.DELETE_SUCCESS;
}
public List<WorkstationOutsideGeoDO> queryGeos(WorkstationOutsideGeoDO workstationOutsideGeoDO){
return this.baseMapper.queryGeos(workstationOutsideGeoDO.getWorkstationId(),workstationOutsideGeoDO.getProvince(),workstationOutsideGeoDO.getCity(), workstationOutsideGeoDO.getCounty(),workstationOutsideGeoDO.getTown(),workstationOutsideGeoDO.getVillage());
}
}
......@@ -115,6 +115,16 @@ public class WorkstationRequireMappingServiceImpl extends ServiceImpl<Workstatio
BeanUtils.copyProperties(positionItemInfoDO, positionItemInfoDO1);
positionItemInfoDO1.setPositionRequireId(positionRequireItemDO1.getId());
positionItemInfoMapper.insert(positionItemInfoDO1);
List<PositionRequirePositionsDO> positionRequirePositionsDOS = positionRequirePositionsMapper.selectList(new QueryWrapper<PositionRequirePositionsDO>()
.lambda()
.eq(PositionRequirePositionsDO::getItemInfoId,positionItemInfoDO.getId()));
positionRequirePositionsDOS.stream().forEach(x->{
PositionRequirePositionsDO positionRequirePositionsDO = new PositionRequirePositionsDO();
positionRequirePositionsDO.setItemInfoId(positionItemInfoDO1.getId());
positionRequirePositionsDO.setPositionId(x.getPositionId());
positionRequirePositionsMapper.insert(positionRequirePositionsDO);
});
}
WorkstationRequireMappingDO workstationRequireMappingDO = new WorkstationRequireMappingDO();
......
......@@ -24,7 +24,7 @@ public class ConstantUtils {
public static final String SUCCESS_VERIFY = "验证成功";
public static final String FAIL_VERIFY = "验证失败";
public static final String SUCCESS_DOWNLOAD = "下载成功";
public static final String SUCCESS_LOGIN = "登录成功";
......
package com.laowu.util;
import java.util.Random;
public class MyStringUtils {
public static String randomName(int length) {
String str="abcdefghijklmnopqrstuvwxyz0123456789";
Random random=new Random();
StringBuffer sb=new StringBuffer();
for(int i=0;i<length;i++){
int number=random.nextInt(36);
sb.append(str.charAt(number));
}
return sb.toString();
}
public static void main(String[] args) {
for (int i=0;i<50;i++){
System.out.println(randomName(8));
}
}
}
package com.laowu.vo.admin;
import lombok.Data;
@Data
public class AdministerStationsVO {
private Long id;
private String workstationName;
private String county;
private String town;
private String village;
}
package com.laowu.vo.admin;
import lombok.Data;
@Data
public class WorkstationAdministerGeosVO {
}
package com.laowu.vo.admin;
import com.laowu.model.AdministerStationRoleDO;
import lombok.Data;
import java.util.List;
@Data
public class WorkstationRolesAdministersVO {
private Long id;
private Long administerId;
private Long roleId;
private Long workstationId;
private String userName;
private String account;
private String telephone;
private List<AdministerStationRoleDO> administerStationRoleDOS;
}
package com.laowu.vo.company;
import com.laowu.model.CompanyDictDO;
import lombok.Data;
@Data
public class CompanyCardVO extends CompanyDictDO {
private String validateDuration;
private String registeredCapital;
private String environment;
private String bus;
private String socialSecurity;
private String flowRate;
private String companyScale;
private String creditScore;
private String business;
}
......@@ -25,6 +25,8 @@ public class CompanyVO {
private String companyCode;
private String companyProperty;
private String companyDesc;
private String companyOrigin;
......
package com.laowu.vo.geo;
import lombok.Data;
import java.util.List;
@Data
public class CountyCountsVO {
private String name;
private Integer cnt;
private List<TownCountsVO> children;
}
package com.laowu.vo.geo;
import lombok.Data;
import java.util.List;
@Data
public class CountyVO {
private String county;
private List<TownVO> towns;
}
package com.laowu.vo.geo;
import lombok.Data;
@Data
public class ProvinceCounts {
}
package com.laowu.vo.geo;
import lombok.Data;
import java.util.List;
@Data
public class TownCountsVO {
private String name;
private Integer cnt;
private List<VillageCountsVO> children;
}
package com.laowu.vo.geo;
import lombok.Data;
import java.util.List;
@Data
public class TownVO {
private String town;
private List<String> village;
}
package com.laowu.vo.geo;
import lombok.Data;
@Data
public class VillageCountsVO {
private String name;
private String cnt;
}
package com.laowu.vo.lables;
import lombok.Data;
@Data
public class LablesVO {
private Long id;
private String createDate;
private String label;
private Long createBy;
private String userName;
}
package com.laowu.vo.lables;
import com.laowu.model.NewsDictDO;
import com.laowu.model.NewsLabelDictDO;
import lombok.Data;
import java.util.List;
@Data
public class NewsVO extends NewsDictDO {
private String userName;
private List<NewsLabelDictDO> newsLabelDictDOS;
}
package com.laowu.vo.member;
import lombok.Data;
import java.util.List;
@Data
public class ImportMemberDictVO {
private List<ImportMemberVO> importMemberVOS;
private Integer rightCount;
private Integer errorCount;
}
package com.laowu.vo.member;
import com.laowu.util.ExcelColumnUtil;
import lombok.Data;
@Data
public class ImportMemberVO {
@ExcelColumnUtil(value = "Excel行号", col = 1)
private Integer index;
@ExcelColumnUtil(value = "姓名", col = 2)
private String userName;
@ExcelColumnUtil(value = "身份证号", col = 3)
private String idCard;
@ExcelColumnUtil(value = "省", col = 4)
private String province;
@ExcelColumnUtil(value = "市", col = 5)
private String city;
@ExcelColumnUtil(value = "县", col = 6)
private String county;
// @ExcelColumnUtil(value = "镇", col = 7)
// private String town;
@ExcelColumnUtil(value = "具体地址", col = 7)
private String address;
@ExcelColumnUtil(value = "手机号", col = 8)
private String telephone;
@ExcelColumnUtil(value = "技能", col = 9)
private String major;
@ExcelColumnUtil(value = "最高学历", col = 10)
private String education;
@ExcelColumnUtil(value = "脱贫劳动力(是/否)", col = 11)
private String isPoor;
@ExcelColumnUtil(value = "易迁户(是/否)", col = 12)
private String isMigration;
@ExcelColumnUtil(value = "党员(是/否)", col = 13)
private String isParty;
@ExcelColumnUtil(value = "失败原因", col = 14)
private String failReason;
}
package com.laowu.vo.member;
import lombok.Data;
import java.util.List;
@Data
public class LocationVO {
private String label;
private String value;
private List<LocationVO> children;
}
package com.laowu.vo.member;
import com.laowu.model.MemberCertsDO;
import com.laowu.model.MemberDictDO;
import com.laowu.model.PositionDictDO;
import lombok.Data;
import java.util.List;
@Data
public class MemberCardVO extends MemberDictDO {
private List<PositionDictDO> positionDictDOS;
private List<MemberTrainInfoVO> memberTrainInfoVOS;
private List<MemberCertsDO> memberCertsDOS;
private List<MemberJobInfoVO> memberJobInfoVOS;
private String age;
private String starValue;
private String jobValue;
private String validateDuration;
private String gender;
private String physicalReport;
private String emergencyContact;
private String honor;
private String punishment;
}
package com.laowu.vo.member;
import lombok.Data;
@Data
public class RosterVO {
}
package com.laowu.vo.station;
import com.laowu.model.PermissionsDictDO;
import lombok.Data;
import java.util.List;
@Data
public class WorkstationRolesVO {
private Long roleId;
private String role;
private Integer roleCnt;
private List<PermissionsDictDO> permissionsDictDOS;
}
......@@ -25,9 +25,6 @@ spring.datasource.druid.useGlobalDataSourceStat=true
# 控制台日志打印
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
spring.servlet.multipart.max-file-size=2048KB
spring.servlet.multipart.max-request-size=4098KB
spring.redis.host=sh-crs-hq5xbrsq.sql.tencentcdb.com
spring.redis.password=Ykhl@302
spring.redis.port=20260
......
......@@ -14,6 +14,8 @@ spring.server.compression=on
#�ļ������С
spring.server.MaxFileSize=300MB
spring.server.MaxRequestSize=500MB
spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=50MB
# �ļ����� UTF8
spring.mandatory-file-encoding=UTF-8
spring.jackson.time-zone=GMT+8
......
......@@ -40,6 +40,33 @@
</if>
</select>
<select id="getAllPermissions" resultType="com.laowu.vo.admin.PermissionsVO">
SELECT DISTINCT
t4.*
FROM
permissions_dict t4
WHERE
t4.delete_date IS NULL
AND t4.id IS NOT NULL
</select>
<!-- <select id="rolePermissions" parameterType="long" resultType="com.laowu.vo.admin.PermissionsVO">-->
<!-- SELECT DISTINCT-->
<!-- t4.*-->
<!-- FROM-->
<!-- role_dict t2-->
<!-- LEFT JOIN role_permission_mapping t3 ON t2.id = t3.role_id-->
<!-- LEFT JOIN permissions_dict t4 ON t3.permission_id = t4.id-->
<!-- WHERE-->
<!-- t2.delete_date IS NULL-->
<!-- AND t3.delete_date IS NULL-->
<!-- AND t4.delete_date IS NULL-->
<!-- AND t4.id IS NOT NULL-->
<!-- <if test="id !=null and id !=''">-->
<!-- and t2.id = #{id}-->
<!-- </if>-->
<!-- </select>-->
<select id="all" resultType="com.laowu.model.AdministerDO">
SELECT
id,
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.laowu.mapper.AdministerStationRoleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.laowu.model.AdministerStationRoleDO">
<id column="id" property="id" />
<result column="create_date" property="createDate" />
<result column="update_date" property="updateDate" />
<result column="delete_date" property="deleteDate" />
<result column="administer_id" property="administerId" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, administer_id, province, city, county, town, village
</sql>
<select id="workstationRoleAdministers" resultType="com.laowu.vo.admin.WorkstationRolesAdministersVO">
SELECT DISTINCT
t2.id,
t.role_id,
t.workstation_id,
t.administer_id,
t2.user_name,
t2.account,
t2.telephone
FROM
administer_station_role t
LEFT JOIN administer t2 ON t.administer_id = t2.id
WHERE
t.delete_date IS NULL
AND t.workstation_id = #{workstationId}
AND t.role_id = #{roleId}
<if test="province != null and province != ''">
AND t.province = #{province}
</if>
<if test="city != null and city != ''">
AND t.city = #{city}
</if>
<if test="county != null and county != ''">
AND t.county = #{county}
</if>
<if test="town != null and town != ''">
AND t.town = #{town}
</if>
<if test="village!=null and village != ''">
AND t.village = ##{village}
</if>
</select>
<select id="workstationAdministerGeos" resultType="com.laowu.model.AdministerStationRoleDO">
SELECT
t.*
FROM
administer_station_role t
WHERE
t.delete_date IS NULL
AND t.administer_id = #{administerId}
AND t.workstation_id = #{workstationId}
AND t.role_id = #{roleId}
</select>
<select id="geoCount" resultType="integer">
SELECT
count(1)
FROM
administer_station_role t
WHERE
t.delete_date IS NULL
AND t.administer_id = #{administerId}
AND t.workstation_id = #{workstationId}
AND t.role_id = #{roleId}
AND t.province = #{province}
AND t.city = #{city}
AND t.county = #{county}
AND t.town = #{town}
AND t.village = #{village}
</select>
<select id="administerStations" parameterType="long" resultType="com.laowu.vo.admin.AdministerStationsVO">
SELECT
t.id,
t2.workstation_name,
t.county,
t.town,
t.village
FROM
administer_station_role t
LEFT JOIN workstation_dict t2 ON t.workstation_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.administer_id = #{administerId}
</select>
<select id="administerRegionIds" parameterType="long" resultType="long">
SELECT
t.id
FROM
administer_station_role t
WHERE
t.delete_date IS NULL
AND t.administer_id = #{administerId}
</select>
</mapper>
......@@ -28,6 +28,7 @@
t.company_name,
t3.business,
t.company_code,
t.company_property,
t.company_desc,
t.province,
t.city,
......@@ -93,6 +94,7 @@
t2.company_code,
t2.company_desc,
t2.province,
t2.company_property,
t2.city,
t2.county
FROM
......
......@@ -58,6 +58,39 @@
order by t.order_no
</select>
<select id="towns" resultType="string">
SELECT DISTINCT
t.town
FROM
lib_geo_location t
WHERE
t.delete_date IS NULL
AND t.county IS NOT NULL
AND t.province = #{province}
AND t.city = #{city}
AND t.county = #{county}
and town is not NULL
ORDER BY
t.order_no
</select>
<select id="villages" resultType="string">
SELECT DISTINCT
t.village
FROM
lib_geo_location t
WHERE
t.delete_date IS NULL
AND t.county IS NOT NULL
AND t.province = #{province}
AND t.city = #{city}
AND t.county = #{county}
AND t.town = #{town}
and t.village is not null
ORDER BY
t.order_no
</select>
<select id="geo" resultType="com.laowu.vo.geo.GeoVO">
SELECT
t1.id,
......@@ -82,7 +115,122 @@
<if test="town != null and town != ''">
AND ( t1.town LIKE concat('%', #{town}, '%') OR t1.village LIKE concat('%', #{town}, '%') )
</if>
GROUP BY t1.town
GROUP BY
t1.province,
t1.city,
t1.county,
t1.town
</select>
<select id="localVillages" parameterType="com.laowu.model.LibGeoLocationDO" resultType="string">
SELECT
distinct t.county
FROM
lib_geo_location t
WHERE
t.delete_date IS NULL
AND t.province = #{province}
AND t.city = #{city}
</select>
<select id="countyCounts" resultType="com.laowu.vo.geo.CountyCountsVO">
SELECT
t4.county as name,
count( 0 ) as cnt
FROM
workstation_dict t1
LEFT JOIN workstation_member_mapping t3 ON t1.id = t3.station_id
LEFT JOIN member_dict t4 ON t3.member_id = t4.id
WHERE
t1.delete_date IS NULL
AND t3.delete_date IS NULL
AND t4.delete_date IS NULL
AND t1.id = #{workStationId}
GROUP BY
t4.county
</select>
<select id="townCounts" resultType="com.laowu.vo.geo.TownCountsVO">
SELECT
t1.town as name,
count( 0 ) as cnt
FROM
lib_geo_location t1
LEFT JOIN (
SELECT
t4.id,
t4.user_name AS NAME,
t4.province AS m_pr,
t4.city AS m_ci,
t4.county AS m_co,
t4.town AS m_to,
t4.village AS m_vi
FROM
workstation_dict t1
LEFT JOIN workstation_member_mapping t3 ON t1.id = t3.station_id
LEFT JOIN member_dict t4 ON t3.member_id = t4.id
WHERE
t1.delete_date IS NULL
AND t3.delete_date IS NULL
AND t4.delete_date IS NULL
AND t1.id = #{workStationId}
<if test="town != null and town != ''">
AND t4.town = #{town}
</if>
) t2 ON t1.province = t2.m_pr
AND t1.city = t2.m_ci
AND t1.county = t2.m_co
AND t1.town = t2.m_to
WHERE
t2.id IS NOT NULL
AND t1.delete_date IS NULL
GROUP BY
t1.town
</select>
<select id="villageCounts" resultType="com.laowu.vo.geo.VillageCountsVO">
SELECT
t1.village as name,
count(0) cnt
FROM
lib_geo_location t1
LEFT JOIN (
SELECT
t4.id,
t4.user_name AS NAME,
t4.province AS m_pr,
t4.city AS m_ci,
t4.county AS m_co,
t4.town AS m_to,
t4.village AS m_vi
FROM
workstation_dict t1
LEFT JOIN workstation_member_mapping t3 ON t1.id = t3.station_id
LEFT JOIN member_dict t4 ON t3.member_id = t4.id
AND t1.province = t4.province
AND t1.city = t4.city
AND t1.county = t4.county
WHERE
t1.delete_date IS NULL
AND t3.delete_date IS NULL
AND t4.delete_date IS NULL
AND t1.id = #{workStationId}
) t2 ON t1.province = t2.m_pr
AND t1.city = t2.m_ci
AND t1.county = t2.m_co
AND t1.town = t2.m_to
AND t1.village = t2.m_vi
WHERE
t1.delete_date is null
and t2.id IS NOT NULL
<if test="town != null and town != ''">
and t1.town = #{town}
</if>
<if test="village != null and village != ''">
and t1.village = #{village}
</if>
GROUP BY
t1.village
</select>
</mapper>
......@@ -39,7 +39,7 @@
</sql>
<select id="allMembers" resultType="com.laowu.vo.member.AllMembersVO">
SELECT
SELECT DISTINCT
t.id,
t.user_name,
t.STATUS,
......@@ -52,6 +52,9 @@
t.address
FROM
member_dict t
LEFT JOIN member_positions t2 ON t.id = t2.member_id
LEFT JOIN position_dict t3 ON t2.position_id = t3.id
left join position_dict t4 ON t3.parent_id = t4.id
WHERE
t.delete_date IS NULL
<if test="status != null and status != ''">
......@@ -69,6 +72,9 @@
<if test="userName != null and userName != ''">
AND t.user_name like concat('%', #{userName}, '%')
</if>
<if test="positionId != null and positionId != ''">
and (t3.id = #{positionId} or t3.parent_id = #{positionId} or t4.parent_id = #{positionId})
</if>
order by t.create_date
</select>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.laowu.mapper.NewsDictMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.laowu.model.NewsDictDO">
<id column="id" property="id" />
<result column="create_date" property="createDate" />
<result column="update_date" property="updateDate" />
<result column="delete_date" property="deleteDate" />
<result column="title" property="title" />
<result column="guiding" property="guiding" />
<result column="status" property="status" />
<result column="publish_date" property="publishDate" />
<result column="publish_id" property="publishId" />
<result column="content" property="content" />
<result column="cover_page" property="coverPage" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, title, guiding, status, publish_date, publish_id, content, cover_page
</sql>
<select id="news" resultType="com.laowu.vo.lables.NewsVO">
SELECT DISTINCT
t2.id,
t2.title,
t2.guiding,
t2.`status`,
t2.publish_date,
t3.user_name,
t2.top_flag,
t2.cover_page
FROM
news_labels t
LEFT JOIN news_dict t2 ON t.news_id = t2.id
LEFT JOIN administer t3 ON t2.publish_id = t3.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
<if test="labelId != null and labelId != ''">
AND t.label_id = #{labelId}
</if>
<if test="title != null and title != ''">
AND t2.title like concat('%', #{title}, '%')
</if>
order by t2.top_flag desc,t2.publish_date desc
</select>
<select id="newsLabels" parameterType="long" resultType="com.laowu.model.NewsLabelDictDO">
SELECT
t2.*
FROM
news_labels t
LEFT JOIN news_label_dict t2 ON t.label_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.news_id = #{newsId}
</select>
<update id="updateTopStatus">
update news_dict set top_flag = 0
</update>
<select id="oneNews" resultType="com.laowu.vo.lables.NewsVO">
SELECT DISTINCT
t2.id,
t2.title,
t2.guiding,
t2.`status`,
t2.publish_date,
t3.user_name,
t2.top_flag,
t2.cover_page,
t2.content
FROM
news_labels t
LEFT JOIN news_dict t2 ON t.news_id = t2.id
LEFT JOIN administer t3 ON t2.publish_id = t3.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
and t2.id = #{id}
</select>
<select id="noTopNews" resultType="com.laowu.vo.lables.NewsVO">
SELECT DISTINCT
t2.id,
t2.title,
t2.guiding,
t2.`status`,
t2.publish_date,
t3.user_name,
t2.top_flag,
t2.cover_page
FROM
news_labels t
LEFT JOIN news_dict t2 ON t.news_id = t2.id
LEFT JOIN administer t3 ON t2.publish_id = t3.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
and t2.top_flag != 1
and t2.status = '已发布'
<if test="labelId != null and labelId != ''">
AND t.label_id = #{labelId}
</if>
<if test="title != null and title != ''">
AND t2.title like concat('%', #{title}, '%')
</if>
order by t2.top_flag desc,t2.publish_date desc
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.laowu.mapper.NewsLabelDictMapper">
<select id="lables" parameterType="string" resultType="com.laowu.vo.lables.LablesVO">
SELECT
t.id,
t.label,
t.create_date,
t.create_by,
t2.user_name
FROM
news_label_dict t
LEFT JOIN administer t2 ON t.create_by = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.label LIKE concat('%', #{label}, '%')
</select>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.laowu.mapper.NewsLabelsMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.laowu.model.NewsLabelsDO">
<id column="id" property="id" />
<result column="create_date" property="createDate" />
<result column="update_date" property="updateDate" />
<result column="delete_date" property="deleteDate" />
<result column="news_id" property="newsId" />
<result column="label_id" property="labelId" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, news_id, label_id
</sql>
<select id="labelIds" parameterType="long" resultType="long">
SELECT
t.label_id
FROM
news_labels t
WHERE
t.delete_date IS NULL
AND t.news_id = #{newsId}
</select>
</mapper>
......@@ -49,14 +49,11 @@
t.address
FROM
position_alone_info t
LEFT JOIN company_dict t2 ON t.company_id = t2.id
LEFT JOIN lib_job_sort t3 ON t.job_sort_id = t3.id
LEFT JOIN position_dict t4 ON t.position_id = t4.id
LEFT JOIN company_dict t2 ON t.company_id = t2.id AND t2.delete_date IS NULL
LEFT JOIN lib_job_sort t3 ON t.job_sort_id = t3.id and t3.delete_date IS NULL
LEFT JOIN position_dict t4 ON t.position_id = t4.id and t4.delete_date IS NULL
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
and t3.delete_date IS NULL
and t4.delete_date IS NULL
and t.origin_id is null
<if test="positionStatus!= null and positionStatus!=''">
AND t.position_status = #{positionStatus}
......
......@@ -20,4 +20,28 @@
id, role_id, permission_id
</sql>
<select id="rolePermissions" parameterType="long" resultType="com.laowu.model.PermissionsDictDO">
SELECT
t2.*
FROM
role_permission_mapping t
LEFT JOIN permissions_dict t2 ON t.permission_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.role_id = #{roleId}
</select>
<select id="rolePermissionIds" parameterType="long" resultType="long">
SELECT
t2.id
FROM
role_permission_mapping t
LEFT JOIN permissions_dict t2 ON t.permission_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.role_id = #{roleId}
</select>
</mapper>
......@@ -137,11 +137,14 @@
t1.is_migration,
t1.is_party
FROM
member_dict t1
member_dict t1
LEFT JOIN workstation_member_mapping t5 ON t1.id = t5.member_id and t5.delete_date is null
LEFT JOIN workstation_dict t4 ON t5.station_id = t4.id AND t4.delete_date IS NULL
LEFT JOIN member_team_mapping t2 ON t1.id = t2.member_id AND t2.delete_date IS NULL
LEFT JOIN team_dict t3 ON t2.team_id = t3.id AND t3.delete_date IS NULL
LEFT JOIN member_positions t6 ON t1.id = t6.member_id AND t6.delete_date IS NULL
left join position_dict t7 on t6.position_id = t7.id and t7.delete_date is null
left join position_dict t8 ON t7.parent_id = t8.id and t8.delete_date is null
WHERE
t1.delete_date IS NULL
<if test="jobStatus != null and jobStatus != ''">
......@@ -165,6 +168,9 @@
#{id}
</foreach>
</if>
<if test="positionId != null and positionId != ''">
and ( t7.id = #{positionId} or t7.parent_id = #{positionId} or t8.parent_id = #{positionId} )
</if>
order by t1.create_date
</select>
......@@ -189,6 +195,7 @@
LEFT JOIN member_team_mapping t2 ON t1.id = t2.member_id
LEFT JOIN team_dict t3 ON t2.team_id = t3.id
LEFT JOIN workstation_dict t4 ON t3.station_id = t4.id
LEFT JOIN member_positions t6 ON t1.id = t6.member_id AND t6.delete_date IS NULL
WHERE
t1.delete_date IS NULL
AND t2.delete_date IS NULL
......@@ -209,6 +216,9 @@
<if test="userName != null and userName != ''">
and t1.user_name like LIKE concat('%', #{userName}, '%')
</if>
<if test="positionId != null and positionId != ''">
and t6.position_id = #{positionId}
</if>
</select>
<update id="noLeader" parameterType="long">
......
......@@ -45,16 +45,12 @@
t.address
FROM
position_alone_info t
LEFT JOIN company_dict t2 ON t.company_id = t2.id
LEFT JOIN lib_job_sort t3 ON t.job_sort_id = t3.id
LEFT JOIN position_dict t4 ON t.position_id = t4.id
left join workstation_alone_mapping t5 on t5.alone_id = t.id
WHERE
LEFT JOIN company_dict t2 ON t.company_id = t2.id AND t2.delete_date IS NULL
LEFT JOIN lib_job_sort t3 ON t.job_sort_id = t3.id and t3.delete_date IS NULL
LEFT JOIN position_dict t4 ON t.position_id = t4.id and t4.delete_date IS NULL
left join workstation_alone_mapping t5 on t5.alone_id = t.id and t5.delete_date IS NULL
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
and t3.delete_date IS NULL
and t4.delete_date IS NULL
and t5.delete_date IS NULL
<if test="positionStatus!= null and positionStatus!=''">
AND t.position_status = #{positionStatus}
</if>
......
......@@ -4,15 +4,15 @@
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.laowu.model.WorkstationDictDO">
<id column="id" property="id" />
<result column="create_date" property="createDate" />
<result column="update_date" property="updateDate" />
<result column="delete_date" property="deleteDate" />
<result column="workstation_name" property="workstationName" />
<result column="province" property="province" />
<result column="city" property="city" />
<result column="county" property="county" />
<result column="comment" property="comment" />
<id column="id" property="id"/>
<result column="create_date" property="createDate"/>
<result column="update_date" property="updateDate"/>
<result column="delete_date" property="deleteDate"/>
<result column="workstation_name" property="workstationName"/>
<result column="province" property="province"/>
<result column="city" property="city"/>
<result column="county" property="county"/>
<result column="comment" property="comment"/>
</resultMap>
<!-- 通用查询结果列 -->
......@@ -25,53 +25,53 @@
<select id="stations" resultType="com.laowu.vo.station.StationsVO">
SELECT
t.id,
t.workstation_name,
t.province,
t.city,
t.county,
t.`comment`
t.id,
t.workstation_name,
t.province,
t.city,
t.county,
t.`comment`
FROM
workstation_dict t
workstation_dict t
WHERE
t.delete_date IS NULL
<if test="province != null and province !=''">
AND t.province = #{province}
</if>
<if test="city != null and city != ''">
AND t.city = #{city}
</if>
<if test="county != null and county != ''">
AND t.county = #{county}
</if>
<if test="workstationName != null and workstationName != ''">
and t.workstation_name LIKE concat('%', #{workstationName}, '%')
</if>
t.delete_date IS NULL
<if test="province != null and province !=''">
AND t.province = #{province}
</if>
<if test="city != null and city != ''">
AND t.city = #{city}
</if>
<if test="county != null and county != ''">
AND t.county = #{county}
</if>
<if test="workstationName != null and workstationName != ''">
and t.workstation_name LIKE concat('%', #{workstationName}, '%')
</if>
</select>
<select id="stationAccount" parameterType="string" resultType="com.laowu.vo.station.StationAccountVO">
SELECT
t1.id,
GROUP_CONCAT( t3.workstation_name ) as stationName,
t1.user_name,
t1.account,
t1.telephone,
t1.`password`
t1.id,
GROUP_CONCAT( t3.workstation_name ) as stationName,
t1.user_name,
t1.account,
t1.telephone,
t1.`password`
FROM
administer t1
LEFT JOIN workstation_administers t2 ON t1.id = t2.administer_id
LEFT JOIN workstation_dict t3 ON t2.workstation_id = t3.id
left join role_administer_mapping t4 on t1.id = t4.administer_id
administer t1
LEFT JOIN workstation_administers t2 ON t1.id = t2.administer_id
LEFT JOIN workstation_dict t3 ON t2.workstation_id = t3.id
left join role_administer_mapping t4 on t1.id = t4.administer_id
WHERE
t1.delete_date IS NULL
AND t2.delete_date IS NULL
AND t3.delete_date IS NULL
and t4.role_id != 1
t1.delete_date IS NULL
AND t2.delete_date IS NULL
AND t3.delete_date IS NULL
and t4.role_id != 1
<if test=" workingstationName!= null and workingstationName != ''">
AND t3.workstation_name LIKE concat('%', #{workingstationName}, '%')
</if>
AND t3.workstation_name LIKE concat('%', #{workingstationName}, '%')
</if>
GROUP BY
t1.id
t1.id
</select>
<select id="provinces" resultType="string">
......@@ -86,16 +86,16 @@
<select id="homepage" parameterType="long" resultType="com.laowu.vo.team.HomepageVO">
SELECT
t1.workstation_name,
t1.province,
t1.city,
t1.county,
IFNULL( t4.ct1, 0 ) AS memberCnt,
IFNULL( t5.ct2, 0 ) AS leaderCnt,
IFNULL( t6.ct3, 0 ) AS teamCnt,
IFNULL( t7.ct4, 0 ) AS companyCnt,
IFNULL( t8.ct5, 0 ) AS requireCnt
FROM
t1.workstation_name,
t1.province,
t1.city,
t1.county,
IFNULL( t4.ct1, 0 ) AS memberCnt,
IFNULL( t5.ct2, 0 ) AS leaderCnt,
IFNULL( t6.ct3, 0 ) AS teamCnt,
IFNULL( t7.ct4, 0 ) AS companyCnt,
IFNULL( t8.ct5, 0 ) AS requireCnt
FROM
workstation_dict t1
LEFT JOIN (
SELECT
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.laowu.mapper.WorkstationOutsideGeoMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.laowu.model.WorkstationOutsideGeoDO">
<id column="id" property="id" />
<result column="create_date" property="createDate" />
<result column="update_date" property="updateDate" />
<result column="delete_date" property="deleteDate" />
<result column="workstation_id" property="workstationId" />
<result column="outside_geo_name" property="outsideGeoName" />
<result column="province" property="province" />
<result column="city" property="city" />
<result column="county" property="county" />
<result column="town" property="town" />
<result column="village" property="village" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, workstation_id, outside_geo_name, province, city, county, town, village
</sql>
<select id="geoCnt" resultType="integer">
SELECT
count( 1 )
FROM
workstation_outside_geo t
WHERE
t.delete_date IS NULL
AND t.workstation_id = #{workstationId}
AND t.province = #{province}
AND t.city = #{city}
AND t.town = #{town}
AND t.village = #{village}
<if test="id != null and id != null">
and t.id != #{id}
</if>
</select>
<update id="updateGeo">
update workstation_outside_geo
<trim suffixOverrides=",">
update_date = now(),
<if test="province !=null and province !=''">
province = #{province},
</if>
<if test="city !=null and city !=''">
city = #{city},
</if>
<if test="county !=null and county !=''">
county = #{county},
</if>
<if test="town !=null and town !=''">
town = #{town},
</if>
<if test="village !=null and village !=''">
village = #{village},
</if>
</trim>
where id = #{id}
</update>
<select id="queryGeos" resultType="com.laowu.model.WorkstationOutsideGeoDO">
SELECT
*
FROM
workstation_outside_geo t
WHERE
t.delete_date IS NULL
AND t.workstation_id = #{workstationId}
<if test="province != null and province != ''">
AND t.province = #{province}
</if>
<if test="city != null and city != ''">
AND t.city = #{city}
</if>
<if test="town != null and town != ''">
AND t.town = #{town}
</if>
<if test="village != null and village != ''">
AND t.village = #{village}
</if>
</select>
</mapper>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!