You need to sign in or sign up before continuing.
Commit 69bccbd6 by 涂亚平

2024.1 多客户端上线,过年备份

1 parent eca0b978
Showing with 1994 additions and 259 deletions
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="638a5aae-1fdf-4d8e-b485-bccb20a55a3c" name="Default Changelist" comment="" /> <list default="true" id="638a5aae-1fdf-4d8e-b485-bccb20a55a3c" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/logs/springboot-logback/info/2024-01-22-0.log.gz" afterDir="false" />
<change afterPath="$PROJECT_DIR$/logs/springboot-logback/info/2024-01-24-0.log.gz" afterDir="false" />
<change afterPath="$PROJECT_DIR$/logs/springboot-logback/info/2024-01-25-0.log.gz" afterDir="false" />
<change afterPath="$PROJECT_DIR$/logs/springboot-logback/info/2024-01-26-0.log.gz" afterDir="false" />
<change afterPath="$PROJECT_DIR$/logs/springboot-logback/info/2024-01-29-0.log.gz" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/ClassMemberMappingController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/JobMemberMappingController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/OssController.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/administer/AddAdministerDTO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/company/CompanyFilesDTO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/company/InviteMemberDTO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/company/UploadFileDTO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/member/AddMemberDTO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/member/ChangeDepartmentsDTO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/member/GetAllDTO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/ClassMemberMappingMapper.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/JobMemberMappingMapper.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/model/ClassMemberMappingDO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/model/JobMemberMappingDO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/ClassMemberMappingService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/JobMemberMappingService.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/ClassMemberMappingServiceImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/JobMemberMappingServiceImpl.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/vo/administer/AdministerServicesVO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/vo/oss/GetSecretVO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/vo/oss/UploadFileVO.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/mapper/ClassMemberMappingMapper.xml" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/mapper/JobMemberMappingMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/logs/springboot-logback-error.log" beforeDir="false" afterPath="$PROJECT_DIR$/logs/springboot-logback-error.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/logs/springboot-logback-info.log" beforeDir="false" afterPath="$PROJECT_DIR$/logs/springboot-logback-info.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/logs/springboot-logback/info/2023-12-25-0.log.gz" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/logs/springboot-logback/info/2023-12-26-0.log.gz" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/AdministerController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/AdministerController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/CompanyMemberMappingController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/CompanyMemberMappingController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/MemberController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/MemberController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/ServiceCompanyFilesController.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/controller/ServiceCompanyFilesController.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/administer/AdministerPermissionVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/dto/administer/AdministerPermissionVO.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/AdministerMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/AdministerMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/CompanyDictMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/CompanyDictMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/JobDictMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/JobDictMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/MemberMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/MemberMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/ServiceCompanyFilesMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/ServiceCompanyFilesMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/ServiceCompanyMappingMapper.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/mapper/ServiceCompanyMappingMapper.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/AdministerService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/AdministerService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/CompanyMemberMappingService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/CompanyMemberMappingService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/MemberService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/MemberService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/ServiceAdministerMappingService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/ServiceAdministerMappingService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/ServiceCompanyFilesService.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/ServiceCompanyFilesService.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/AdministerServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/CompanyDictServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/CompanyDictServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/CompanyMemberMappingServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/CompanyMemberMappingServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/DepartmentDictServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/DepartmentDictServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/MemberServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/ServiceAdministerMappingServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/ServiceAdministerMappingServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/ServiceCompanyFilesServiceImpl.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/service/impl/ServiceCompanyFilesServiceImpl.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/subsidy/vo/member/AttendMembersVO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/subsidy/vo/member/AttendMembersVO.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/application-prod.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application-prod.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/application.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/code.properties" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/code.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/mapper/AdministerMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/AdministerMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/mapper/CompanyDictMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/CompanyDictMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/mapper/CompanyMemberMappingMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/CompanyMemberMappingMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/mapper/JobDictMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/JobDictMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/mapper/MemberMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/MemberMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/mapper/ServiceCompanyFilesMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/ServiceCompanyFilesMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/mapper/ServiceCompanyMappingMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/mapper/ServiceCompanyMappingMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/application-prod.properties" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application-prod.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/application.properties" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/application.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/code.properties" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/code.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/controller/AdministerController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/controller/AdministerController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/controller/CompanyMemberMappingController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/controller/CompanyMemberMappingController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/controller/MemberController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/controller/MemberController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/controller/ServiceCompanyFilesController.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/controller/ServiceCompanyFilesController.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/dto/administer/AdministerPermissionVO.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/dto/administer/AdministerPermissionVO.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/AdministerMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/AdministerMapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/CompanyDictMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/CompanyDictMapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/JobDictMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/JobDictMapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/MemberMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/MemberMapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/ServiceCompanyFilesMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/ServiceCompanyFilesMapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/ServiceCompanyMappingMapper.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/mapper/ServiceCompanyMappingMapper.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/AdministerService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/AdministerService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/CompanyMemberMappingService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/CompanyMemberMappingService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/MemberService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/MemberService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/ServiceAdministerMappingService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/ServiceAdministerMappingService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/ServiceCompanyFilesService.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/ServiceCompanyFilesService.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/AdministerServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/AdministerServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/CompanyDictServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/CompanyDictServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/CompanyMemberMappingServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/CompanyMemberMappingServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/DepartmentDictServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/DepartmentDictServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/MemberServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/MemberServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/ServiceAdministerMappingServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/ServiceAdministerMappingServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/ServiceCompanyFilesServiceImpl.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/service/impl/ServiceCompanyFilesServiceImpl.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/com/subsidy/vo/member/AttendMembersVO.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/com/subsidy/vo/member/AttendMembersVO.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/mapper/AdministerMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/AdministerMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/mapper/CompanyDictMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/CompanyDictMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/mapper/CompanyMemberMappingMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/CompanyMemberMappingMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/mapper/JobDictMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/JobDictMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/mapper/MemberMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/MemberMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/mapper/ServiceCompanyFilesMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/ServiceCompanyFilesMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/classes/mapper/ServiceCompanyMappingMapper.xml" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/mapper/ServiceCompanyMappingMapper.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/subsidy-app.jar" beforeDir="false" afterPath="$PROJECT_DIR$/target/subsidy-app.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/target/subsidy-app.jar.original" beforeDir="false" afterPath="$PROJECT_DIR$/target/subsidy-app.jar.original" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" /> <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
...@@ -79,7 +183,7 @@ ...@@ -79,7 +183,7 @@
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" /> <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" /> <property name="WebServerToolWindowFactoryState" value="false" />
<property name="aspect.path.notification.shown" value="true" /> <property name="aspect.path.notification.shown" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/src/main/java/com/subsidy/vo" /> <property name="last_opened_file_path" value="$PROJECT_DIR$/target/subsidy-app.jar" />
<property name="project.structure.last.edited" value="Modules" /> <property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.0" /> <property name="project.structure.proportion" value="0.0" />
<property name="project.structure.side.proportion" value="0.2" /> <property name="project.structure.side.proportion" value="0.2" />
...@@ -92,11 +196,11 @@ ...@@ -92,11 +196,11 @@
</component> </component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="CopyClassDialog.RECENTS_KEY"> <key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.subsidy.controller" />
<recent name="com.subsidy.dto.member" />
<recent name="com.subsidy.dto.administer" /> <recent name="com.subsidy.dto.administer" />
<recent name="com.subsidy.dto.service" /> <recent name="com.subsidy.dto.service" />
<recent name="com.subsidy.vo.member" /> <recent name="com.subsidy.vo.member" />
<recent name="com.subsidy.vo.department" />
<recent name="com.subsidy.dto.department" />
</key> </key>
<key name="CopyFile.RECENT_KEYS"> <key name="CopyFile.RECENT_KEYS">
<recent name="D:\code\subsidy-app\src\main\java\com\subsidy\vo" /> <recent name="D:\code\subsidy-app\src\main\java\com\subsidy\vo" />
...@@ -775,7 +879,17 @@ ...@@ -775,7 +879,17 @@
<workItem from="1705482523406" duration="1236000" /> <workItem from="1705482523406" duration="1236000" />
<workItem from="1705541866204" duration="8283000" /> <workItem from="1705541866204" duration="8283000" />
<workItem from="1705627393823" duration="8022000" /> <workItem from="1705627393823" duration="8022000" />
<workItem from="1705887997135" duration="936000" /> <workItem from="1705887997135" duration="1260000" />
<workItem from="1705890198542" duration="6405000" />
<workItem from="1705973437403" duration="13948000" />
<workItem from="1706061847744" duration="13697000" />
<workItem from="1706150628637" duration="3404000" />
<workItem from="1706162060280" duration="667000" />
<workItem from="1706232413846" duration="2341000" />
<workItem from="1706491490686" duration="596000" />
<workItem from="1706578516269" duration="7270000" />
<workItem from="1706664212053" duration="616000" />
<workItem from="1706667936132" duration="6000" />
</task> </task>
<task id="LOCAL-00024" summary="online"> <task id="LOCAL-00024" summary="online">
<created>1664517688369</created> <created>1664517688369</created>
...@@ -1187,10 +1301,10 @@ ...@@ -1187,10 +1301,10 @@
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="0" y="0" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1703149784295" /> <state x="0" y="0" key="#com.intellij.refactoring.rename.AutomaticRenamingDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1703149784295" />
<state x="690" y="266" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1704966906521"> <state x="690" y="266" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog" timestamp="1705989819107">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="690" y="266" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1704966906521" /> <state x="690" y="266" key="#com.intellij.refactoring.safeDelete.UnsafeUsagesDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1705989819107" />
<state x="703" y="374" key="ANALYSIS_DLG_com.intellij.analysis.BaseAnalysisAction$1" timestamp="1703229689295"> <state x="703" y="374" key="ANALYSIS_DLG_com.intellij.analysis.BaseAnalysisAction$1" timestamp="1703229689295">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
...@@ -1199,66 +1313,66 @@ ...@@ -1199,66 +1313,66 @@
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="647" y="115" key="CommitChangelistDialog2/0.0.1920.1040@0.0.1920.1040" timestamp="1704424058280" /> <state x="647" y="115" key="CommitChangelistDialog2/0.0.1920.1040@0.0.1920.1040" timestamp="1704424058280" />
<state width="1676" height="759" key="DebuggerActiveHint" timestamp="1703229608022"> <state width="1676" height="759" key="DebuggerActiveHint" timestamp="1706088294089">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1676" height="759" key="DebuggerActiveHint/0.0.1920.1040@0.0.1920.1040" timestamp="1703229608022" /> <state width="1676" height="759" key="DebuggerActiveHint/0.0.1920.1040@0.0.1920.1040" timestamp="1706088294089" />
<state x="85" y="70" width="1735" height="856" key="DiffContextDialog" timestamp="1702347029299"> <state x="85" y="70" width="1735" height="856" key="DiffContextDialog" timestamp="1702347029299">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="85" y="70" width="1735" height="856" key="DiffContextDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1702347029299" /> <state x="85" y="70" width="1735" height="856" key="DiffContextDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1702347029299" />
<state x="740" y="278" key="FileChooserDialogImpl" timestamp="1703647981405"> <state x="740" y="278" key="FileChooserDialogImpl" timestamp="1706592552013">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="740" y="278" key="FileChooserDialogImpl/0.0.1920.1040@0.0.1920.1040" timestamp="1703647981405" /> <state x="740" y="278" key="FileChooserDialogImpl/0.0.1920.1040@0.0.1920.1040" timestamp="1706592552013" />
<state width="1877" height="304" key="GridCell.Tab.0.bottom" timestamp="1705889436506"> <state width="1877" height="191" key="GridCell.Tab.0.bottom" timestamp="1706667779864">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1877" height="304" key="GridCell.Tab.0.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1705889436506" /> <state width="1877" height="191" key="GridCell.Tab.0.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1706667779864" />
<state width="1877" height="304" key="GridCell.Tab.0.center" timestamp="1705889436506"> <state width="1877" height="191" key="GridCell.Tab.0.center" timestamp="1706667779864">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1877" height="304" key="GridCell.Tab.0.center/0.0.1920.1040@0.0.1920.1040" timestamp="1705889436506" /> <state width="1877" height="191" key="GridCell.Tab.0.center/0.0.1920.1040@0.0.1920.1040" timestamp="1706667779864" />
<state width="1877" height="304" key="GridCell.Tab.0.left" timestamp="1705889436506"> <state width="1877" height="191" key="GridCell.Tab.0.left" timestamp="1706667779864">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1877" height="304" key="GridCell.Tab.0.left/0.0.1920.1040@0.0.1920.1040" timestamp="1705889436506" /> <state width="1877" height="191" key="GridCell.Tab.0.left/0.0.1920.1040@0.0.1920.1040" timestamp="1706667779864" />
<state width="1877" height="304" key="GridCell.Tab.0.right" timestamp="1705889436506"> <state width="1877" height="191" key="GridCell.Tab.0.right" timestamp="1706667779864">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1877" height="304" key="GridCell.Tab.0.right/0.0.1920.1040@0.0.1920.1040" timestamp="1705889436506" /> <state width="1877" height="191" key="GridCell.Tab.0.right/0.0.1920.1040@0.0.1920.1040" timestamp="1706667779864" />
<state width="1877" height="304" key="GridCell.Tab.1.bottom" timestamp="1705652561612"> <state width="1877" height="85" key="GridCell.Tab.1.bottom" timestamp="1706606696807">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1877" height="304" key="GridCell.Tab.1.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1705652561612" /> <state width="1877" height="85" key="GridCell.Tab.1.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1706606696807" />
<state width="1877" height="304" key="GridCell.Tab.1.center" timestamp="1705652561612"> <state width="1877" height="85" key="GridCell.Tab.1.center" timestamp="1706606696807">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1877" height="304" key="GridCell.Tab.1.center/0.0.1920.1040@0.0.1920.1040" timestamp="1705652561612" /> <state width="1877" height="85" key="GridCell.Tab.1.center/0.0.1920.1040@0.0.1920.1040" timestamp="1706606696807" />
<state width="1877" height="304" key="GridCell.Tab.1.left" timestamp="1705652561612"> <state width="1877" height="85" key="GridCell.Tab.1.left" timestamp="1706606696807">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1877" height="304" key="GridCell.Tab.1.left/0.0.1920.1040@0.0.1920.1040" timestamp="1705652561612" /> <state width="1877" height="85" key="GridCell.Tab.1.left/0.0.1920.1040@0.0.1920.1040" timestamp="1706606696807" />
<state width="1877" height="304" key="GridCell.Tab.1.right" timestamp="1705652561612"> <state width="1877" height="85" key="GridCell.Tab.1.right" timestamp="1706606696807">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state width="1877" height="304" key="GridCell.Tab.1.right/0.0.1920.1040@0.0.1920.1040" timestamp="1705652561612" /> <state width="1877" height="85" key="GridCell.Tab.1.right/0.0.1920.1040@0.0.1920.1040" timestamp="1706606696807" />
<state x="0" y="678" width="1877" height="304" key="GridCell.Tab.2.bottom" timestamp="1705652561612"> <state x="0" y="678" width="1877" height="85" key="GridCell.Tab.2.bottom" timestamp="1706606696807">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="0" y="678" width="1877" height="304" key="GridCell.Tab.2.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1705652561612" /> <state x="0" y="678" width="1877" height="85" key="GridCell.Tab.2.bottom/0.0.1920.1040@0.0.1920.1040" timestamp="1706606696807" />
<state x="0" y="678" width="1877" height="304" key="GridCell.Tab.2.center" timestamp="1705652561612"> <state x="0" y="678" width="1877" height="85" key="GridCell.Tab.2.center" timestamp="1706606696807">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="0" y="678" width="1877" height="304" key="GridCell.Tab.2.center/0.0.1920.1040@0.0.1920.1040" timestamp="1705652561612" /> <state x="0" y="678" width="1877" height="85" key="GridCell.Tab.2.center/0.0.1920.1040@0.0.1920.1040" timestamp="1706606696807" />
<state x="0" y="678" width="1877" height="304" key="GridCell.Tab.2.left" timestamp="1705652561612"> <state x="0" y="678" width="1877" height="85" key="GridCell.Tab.2.left" timestamp="1706606696807">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="0" y="678" width="1877" height="304" key="GridCell.Tab.2.left/0.0.1920.1040@0.0.1920.1040" timestamp="1705652561612" /> <state x="0" y="678" width="1877" height="85" key="GridCell.Tab.2.left/0.0.1920.1040@0.0.1920.1040" timestamp="1706606696807" />
<state x="0" y="678" width="1877" height="304" key="GridCell.Tab.2.right" timestamp="1705652561612"> <state x="0" y="678" width="1877" height="85" key="GridCell.Tab.2.right" timestamp="1706606696807">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="0" y="678" width="1877" height="304" key="GridCell.Tab.2.right/0.0.1920.1040@0.0.1920.1040" timestamp="1705652561612" /> <state x="0" y="678" width="1877" height="85" key="GridCell.Tab.2.right/0.0.1920.1040@0.0.1920.1040" timestamp="1706606696807" />
<state x="772" y="230" key="RollbackChangesDialog" timestamp="1703150615929"> <state x="772" y="230" key="RollbackChangesDialog" timestamp="1703150615929">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
...@@ -1275,10 +1389,10 @@ ...@@ -1275,10 +1389,10 @@
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="-8" y="-8" width="1643" height="840" maximized="true" key="com.intellij.history.integration.ui.views.FileHistoryDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1702524842199" /> <state x="-8" y="-8" width="1643" height="840" maximized="true" key="com.intellij.history.integration.ui.views.FileHistoryDialog/0.0.1920.1040@0.0.1920.1040" timestamp="1702524842199" />
<state x="396" y="75" width="1413" height="918" key="find.popup" timestamp="1704967029595"> <state x="396" y="75" width="1413" height="918" key="find.popup" timestamp="1706604334310">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
<state x="396" y="75" width="1413" height="918" key="find.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1704967029595" /> <state x="396" y="75" width="1413" height="918" key="find.popup/0.0.1920.1040@0.0.1920.1040" timestamp="1706604334310" />
<state x="616" y="240" key="run.anything.popup" timestamp="1704768337932"> <state x="616" y="240" key="run.anything.popup" timestamp="1704768337932">
<screen x="0" y="0" width="1920" height="1040" /> <screen x="0" y="0" width="1920" height="1040" />
</state> </state>
......
...@@ -2,3 +2,91 @@ ...@@ -2,3 +2,91 @@
at [Source: (PushbackInputStream); line: 1, column: 48] (through reference chain: com.subsidy.model.AdministerCompanyMappingDO["companyId"]) at [Source: (PushbackInputStream); line: 1, column: 48] (through reference chain: com.subsidy.model.AdministerCompanyMappingDO["companyId"])
2024-01-18 18:19:49,840 [http-nio-23477-exec-2] ERROR com.subsidy.common.exception.GlobalExceptionHandler:89 - JSON parse error: Cannot deserialize instance of `java.lang.Long` out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.Long` out of START_OBJECT token 2024-01-18 18:19:49,840 [http-nio-23477-exec-2] ERROR com.subsidy.common.exception.GlobalExceptionHandler:89 - JSON parse error: Cannot deserialize instance of `java.lang.Long` out of START_OBJECT token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.lang.Long` out of START_OBJECT token
at [Source: (PushbackInputStream); line: 1, column: 48] (through reference chain: com.subsidy.model.AdministerCompanyMappingDO["companyId"]) at [Source: (PushbackInputStream); line: 1, column: 48] (through reference chain: com.subsidy.model.AdministerCompanyMappingDO["companyId"])
2024-01-22 10:21:59,613 [main] ERROR org.apache.catalina.util.LifecycleBase:175 - Failed to start component [Connector[HTTP/1.1-23477]]
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.subsidy.MeishuApplication.main(MeishuApplication.java:22)
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
2024-01-22 10:21:59,634 [main] ERROR org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter:40 -
***************************
APPLICATION FAILED TO START
***************************
Description:
The Tomcat connector configured to listen on port 23477 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 23477, or configure this application to listen on another port.
2024-01-22 10:22:36,306 [main] ERROR org.apache.catalina.util.LifecycleBase:175 - Failed to start component [Connector[HTTP/1.1-23477]]
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.subsidy.MeishuApplication.main(MeishuApplication.java:22)
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
2024-01-22 10:22:36,323 [main] ERROR org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter:40 -
***************************
APPLICATION FAILED TO START
***************************
Description:
The Tomcat connector configured to listen on port 23477 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 23477, or configure this application to listen on another port.
2024-01-22 10:10:38,824 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate:244 - Multiple Spring Data modules found, entering strict repository configuration mode! 2024-01-30 09:51:55,888 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate:244 - Multiple Spring Data modules found, entering strict repository configuration mode!
2024-01-22 10:10:38,830 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate:126 - Bootstrapping Spring Data repositories in DEFAULT mode. 2024-01-30 09:51:55,894 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate:126 - Bootstrapping Spring Data repositories in DEFAULT mode.
2024-01-22 10:10:38,879 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate:182 - Finished Spring Data repository scanning in 36ms. Found 0 repository interfaces. 2024-01-30 09:51:55,932 [main] INFO org.springframework.data.repository.config.RepositoryConfigurationDelegate:182 - Finished Spring Data repository scanning in 26ms. Found 0 repository interfaces.
2024-01-22 10:10:39,229 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$6fb3a425] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2024-01-30 09:51:56,249 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$50b0b1d3] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-01-22 10:10:39,343 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'redisConfig' of type [com.subsidy.common.configure.RedisConfig$$EnhancerBySpringCGLIB$$6f7baf2c] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 2024-01-30 09:51:56,345 [main] INFO org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker:330 - Bean 'redisConfig' of type [com.subsidy.common.configure.RedisConfig$$EnhancerBySpringCGLIB$$5078bcda] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2024-01-22 10:10:39,668 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:90 - Tomcat initialized with port(s): 23477 (http) 2024-01-30 09:51:56,656 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:90 - Tomcat initialized with port(s): 23477 (http)
2024-01-22 10:10:39,681 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-23477"] 2024-01-30 09:51:56,666 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Initializing ProtocolHandler ["http-nio-23477"]
2024-01-22 10:10:39,689 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat] 2024-01-30 09:51:56,672 [main] INFO org.apache.catalina.core.StandardService:173 - Starting service [Tomcat]
2024-01-22 10:10:39,690 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.22] 2024-01-30 09:51:56,672 [main] INFO org.apache.catalina.core.StandardEngine:173 - Starting Servlet engine: [Apache Tomcat/9.0.22]
2024-01-22 10:10:39,696 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - Loaded APR based Apache Tomcat Native library [1.2.37] using APR version [1.7.4]. 2024-01-30 09:51:56,677 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - Loaded APR based Apache Tomcat Native library [1.2.37] using APR version [1.7.4].
2024-01-22 10:10:39,697 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. 2024-01-30 09:51:56,677 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
2024-01-22 10:10:39,697 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true] 2024-01-30 09:51:56,677 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
2024-01-22 10:10:39,700 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - OpenSSL successfully initialized [OpenSSL 1.1.1u 30 May 2023] 2024-01-30 09:51:56,679 [main] INFO org.apache.catalina.core.AprLifecycleListener:173 - OpenSSL successfully initialized [OpenSSL 1.1.1u 30 May 2023]
2024-01-22 10:10:39,838 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext 2024-01-30 09:51:56,774 [main] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring embedded WebApplicationContext
2024-01-22 10:10:39,839 [main] INFO org.springframework.web.context.ContextLoader:284 - Root WebApplicationContext: initialization completed in 1940 ms 2024-01-30 09:51:56,774 [main] INFO org.springframework.web.context.ContextLoader:284 - Root WebApplicationContext: initialization completed in 1650 ms
2024-01-22 10:10:39,955 [main] INFO com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure:56 - Init DruidDataSource 2024-01-30 09:51:56,857 [main] INFO com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure:56 - Init DruidDataSource
2024-01-22 10:10:41,261 [main] INFO com.alibaba.druid.pool.DruidDataSource:994 - {dataSource-1} inited 2024-01-30 09:51:57,785 [main] INFO com.alibaba.druid.pool.DruidDataSource:994 - {dataSource-1} inited
2024-01-22 10:10:42,684 [main] INFO org.quartz.impl.StdSchedulerFactory:1208 - Using default implementation for ThreadExecutor 2024-01-30 09:51:58,944 [main] INFO org.quartz.impl.StdSchedulerFactory:1208 - Using default implementation for ThreadExecutor
2024-01-22 10:10:42,693 [main] INFO org.quartz.core.SchedulerSignalerImpl:61 - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2024-01-30 09:51:58,952 [main] INFO org.quartz.core.SchedulerSignalerImpl:61 - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2024-01-22 10:10:42,693 [main] INFO org.quartz.core.QuartzScheduler:229 - Quartz Scheduler v.2.3.1 created. 2024-01-30 09:51:58,952 [main] INFO org.quartz.core.QuartzScheduler:229 - Quartz Scheduler v.2.3.1 created.
2024-01-22 10:10:42,696 [main] INFO org.springframework.scheduling.quartz.LocalDataSourceJobStore:672 - Using db table-based data access locking (synchronization). 2024-01-30 09:51:58,955 [main] INFO org.springframework.scheduling.quartz.LocalDataSourceJobStore:672 - Using db table-based data access locking (synchronization).
2024-01-22 10:10:42,697 [main] INFO org.springframework.scheduling.quartz.LocalDataSourceJobStore:145 - JobStoreCMT initialized. 2024-01-30 09:51:58,956 [main] INFO org.springframework.scheduling.quartz.LocalDataSourceJobStore:145 - JobStoreCMT initialized.
2024-01-22 10:10:42,698 [main] INFO org.quartz.core.QuartzScheduler:294 - Scheduler meta-data: Quartz Scheduler (v2.3.1) 'schedulerFactoryBean' with instanceId 'NON_CLUSTERED' 2024-01-30 09:51:58,957 [main] INFO org.quartz.core.QuartzScheduler:294 - Scheduler meta-data: Quartz Scheduler (v2.3.1) 'schedulerFactoryBean' with instanceId 'NON_CLUSTERED'
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED. NOT STARTED.
Currently in standby mode. Currently in standby mode.
...@@ -28,19 +28,27 @@ ...@@ -28,19 +28,27 @@
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is not clustered. Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is not clustered.
2024-01-22 10:10:42,698 [main] INFO org.quartz.impl.StdSchedulerFactory:1362 - Quartz scheduler 'schedulerFactoryBean' initialized from an externally provided properties instance. 2024-01-30 09:51:58,957 [main] INFO org.quartz.impl.StdSchedulerFactory:1362 - Quartz scheduler 'schedulerFactoryBean' initialized from an externally provided properties instance.
2024-01-22 10:10:42,698 [main] INFO org.quartz.impl.StdSchedulerFactory:1366 - Quartz scheduler version: 2.3.1 2024-01-30 09:51:58,957 [main] INFO org.quartz.impl.StdSchedulerFactory:1366 - Quartz scheduler version: 2.3.1
2024-01-22 10:10:42,699 [main] INFO org.quartz.core.QuartzScheduler:2293 - JobFactory set to: com.subsidy.common.configure.JobFactory@1ad1b737 2024-01-30 09:51:58,957 [main] INFO org.quartz.core.QuartzScheduler:2293 - JobFactory set to: com.subsidy.common.configure.JobFactory@3a54638b
2024-01-22 10:10:43,344 [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)] 2024-01-30 09:51:59,461 [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)]
2024-01-22 10:10:43,511 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:171 - Initializing ExecutorService 'applicationTaskExecutor' 2024-01-30 09:51:59,610 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:171 - Initializing ExecutorService 'applicationTaskExecutor'
2024-01-22 10:10:44,174 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler:171 - Initializing ExecutorService 'taskScheduler' 2024-01-30 09:52:00,238 [main] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler:171 - Initializing ExecutorService 'taskScheduler'
2024-01-22 10:10:44,224 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:160 - Context refreshed 2024-01-30 09:52:00,290 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:160 - Context refreshed
2024-01-22 10:10:44,237 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:163 - Found 1 custom documentation plugin(s) 2024-01-30 09:52:00,303 [main] INFO springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper:163 - Found 1 custom documentation plugin(s)
2024-01-22 10:10:44,261 [main] INFO springfox.documentation.spring.web.scanners.ApiListingReferenceScanner:41 - Scanning for api listing references 2024-01-30 09:52:00,328 [main] INFO springfox.documentation.spring.web.scanners.ApiListingReferenceScanner:41 - Scanning for api listing references
2024-01-22 10:10:44,405 [main] INFO org.springframework.scheduling.quartz.SchedulerFactoryBean:731 - Will start Quartz Scheduler [schedulerFactoryBean] in 1 seconds 2024-01-30 09:52:00,509 [main] INFO org.springframework.scheduling.quartz.SchedulerFactoryBean:731 - Will start Quartz Scheduler [schedulerFactoryBean] in 1 seconds
2024-01-22 10:10:44,413 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Starting ProtocolHandler ["http-nio-23477"] 2024-01-30 09:52:00,519 [main] INFO org.apache.coyote.http11.Http11NioProtocol:173 - Starting ProtocolHandler ["http-nio-23477"]
2024-01-22 10:10:44,433 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:202 - Tomcat started on port(s): 23477 (http) with context path '' 2024-01-30 09:52:00,543 [main] INFO org.springframework.boot.web.embedded.tomcat.TomcatWebServer:202 - Tomcat started on port(s): 23477 (http) with context path ''
2024-01-22 10:10:45,418 [Quartz Scheduler [schedulerFactoryBean]] INFO org.springframework.scheduling.quartz.SchedulerFactoryBean:747 - Starting Quartz Scheduler now, after delay of 1 seconds 2024-01-30 09:52:01,520 [Quartz Scheduler [schedulerFactoryBean]] INFO org.springframework.scheduling.quartz.SchedulerFactoryBean:747 - Starting Quartz Scheduler now, after delay of 1 seconds
2024-01-22 10:15:57,961 [http-nio-23477-exec-1] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring DispatcherServlet 'dispatcherServlet' 2024-01-30 13:28:25,700 [http-nio-23477-exec-1] INFO org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]:173 - Initializing Spring DispatcherServlet 'dispatcherServlet'
2024-01-22 10:15:57,962 [http-nio-23477-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:524 - Initializing Servlet 'dispatcherServlet' 2024-01-30 13:28:25,702 [http-nio-23477-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:524 - Initializing Servlet 'dispatcherServlet'
2024-01-22 10:15:57,969 [http-nio-23477-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:546 - Completed initialization in 7 ms 2024-01-30 13:28:25,746 [http-nio-23477-exec-1] INFO org.springframework.web.servlet.DispatcherServlet:546 - Completed initialization in 43 ms
2024-01-30 16:14:39,155 [Thread-16] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler:208 - Shutting down ExecutorService 'taskScheduler'
2024-01-30 16:14:39,173 [Thread-16] INFO org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor:208 - Shutting down ExecutorService 'applicationTaskExecutor'
2024-01-30 16:14:39,199 [Thread-16] INFO org.quartz.core.QuartzScheduler:666 - Scheduler schedulerFactoryBean_$_NON_CLUSTERED shutting down.
2024-01-30 16:14:39,199 [Thread-16] INFO org.quartz.core.QuartzScheduler:585 - Scheduler schedulerFactoryBean_$_NON_CLUSTERED paused.
2024-01-30 16:14:39,200 [Thread-16] INFO org.quartz.core.QuartzScheduler:740 - Scheduler schedulerFactoryBean_$_NON_CLUSTERED shutdown complete.
2024-01-30 16:14:39,201 [Thread-16] INFO org.springframework.scheduling.quartz.SchedulerFactoryBean:844 - Shutting down Quartz Scheduler
2024-01-30 16:14:39,202 [Thread-16] INFO com.alibaba.druid.pool.DruidDataSource:2029 - {dataSource-1} closing ...
2024-01-30 16:14:39,204 [Thread-16] INFO com.alibaba.druid.pool.DruidDataSource:2101 - {dataSource-1} closed
...@@ -5,6 +5,7 @@ import com.subsidy.common.ResponseData; ...@@ -5,6 +5,7 @@ import com.subsidy.common.ResponseData;
import com.subsidy.common.ResponseVO; import com.subsidy.common.ResponseVO;
import com.subsidy.common.interceptor.LoginRequired; import com.subsidy.common.interceptor.LoginRequired;
import com.subsidy.common.interceptor.TimeRequired; import com.subsidy.common.interceptor.TimeRequired;
import com.subsidy.dto.administer.AddAdministerDTO;
import com.subsidy.dto.administer.DownloadFailMembersDTO; import com.subsidy.dto.administer.DownloadFailMembersDTO;
import com.subsidy.model.AdministerDO; import com.subsidy.model.AdministerDO;
import com.subsidy.model.MemberDO; import com.subsidy.model.MemberDO;
...@@ -46,7 +47,7 @@ public class AdministerController { ...@@ -46,7 +47,7 @@ public class AdministerController {
} }
@PostMapping("auth") @PostMapping("auth")
@ApiOperation("授权到应用端免密登录 telephone 手机号") @ApiOperation("授权到应用端免密登录 accountName 用户名 id ")
@TimeRequired @TimeRequired
public ResponseVO qxy(@RequestBody AdministerDO administerDO){ public ResponseVO qxy(@RequestBody AdministerDO administerDO){
return ResponseData.generateCreatedResponse(0,administerService.auth(administerDO)); return ResponseData.generateCreatedResponse(0,administerService.auth(administerDO));
...@@ -65,5 +66,25 @@ public class AdministerController { ...@@ -65,5 +66,25 @@ public class AdministerController {
administerService.downloadFailMembers(downloadFailMembersDTO); administerService.downloadFailMembers(downloadFailMembersDTO);
} }
@PostMapping("addAdminister")
@ApiOperation("添加客户账户 userName 名称 accountName 账户 password 密码 telephone 联系方式 role:0:应用 1:客户 2:中心 3:企业唯一账号 remark 备注 companyIds[] serviceIds[]")
@LoginRequired
public ResponseVO addAdminister(@RequestBody AddAdministerDTO addAdministerDTO) {
return ResponseData.generateCreatedResponse(0, administerService.addAdminister(addAdministerDTO));
}
@PostMapping("deleteAdminister")
@ApiOperation("客户账户管理 删除 id ")
@LoginRequired
public ResponseVO deleteAdminister(@RequestBody AdministerDO administerDO) {
return ResponseData.generateCreatedResponse(0, administerService.deleteAdminister(administerDO));
}
@PostMapping("updateAdminister")
@ApiOperation("编辑客户账户 id userName 名称 accountName 账号 password remark telephone companyIds[] serviceIds[]")
@LoginRequired
public ResponseVO updateAdminister(@RequestBody AddAdministerDTO addAdministerDTO) {
return ResponseData.generateCreatedResponse(0, administerService.updateAdminister(addAdministerDTO));
}
} }
package com.subsidy.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 班级成员映射表 前端控制器
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
@RestController
@Api(tags = "班级成员映射表")
@RequestMapping("/class-member-mapping-do")
public class ClassMemberMappingController {
}
package com.subsidy.controller; package com.subsidy.controller;
import com.subsidy.common.ResponseData;
import com.subsidy.common.ResponseVO;
import com.subsidy.dto.company.InviteMemberDTO;
import com.subsidy.dto.member.CancerMemberDTO;
import com.subsidy.service.CompanyMemberMappingService;
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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -16,7 +25,22 @@ import io.swagger.annotations.Api; ...@@ -16,7 +25,22 @@ import io.swagger.annotations.Api;
*/ */
@RestController @RestController
@Api(tags = "公司人员映射表") @Api(tags = "公司人员映射表")
@RequestMapping("/company-member-mapping-do") @RequestMapping("/companyMemberMapping")
public class CompanyMemberMappingController { public class CompanyMemberMappingController {
@Autowired
private CompanyMemberMappingService companyMemberMappingService;
@PostMapping("inviteMember")
@ApiOperation("邀请某人 userName idCard companyId")
public ResponseVO inviteMember(@RequestBody InviteMemberDTO inviteMemberDTO){
return ResponseData.generateCreatedResponse(0,companyMemberMappingService.inviteMember(inviteMemberDTO));
}
@PostMapping("cancerMember")
@ApiOperation("离职 memberIds[] companyId")
public ResponseVO cancerMember(@RequestBody CancerMemberDTO cancerMemberDTO){
return ResponseData.generateCreatedResponse(0,companyMemberMappingService.cancerMember(cancerMemberDTO));
}
} }
package com.subsidy.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/**
* <p>
* 成员岗位信息表 前端控制器
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
@RestController
@Api(tags = "成员岗位信息表")
@RequestMapping("/job-member-mapping-do")
public class JobMemberMappingController {
}
...@@ -3,19 +3,19 @@ package com.subsidy.controller; ...@@ -3,19 +3,19 @@ package com.subsidy.controller;
import com.subsidy.common.ResponseData; import com.subsidy.common.ResponseData;
import com.subsidy.common.ResponseVO; import com.subsidy.common.ResponseVO;
import com.subsidy.common.interceptor.LoginRequired;
import com.subsidy.dto.company.AttendMembersDTO; import com.subsidy.dto.company.AttendMembersDTO;
import com.subsidy.dto.member.CancerMemberDTO; import com.subsidy.dto.member.*;
import com.subsidy.dto.member.DepartMembersDTO;
import com.subsidy.model.CompanyMemberMappingDO; import com.subsidy.model.CompanyMemberMappingDO;
import com.subsidy.service.CompanyMemberMappingService; import com.subsidy.model.MemberDO;
import com.subsidy.service.MemberService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import io.swagger.annotations.Api;
/** /**
* <p> * <p>
...@@ -30,39 +30,67 @@ import io.swagger.annotations.Api; ...@@ -30,39 +30,67 @@ import io.swagger.annotations.Api;
@RequestMapping("/member") @RequestMapping("/member")
public class MemberController { public class MemberController {
@Autowired @Autowired
private CompanyMemberMappingService companyMemberMappingService; private MemberService memberService;
@PostMapping("cancerMember")
@ApiOperation("离职 memberIds[] companyId")
public ResponseVO cancerMember(@RequestBody CancerMemberDTO cancerMemberDTO){
return ResponseData.generateCreatedResponse(0,companyMemberMappingService.cancerMember(cancerMemberDTO));
}
@PostMapping("departMembers") @PostMapping("departMembers")
@ApiOperation("某公司的离职记录 pageSize pageNum companyId userName 姓名/手机号/身份证号") @ApiOperation("某公司的离职记录 pageSize pageNum companyId userName 姓名/手机号/身份证号")
public ResponseVO departMembers(@RequestBody DepartMembersDTO departMembersDTO){ public ResponseVO departMembers(@RequestBody DepartMembersDTO departMembersDTO){
return ResponseData.generateCreatedResponse(0,companyMemberMappingService.departMembers(departMembersDTO)); return ResponseData.generateCreatedResponse(0,memberService.departMembers(departMembersDTO));
} }
@PostMapping("exportDepartMembers") @PostMapping("exportDepartMembers")
@ApiOperation("导出离职人员记录 companyId userName 姓名/手机号/身份证号 ") @ApiOperation("导出离职人员记录 companyId userName 姓名/手机号/身份证号 ")
public void exportDepartMembers(@RequestBody DepartMembersDTO departMembersDTO){ public void exportDepartMembers(@RequestBody DepartMembersDTO departMembersDTO){
companyMemberMappingService.exportDepartMembers(departMembersDTO); memberService.exportDepartMembers(departMembersDTO);
} }
@PostMapping("attendMembers") @PostMapping("attendMembers")
@ApiOperation("查看某个企业已经参加过该培训的学生 companyId departmentId userName pageSize pageNum") @ApiOperation("查看某个企业已经参加过该培训的学生 companyId departmentId userName pageSize pageNum")
public ResponseVO attendMembers(@RequestBody AttendMembersDTO attendMembersDTO){ public ResponseVO attendMembers(@RequestBody AttendMembersDTO attendMembersDTO){
return ResponseData.generateCreatedResponse(0,companyMemberMappingService.attendMembers(attendMembersDTO)); return ResponseData.generateCreatedResponse(0,memberService.attendMembers(attendMembersDTO));
} }
@PostMapping("memberAttendInfo") @PostMapping("memberAttendInfo")
@ApiOperation("某个学员在该企业参加培训的详情 memberId 学员id companyId 公司id") @ApiOperation("某个学员在该企业参加培训的详情 memberId 学员id companyId 公司id")
public ResponseVO memberAttendInfo(@RequestBody CompanyMemberMappingDO companyMemberMappingDO){ public ResponseVO memberAttendInfo(@RequestBody CompanyMemberMappingDO companyMemberMappingDO){
return ResponseData.generateCreatedResponse(0,companyMemberMappingService.memberAttendInfo(companyMemberMappingDO)); return ResponseData.generateCreatedResponse(0,memberService.memberAttendInfo(companyMemberMappingDO));
}
@PostMapping("getAll")
@ApiOperation("查询某部门成员 pageNum pageSize departmentId userName status startDate endDate")
@LoginRequired
public ResponseVO getAll(@RequestBody GetAllDTO getAllDTO){
return ResponseData.generateCreatedResponse(0,memberService.getAll(getAllDTO));
} }
@PostMapping("deleteMember")
@ApiOperation("删除成员 id ")
@LoginRequired
public ResponseVO deleteMember(@RequestBody MemberDO memberDO){
return ResponseData.generateCreatedResponse(0,memberService.deleteMember(memberDO));
}
@PostMapping("addMember")
@ApiOperation("新增成员 companyId userName accountName accountNameEn telephone gender image idCard departmentIds jobIds workNo inductionDate email")
@LoginRequired
public ResponseVO addMember(@RequestBody AddMemberDTO addMemberDTO){
return ResponseData.generateCreatedResponse(0,memberService.addMember(addMemberDTO));
}
@PostMapping("updateMember")
@ApiOperation("编辑成员 {id companyId userName accountName accountNameEn telephone gender image idCard idCardPhoto status departmentIds jobIds}")
@LoginRequired
public ResponseVO updateMember(@RequestBody AddMemberDTO addMemberDTO){
return ResponseData.generateCreatedResponse(0,memberService.updateMember(addMemberDTO));
}
@PostMapping("changeDepartments")
@ApiOperation("修改部门 desDepId[] 目的部门 memberIds[] 成员id")
@LoginRequired
public ResponseVO changeDepartments(@RequestBody ChangeDepartmentsDTO changeDepartmentsDTO){
return ResponseData.generateCreatedResponse(0,memberService.changeDepartments(changeDepartmentsDTO));
}
} }
package com.subsidy.controller;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.*;
import com.subsidy.common.ResponseData;
import com.subsidy.common.ResponseVO;
import com.subsidy.vo.oss.GetSecretVO;
import com.subsidy.vo.oss.UploadFileVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
@Api(tags = "oss")
@RestController
@RequestMapping("/oss")
public class OssController {
public static final String keyId = "LTAI5tPAH7P7WQVeowo517BE";
public static final String secret = "0ueqhIfdAZyw5lWlBVSLpAxTtx37RY";
@Value("${spring.profiles.active}")
private String env;
@PostMapping("getSecret")
@ApiOperation("oss秘钥")
public ResponseVO getSecret() {
GetSecretVO getSecretVO = new GetSecretVO();
getSecretVO.setKey(keyId);
getSecretVO.setSecret(secret);
return ResponseData.generateCreatedResponse(0, getSecretVO);
}
@PostMapping("uploadFile")
@ApiOperation("分片上传")
public ResponseVO fenpian(@RequestParam("file") MultipartFile file) {
UploadFileVO uploadFileVO = new UploadFileVO();
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-beijing.aliyuncs.com";
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = keyId;
String accessKeySecret = secret;
// 填写Bucket名称,例如examplebucket。
// String bucketName = "zhongzhi-cms";
// 填写Object完整路径,例如exampledir/exampleobject.txt。Object完整路径中不能包含Bucket名称。
String objectName = System.currentTimeMillis() + "_" + file.getOriginalFilename();
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
if (env.equals("dev")) {
env = "ykhl-bigger-test";
}
if (env.equals("prod")) {
env = "ykhl-bigger";
}
try {
// 创建InitiateMultipartUploadRequest对象。
InitiateMultipartUploadRequest request = new InitiateMultipartUploadRequest(env, objectName);
// 如果需要在初始化分片时设置请求头,请参考以下示例代码。
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentType(file.getContentType());
metadata.setContentDisposition("inline");
// 如果需要在初始化分片时设置请求头,请参考以下示例代码。
// 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);
metadata.setHeader("x-oss-force-download", false);
request.setObjectMetadata(metadata);
// 初始化分片。
InitiateMultipartUploadResult upresult = ossClient.initiateMultipartUpload(request);
// 返回uploadId,它是分片上传事件的唯一标识。您可以根据该uploadId发起相关的操作,例如取消分片上传、查询分片上传等。
String uploadId = upresult.getUploadId();
// 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++;
}
// 遍历分片上传。
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(env);
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(env, 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.getLocation());
} 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);
}
}
...@@ -3,6 +3,8 @@ package com.subsidy.controller; ...@@ -3,6 +3,8 @@ package com.subsidy.controller;
import com.subsidy.common.ResponseData; import com.subsidy.common.ResponseData;
import com.subsidy.common.ResponseVO; import com.subsidy.common.ResponseVO;
import com.subsidy.dto.company.CompanyFilesDTO;
import com.subsidy.dto.company.UploadFileDTO;
import com.subsidy.model.ServiceCompanyFilesDO; import com.subsidy.model.ServiceCompanyFilesDO;
import com.subsidy.service.ServiceCompanyFilesService; import com.subsidy.service.ServiceCompanyFilesService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -31,9 +33,9 @@ public class ServiceCompanyFilesController { ...@@ -31,9 +33,9 @@ public class ServiceCompanyFilesController {
private ServiceCompanyFilesService serviceCompanyFilesService; private ServiceCompanyFilesService serviceCompanyFilesService;
@PostMapping("companyFiles") @PostMapping("companyFiles")
@ApiOperation("查看业务合同/业务材料 serviceCompanyId fileType 0:业务合同 1:业务材料 ") @ApiOperation("查看业务合同/业务材料 serviceId companyId fileType 0:业务合同 1:业务材料 ")
public ResponseVO companyFiles(@RequestBody ServiceCompanyFilesDO serviceCompanyFilesDO){ public ResponseVO companyFiles(@RequestBody CompanyFilesDTO companyFilesDTO){
return ResponseData.generateCreatedResponse(0,serviceCompanyFilesService.companyFiles(serviceCompanyFilesDO)); return ResponseData.generateCreatedResponse(0,serviceCompanyFilesService.companyFiles(companyFilesDTO));
} }
@PostMapping("deleteFile") @PostMapping("deleteFile")
...@@ -43,9 +45,9 @@ public class ServiceCompanyFilesController { ...@@ -43,9 +45,9 @@ public class ServiceCompanyFilesController {
} }
@PostMapping("uploadFile") @PostMapping("uploadFile")
@ApiOperation("上传新文件 serviceCompanyId fileType 0:业务合同 1:业务材料 fileName fileAddress ") @ApiOperation("上传新文件 serviceId companyId fileType 0:业务合同 1:业务材料 fileName fileAddress ")
public ResponseVO uploadFile(@RequestBody ServiceCompanyFilesDO serviceCompanyFilesDO){ public ResponseVO uploadFile(@RequestBody UploadFileDTO uploadFileDTO){
return ResponseData.generateCreatedResponse(0,serviceCompanyFilesService.uploadFile(serviceCompanyFilesDO)); return ResponseData.generateCreatedResponse(0,serviceCompanyFilesService.uploadFile(uploadFileDTO));
} }
} }
package com.subsidy.dto.administer;
import lombok.Data;
import java.util.List;
@Data
public class AddAdministerDTO {
private Long id;
/**
* 账号
*/
private String accountName;
/**
* 手机号/企业账号
*/
private String telephone;
/**
* 密码
*/
private String password;
/**
* 成员名称
*/
private String userName;
/**
* 备注
*/
private String remark;
/**
* 角色
*/
private Integer role;
/**
* 企业
*/
private List<Long> companyIds;
/**
* 服务
*/
private List<Long> serviceIds;
}
...@@ -19,6 +19,10 @@ public class AdministerPermissionVO { ...@@ -19,6 +19,10 @@ public class AdministerPermissionVO {
private String companyName; private String companyName;
private String telephone;
private String accountName;
private String shortName; private String shortName;
private List<PermissionsVO> permissions; private List<PermissionsVO> permissions;
......
package com.subsidy.dto.company;
import lombok.Data;
@Data
public class CompanyFilesDTO {
private Integer pageSize;
private Integer pageNum;
private String fileName;
private Long serviceCompanyId;
private Long serviceId;
private Long companyId;
private Integer fileType;
}
package com.subsidy.dto.company;
import lombok.Data;
@Data
public class InviteMemberDTO {
private String userName;
private String idCard;
private Long companyId;
private Long departmentId;
}
package com.subsidy.dto.company;
import lombok.Data;
@Data
public class UploadFileDTO {
private Long id;
private Long companyId;
private Long serviceId;
private String fileType;
private String fileName;
private String fileAddress;
}
package com.subsidy.dto.member;
import com.subsidy.model.MemberDO;
import lombok.Data;
import java.util.List;
@Data
public class AddMemberDTO extends MemberDO {
private List<Long> departmentIds;
private List<Long> jobIds;
private Long companyId;
}
package com.subsidy.dto.member;
import lombok.Data;
import java.util.List;
@Data
public class ChangeDepartmentsDTO {
private List<Long> desDepId;
private List<Long> memberIds;
}
package com.subsidy.dto.member;
import lombok.Data;
@Data
public class GetAllDTO {
private String userName;
private String status;
private Long departmentId;
private String startDate;
private String endDate;
private Integer pageNum;
private Integer pageSize;
}
...@@ -25,4 +25,15 @@ public interface AdministerMapper extends BaseMapper<AdministerDO> { ...@@ -25,4 +25,15 @@ public interface AdministerMapper extends BaseMapper<AdministerDO> {
* 查看某客户账号管理哪些公司 * 查看某客户账号管理哪些公司
*/ */
List<GetAllCompanyVO> administerCompanys(Long administerId); List<GetAllCompanyVO> administerCompanys(Long administerId);
/**
* 查看某客户账号管理哪些公司 返回id
*/
List<Long> administerCompanyIds(Long administerId);
/**
* 查看某客户有哪些服务 返回id
*/
List<Long> administerServiceIds(Long administerId);
} }
package com.subsidy.mapper;
import com.subsidy.model.ClassMemberMappingDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 班级成员映射表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
@Repository
public interface ClassMemberMappingMapper extends BaseMapper<ClassMemberMappingDO> {
}
...@@ -15,20 +15,25 @@ import org.springframework.stereotype.Repository; ...@@ -15,20 +15,25 @@ import org.springframework.stereotype.Repository;
* @author Tuyp * @author Tuyp
* @since 2024-01-11 * @since 2024-01-11
*/ */
@Repository @Repository
public interface CompanyDictMapper extends BaseMapper<CompanyDictDO> { public interface CompanyDictMapper extends BaseMapper<CompanyDictDO> {
/**
* 企业管理--查找所有主账号 、运营者
*
* @return
*/
IPage<OperatorsVO> operators(IPage page, Long userId,String companyName, Long fieldId, String superviseName);
/**
* 查询全部企业
*/
IPage<OperatorsVO> allOperators(IPage page, String companyName, Long fieldId, String superviseName);
/**
* 查看某个公司的学生 /**
*/ * 企业管理--查找所有主账号 、运营者
IPage<GetCompanyMembersVO> getCompanyMembers(IPage page, Long companyId, String userName, String memberStatus); */
IPage<OperatorsVO> operators(IPage page, Long userId, String companyName, Long fieldId, String superviseName);
/**
* 查看某个公司的学生
*/
IPage<GetCompanyMembersVO> getCompanyMembers(IPage page, Long companyId, String userName, String memberStatus);
} }
...@@ -4,6 +4,8 @@ import com.subsidy.model.JobDictDO; ...@@ -4,6 +4,8 @@ import com.subsidy.model.JobDictDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
/** /**
* <p> * <p>
* 岗位表 Mapper 接口 * 岗位表 Mapper 接口
...@@ -12,7 +14,12 @@ import org.springframework.stereotype.Repository; ...@@ -12,7 +14,12 @@ import org.springframework.stereotype.Repository;
* @author Tuyp * @author Tuyp
* @since 2024-01-11 * @since 2024-01-11
*/ */
@Repository @Repository
public interface JobDictMapper extends BaseMapper<JobDictDO> { public interface JobDictMapper extends BaseMapper<JobDictDO> {
/**
* 获取某个人的岗位
*/
List<JobDictDO> queryMemberJobs(Long memberId);
} }
package com.subsidy.mapper;
import com.subsidy.model.JobMemberMappingDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
/**
* <p>
* 成员岗位信息表 Mapper 接口
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
@Repository
public interface JobMemberMappingMapper extends BaseMapper<JobMemberMappingDO> {
}
package com.subsidy.mapper; package com.subsidy.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.subsidy.model.DepartmentDictDO;
import com.subsidy.model.MemberDO; import com.subsidy.model.MemberDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.subsidy.vo.member.GetAllVO; import com.subsidy.vo.member.GetAllVO;
...@@ -35,4 +36,14 @@ public interface MemberMapper extends BaseMapper<MemberDO> { ...@@ -35,4 +36,14 @@ public interface MemberMapper extends BaseMapper<MemberDO> {
*/ */
List<MemberDO> getMemberWithoutPage(Long departmentId, String userName, String status, String startDate, String endDate); List<MemberDO> getMemberWithoutPage(Long departmentId, String userName, String status, String startDate, String endDate);
/**
* 查询某公司的学生
*/
IPage<GetAllVO> getCompanyMember(IPage iPage,Long companyId,String userName,String status,String startDate,String endDate);
/**
* 查询学生所在部门
*/
List<DepartmentDictDO> getDepartments(Long memberId);
} }
package com.subsidy.mapper; package com.subsidy.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.subsidy.model.ServiceCompanyFilesDO; import com.subsidy.model.ServiceCompanyFilesDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -14,11 +15,9 @@ import java.util.List; ...@@ -14,11 +15,9 @@ import java.util.List;
* @author Tuyp * @author Tuyp
* @since 2024-01-11 * @since 2024-01-11
*/ */
@Repository @Repository
public interface ServiceCompanyFilesMapper extends BaseMapper<ServiceCompanyFilesDO> { public interface ServiceCompanyFilesMapper extends BaseMapper<ServiceCompanyFilesDO> {
IPage<ServiceCompanyFilesDO> companyFiles(IPage page,Integer fileType,Long companyId,Long serviceId, String fileName);
List<ServiceCompanyFilesDO> companyFiles(Long serviceCompanyId, String fileName);
} }
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.subsidy.model.ServiceCompanyMappingDO; import com.subsidy.model.ServiceCompanyMappingDO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.subsidy.model.ServiceDictDO; import com.subsidy.model.ServiceDictDO;
import com.subsidy.vo.administer.AdministerServicesVO;
import com.subsidy.vo.service.GetServiceCompaniesVO; import com.subsidy.vo.service.GetServiceCompaniesVO;
import com.subsidy.vo.service.ServiceCompaniesVO; import com.subsidy.vo.service.ServiceCompaniesVO;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -29,11 +30,11 @@ public interface ServiceCompanyMappingMapper extends BaseMapper<ServiceCompanyMa ...@@ -29,11 +30,11 @@ public interface ServiceCompanyMappingMapper extends BaseMapper<ServiceCompanyMa
/** /**
* 返回公司全部的业务 * 返回公司全部的业务
*/ */
List<ServiceDictDO> companyService(Long companyId); List<AdministerServicesVO> companyService(Long companyId);
/** /**
* 返回公司授权给某个人的业务 * 返回公司授权给某个人的业务
*/ */
List<ServiceDictDO> companyAdministerService(Long companyId, Long administerId); List<AdministerServicesVO> companyAdministerService(Long companyId, Long administerId);
} }
package com.subsidy.model;
import com.subsidy.util.BaseModel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 班级成员映射表
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("class_member_mapping")
public class ClassMemberMappingDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 成员id
*/
private Long memberId;
/**
* 班级id
*/
private Long classId;
private String email;
private Integer emailStatus;
/**
* 实名验证人脸
*/
private String photo;
}
package com.subsidy.model;
import com.subsidy.util.BaseModel;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 成员岗位信息表
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("job_member_mapping")
public class JobMemberMappingDO extends BaseModel {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private Long jobId;
private Long memberId;
}
package com.subsidy.service; package com.subsidy.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.subsidy.dto.administer.AdministerPermissionVO; import com.subsidy.dto.administer.*;
import com.subsidy.dto.administer.DownloadFailMembersDTO;
import com.subsidy.dto.administer.ImportMemberResultVO;
import com.subsidy.dto.administer.LoginVO;
import com.subsidy.model.AdministerDO; import com.subsidy.model.AdministerDO;
import com.subsidy.vo.administer.AuthVO; import com.subsidy.vo.administer.AuthVO;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
...@@ -28,4 +25,10 @@ public interface AdministerService extends IService<AdministerDO> { ...@@ -28,4 +25,10 @@ public interface AdministerService extends IService<AdministerDO> {
ImportMemberResultVO importMember(Long companyId, MultipartFile multipartFile)throws Exception; ImportMemberResultVO importMember(Long companyId, MultipartFile multipartFile)throws Exception;
void downloadFailMembers(DownloadFailMembersDTO downloadFailMembersDTO); void downloadFailMembers(DownloadFailMembersDTO downloadFailMembersDTO);
String addAdminister(AddAdministerDTO addAdministerDTO);
String deleteAdminister(AdministerDO administerDO);
String updateAdminister(AddAdministerDTO addAdministerDTO);
} }
package com.subsidy.service;
import com.subsidy.model.ClassMemberMappingDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 班级成员映射表 服务类
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
public interface ClassMemberMappingService extends IService<ClassMemberMappingDO> {
}
...@@ -2,6 +2,7 @@ package com.subsidy.service; ...@@ -2,6 +2,7 @@ package com.subsidy.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.subsidy.dto.company.AttendMembersDTO; import com.subsidy.dto.company.AttendMembersDTO;
import com.subsidy.dto.company.InviteMemberDTO;
import com.subsidy.dto.member.CancerMemberDTO; import com.subsidy.dto.member.CancerMemberDTO;
import com.subsidy.dto.member.DepartMembersDTO; import com.subsidy.dto.member.DepartMembersDTO;
import com.subsidy.model.CompanyMemberMappingDO; import com.subsidy.model.CompanyMemberMappingDO;
...@@ -22,15 +23,7 @@ import java.util.List; ...@@ -22,15 +23,7 @@ import java.util.List;
*/ */
public interface CompanyMemberMappingService extends IService<CompanyMemberMappingDO> { public interface CompanyMemberMappingService extends IService<CompanyMemberMappingDO> {
String cancerMember(CancerMemberDTO cancerMemberDTO); String inviteMember(InviteMemberDTO inviteMemberDTO);
IPage<DepartMembersVO> departMembers(DepartMembersDTO departMembersDTO);
void exportDepartMembers(DepartMembersDTO departMembersDTO);
IPage<AttendMembersVO> attendMembers(AttendMembersDTO attendMembersDTO);
List<MemberAttendInfoVO> memberAttendInfo(CompanyMemberMappingDO companyMemberMappingDO);
String cancerMember(CancerMemberDTO cancerMemberDTO);
} }
package com.subsidy.service;
import com.subsidy.model.JobMemberMappingDO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 成员岗位信息表 服务类
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
public interface JobMemberMappingService extends IService<JobMemberMappingDO> {
}
package com.subsidy.service; package com.subsidy.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.subsidy.dto.company.AttendMembersDTO;
import com.subsidy.dto.member.*;
import com.subsidy.model.CompanyMemberMappingDO;
import com.subsidy.model.MemberDO; import com.subsidy.model.MemberDO;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.subsidy.vo.member.AttendMembersVO;
import com.subsidy.vo.member.DepartMembersVO;
import com.subsidy.vo.member.GetAllVO;
import com.subsidy.vo.member.MemberAttendInfoVO;
import java.util.List;
/** /**
* <p> * <p>
...@@ -13,4 +23,22 @@ import com.baomidou.mybatisplus.extension.service.IService; ...@@ -13,4 +23,22 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/ */
public interface MemberService extends IService<MemberDO> { public interface MemberService extends IService<MemberDO> {
IPage<DepartMembersVO> departMembers(DepartMembersDTO departMembersDTO);
void exportDepartMembers(DepartMembersDTO departMembersDTO);
IPage<AttendMembersVO> attendMembers(AttendMembersDTO attendMembersDTO);
List<MemberAttendInfoVO> memberAttendInfo(CompanyMemberMappingDO companyMemberMappingDO);
IPage<GetAllVO> getAll(GetAllDTO getAllDTO);
String deleteMember(MemberDO memberDO);
String addMember(AddMemberDTO addMemberDTO);
String updateMember(AddMemberDTO addMemberDTO);
String changeDepartments(ChangeDepartmentsDTO changeDepartmentsDTO);
} }
...@@ -4,6 +4,7 @@ import com.subsidy.model.AdministerCompanyMappingDO; ...@@ -4,6 +4,7 @@ import com.subsidy.model.AdministerCompanyMappingDO;
import com.subsidy.model.ServiceAdministerMappingDO; import com.subsidy.model.ServiceAdministerMappingDO;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.subsidy.model.ServiceDictDO; import com.subsidy.model.ServiceDictDO;
import com.subsidy.vo.administer.AdministerServicesVO;
import java.util.List; import java.util.List;
...@@ -17,6 +18,6 @@ import java.util.List; ...@@ -17,6 +18,6 @@ import java.util.List;
*/ */
public interface ServiceAdministerMappingService extends IService<ServiceAdministerMappingDO> { public interface ServiceAdministerMappingService extends IService<ServiceAdministerMappingDO> {
List<ServiceDictDO> administerServices(AdministerCompanyMappingDO administerCompanyMappingDO); List<AdministerServicesVO> administerServices(AdministerCompanyMappingDO administerCompanyMappingDO);
} }
package com.subsidy.service; package com.subsidy.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.subsidy.dto.company.CompanyFilesDTO;
import com.subsidy.dto.company.UploadFileDTO;
import com.subsidy.model.ServiceCompanyFilesDO; import com.subsidy.model.ServiceCompanyFilesDO;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
...@@ -15,11 +18,11 @@ import java.util.List; ...@@ -15,11 +18,11 @@ import java.util.List;
*/ */
public interface ServiceCompanyFilesService extends IService<ServiceCompanyFilesDO> { public interface ServiceCompanyFilesService extends IService<ServiceCompanyFilesDO> {
List<ServiceCompanyFilesDO> companyFiles(ServiceCompanyFilesDO serviceCompanyFilesDO); IPage<ServiceCompanyFilesDO> companyFiles(CompanyFilesDTO companyFilesDTO);
String deleteFile(ServiceCompanyFilesDO serviceCompanyFilesDO); String deleteFile(ServiceCompanyFilesDO serviceCompanyFilesDO);
String uploadFile(ServiceCompanyFilesDO serviceCompanyFilesDO); String uploadFile(UploadFileDTO uploadFileDTO);
} }
...@@ -11,6 +11,7 @@ import com.subsidy.mapper.*; ...@@ -11,6 +11,7 @@ import com.subsidy.mapper.*;
import com.subsidy.model.*; import com.subsidy.model.*;
import com.subsidy.service.AdministerService; import com.subsidy.service.AdministerService;
import com.subsidy.service.CompanyMemberMappingService; import com.subsidy.service.CompanyMemberMappingService;
import com.subsidy.service.ServiceAdministerMappingService;
import com.subsidy.util.*; import com.subsidy.util.*;
import com.subsidy.util.excel.ExcelUtil; import com.subsidy.util.excel.ExcelUtil;
import com.subsidy.vo.administer.AuthVO; import com.subsidy.vo.administer.AuthVO;
...@@ -30,6 +31,7 @@ import org.apache.http.util.EntityUtils; ...@@ -30,6 +31,7 @@ import org.apache.http.util.EntityUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
...@@ -65,6 +67,12 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis ...@@ -65,6 +67,12 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
@Autowired @Autowired
private MemberDepartmentMappingMapper memberDepartmentMappingMapper; private MemberDepartmentMappingMapper memberDepartmentMappingMapper;
@Autowired
private AdministerCompanyMappingMapper administerCompanyMappingMapper;
@Autowired
private ServiceAdministerMappingMapper serviceAdministerMappingMapper;
public LoginVO login(AdministerDO administerDO) { public LoginVO login(AdministerDO administerDO) {
LoginVO loginVO = new LoginVO(); LoginVO loginVO = new LoginVO();
...@@ -87,7 +95,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis ...@@ -87,7 +95,7 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
loginVO.setToken(token); loginVO.setToken(token);
return loginVO; return loginVO;
}else { }else {
throw new HttpException(10011); throw new HttpException(10029);
} }
} }
...@@ -120,6 +128,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis ...@@ -120,6 +128,8 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
}); });
} }
administerPermissionVO.setPermissions(treeList); administerPermissionVO.setPermissions(treeList);
administerPermissionVO.setTelephone(administerDO.getTelephone());
administerPermissionVO.setAccountName(administerDO.getAccountName());
// //查询角色 // //查询角色
// RoleAdministerMappingDO roleAdministerMappingDO = roleAdministerMappingMapper.selectOne(new QueryWrapper<RoleAdministerMappingDO>() // RoleAdministerMappingDO roleAdministerMappingDO = roleAdministerMappingMapper.selectOne(new QueryWrapper<RoleAdministerMappingDO>()
// .lambda() // .lambda()
...@@ -150,31 +160,21 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis ...@@ -150,31 +160,21 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
String appId = subsidyConfig.getAppId(); String appId = subsidyConfig.getAppId();
String appKey = subsidyConfig.getSecurityKey(); String appKey = subsidyConfig.getSecurityKey();
String mobile = administerDO.getTelephone(); String accountName = administerDO.getAccountName();
String signature = SecretUtils.gen(appKey, nonce, String.valueOf(timestamp), appId, mobile);
//鉴权逻辑 对不对
String preAuthen = "appId=qxywz5nnWMI7ABCS"
+"&id="+administerDO.getId()
+"&accountName="+administerDO.getAccountName()
+ "&appSecret=626737T1-65K0-5xC2-0Y0V-2Aq9QUAJ";
String signature = SecretUtils.getMD5String(preAuthen);
try { try {
client = HttpClients.createDefault();
HttpUriRequest build = RequestBuilder
.post(subsidyConfig.getUrl())
.addHeader("Content-Type", "application/json")
.setEntity(new StringEntity(""))
.addParameter("appId", appId)
.addParameter("mobile", mobile)
.addParameter("timestamp", String.valueOf(timestamp))
.addParameter("signature", signature)
.addParameter("nonce", nonce)
.build();
//请求
response = client.execute(build);
HttpEntity entity = response.getEntity();
if (entity != null) {
resValue = EntityUtils.toString(entity, "UTF-8");
ResultMode resMode = JSON.parseObject(resValue, ResultMode.class);
AuthVO qxyVO = new AuthVO(); AuthVO qxyVO = new AuthVO();
qxyVO.setToken(resMode.getData().toString()); qxyVO.setToken(signature);
return qxyVO; return qxyVO;
} // }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -371,6 +371,147 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis ...@@ -371,6 +371,147 @@ public class AdministerServiceImpl extends ServiceImpl<AdministerMapper, Adminis
} }
public String addAdminister(AddAdministerDTO addAdministerDTO) {
int count = this.baseMapper.selectCount(new QueryWrapper<AdministerDO>()
.lambda()
.eq(AdministerDO::getAccountName, addAdministerDTO.getAccountName()));
int count1 = this.baseMapper.selectCount(new QueryWrapper<AdministerDO>()
.lambda()
.eq(AdministerDO::getTelephone, addAdministerDTO.getTelephone()));
if (count + count1 > 0) {
throw new HttpException(20002);
}
AdministerDO administerDO = new AdministerDO();
BeanUtils.copyProperties(addAdministerDTO, administerDO);
this.baseMapper.insert(administerDO);
if (null != addAdministerDTO.getCompanyIds()) {
List<Long> companyIds = addAdministerDTO.getCompanyIds();
for (Long companyId : companyIds) {
AdministerCompanyMappingDO administerCompanyMappingDO = new AdministerCompanyMappingDO();
administerCompanyMappingDO.setAdministerId(administerDO.getId());
administerCompanyMappingDO.setCompanyId(companyId);
administerCompanyMappingMapper.insert(administerCompanyMappingDO);
}
}
if (null != addAdministerDTO.getServiceIds()) {
List<Long> serviceIds = addAdministerDTO.getServiceIds();
for (Long service : serviceIds) {
ServiceAdministerMappingDO serviceAdministerMappingDO = new ServiceAdministerMappingDO();
serviceAdministerMappingDO.setAdministerId(administerDO.getId());
serviceAdministerMappingDO.setServiceId(service);
serviceAdministerMappingMapper.insert(serviceAdministerMappingDO);
}
}
return ConstantUtils.ADD_SUCCESS;
}
@Transactional(rollbackFor = Exception.class)
public String deleteAdminister(AdministerDO administerDO) {
this.baseMapper.deleteById(administerDO.getId());
administerCompanyMappingMapper.delete(new QueryWrapper<AdministerCompanyMappingDO>()
.lambda()
.eq(AdministerCompanyMappingDO::getAdministerId, administerDO.getId()));
serviceAdministerMappingMapper.delete(new QueryWrapper<ServiceAdministerMappingDO>()
.lambda()
.eq(ServiceAdministerMappingDO::getAdministerId, administerDO.getId()));
return ConstantUtils.DELETE_SUCCESS;
}
public String updateAdminister(AddAdministerDTO addAdministerDTO) {
int count = this.baseMapper.selectCount(new QueryWrapper<AdministerDO>()
.lambda()
.eq(AdministerDO::getAccountName, addAdministerDTO.getAccountName())
.ne(AdministerDO::getId, addAdministerDTO.getId()));
int count1 = this.baseMapper.selectCount(new QueryWrapper<AdministerDO>()
.lambda()
.eq(AdministerDO::getTelephone, addAdministerDTO.getTelephone())
.ne(AdministerDO::getId, addAdministerDTO.getId()));
if (count + count1 > 0) {
throw new HttpException(20002);
}
AdministerDO administerDO = this.baseMapper.selectById(addAdministerDTO.getId());
BeanUtils.copyProperties(addAdministerDTO, administerDO);
this.baseMapper.updateById(administerDO);
if (null != addAdministerDTO.getCompanyIds()) {
//
List<Long> oldIds = this.baseMapper.administerCompanyIds(addAdministerDTO.getId());
List<Long> newIds = addAdministerDTO.getCompanyIds();
List<Long> newCompanyIds2 = new ArrayList<>();
for (Long lg : newIds) {
newCompanyIds2.add(lg);
}
newIds.removeAll(oldIds); //
if (newIds.size() > 0) {
for (Long lg : newIds) {
AdministerCompanyMappingDO administerCompanyMappingDO = new AdministerCompanyMappingDO();
administerCompanyMappingDO.setAdministerId(addAdministerDTO.getId());
administerCompanyMappingDO.setCompanyId(lg);
administerCompanyMappingMapper.insert(administerCompanyMappingDO);
}
}
oldIds.removeAll(newCompanyIds2);
if (oldIds.size() > 0) {
for (Long lg : oldIds) {
administerCompanyMappingMapper.delete(new QueryWrapper<AdministerCompanyMappingDO>()
.lambda()
.eq(AdministerCompanyMappingDO::getAdministerId, addAdministerDTO.getId())
.eq(AdministerCompanyMappingDO::getCompanyId, lg));
}
}
}
if (null != addAdministerDTO.getServiceIds()) {
//
List<Long> oldIds = this.baseMapper.administerServiceIds(addAdministerDTO.getId());
List<Long> newIds = addAdministerDTO.getServiceIds();
List<Long> newServices2 = new ArrayList<>();
for (Long lg : newIds) {
newServices2.add(lg);
}
newIds.removeAll(oldIds); //
if (newIds.size() > 0) {
for (Long lg : newIds) {
ServiceAdministerMappingDO serviceAdministerMappingDO = new ServiceAdministerMappingDO();
serviceAdministerMappingDO.setAdministerId(addAdministerDTO.getId());
serviceAdministerMappingDO.setServiceId(lg);
serviceAdministerMappingMapper.insert(serviceAdministerMappingDO);
}
}
oldIds.removeAll(newServices2);
if (oldIds.size() > 0) {
for (Long lg : oldIds) {
serviceAdministerMappingMapper.delete(new QueryWrapper<ServiceAdministerMappingDO>()
.lambda()
.eq(ServiceAdministerMappingDO::getAdministerId, addAdministerDTO.getId())
.eq(ServiceAdministerMappingDO::getServiceId, lg));
}
}
}
return ConstantUtils.SET_SUCCESS;
}
public String userName(String originName, int i, Long companyId) { public String userName(String originName, int i, Long companyId) {
i++; i++;
List<MemberDO> memberDOS = memberMapper.selectList(new QueryWrapper<MemberDO>() List<MemberDO> memberDOS = memberMapper.selectList(new QueryWrapper<MemberDO>()
......
package com.subsidy.service.impl;
import com.subsidy.model.ClassMemberMappingDO;
import com.subsidy.mapper.ClassMemberMappingMapper;
import com.subsidy.service.ClassMemberMappingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 班级成员映射表 服务实现类
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
@Service
public class ClassMemberMappingServiceImpl extends ServiceImpl<ClassMemberMappingMapper, ClassMemberMappingDO> implements ClassMemberMappingService {
}
...@@ -33,24 +33,29 @@ import java.util.List; ...@@ -33,24 +33,29 @@ import java.util.List;
public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, CompanyDictDO> implements CompanyDictService { public class CompanyDictServiceImpl extends ServiceImpl<CompanyDictMapper, CompanyDictDO> implements CompanyDictService {
@Autowired @Autowired
private AdministerMapper administerMapper;
@Autowired
private FieldDictMapper fieldDictMapper; private FieldDictMapper fieldDictMapper;
@Autowired @Autowired
private CompanyMemberMappingMapper companyMemberMappingMapper; private CompanyMemberMappingMapper companyMemberMappingMapper;
@Autowired
private AdministerMapper administerMapper;
public IPage<OperatorsVO> operators(OperatorsDTO operatorsDTO) { public IPage<OperatorsVO> operators(OperatorsDTO operatorsDTO) {
Page pager = new Page(operatorsDTO.getPageNum(), operatorsDTO.getPageSize()); Page pager = new Page(operatorsDTO.getPageNum(), operatorsDTO.getPageSize());
// AdministerDO administerDO = administerMapper.selectById(operatorsDTO.getId()); AdministerDO administerDO = administerMapper.selectById(operatorsDTO.getUserId());
IPage page = null;
if (0 == administerDO.getRole()) {
page = this.baseMapper.allOperators(pager, operatorsDTO.getCompanyName(), operatorsDTO.getFieldId(), operatorsDTO.getSuperviseName());
} else if (1 == administerDO.getRole() || 3 == administerDO.getRole()) {
page = this.baseMapper.operators(pager, operatorsDTO.getUserId(), operatorsDTO.getCompanyName(), operatorsDTO.getFieldId(), operatorsDTO.getSuperviseName());
}
IPage page = this.baseMapper.operators(pager, operatorsDTO.getUserId(), operatorsDTO.getCompanyName(), operatorsDTO.getFieldId(), operatorsDTO.getSuperviseName());
List<OperatorsVO> operatorsVOS = page.getRecords(); List<OperatorsVO> operatorsVOS = page.getRecords();
for (OperatorsVO operatorsVO : operatorsVOS) { for (OperatorsVO operatorsVO : operatorsVOS) {
//查看公司所在行业 //查看公司所在行业
List<FieldDictDO> fieldDictDOS = fieldDictMapper.queryCompanyFields(operatorsVO.getCompanyId()); List<FieldDictDO> fieldDictDOS = fieldDictMapper.queryCompanyFields(operatorsVO.getCompanyId());
operatorsVO.setField(fieldDictDOS); operatorsVO.setField(fieldDictDOS);
......
...@@ -3,12 +3,17 @@ package com.subsidy.service.impl; ...@@ -3,12 +3,17 @@ package com.subsidy.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.subsidy.common.exception.HttpException;
import com.subsidy.dto.company.AttendMembersDTO; import com.subsidy.dto.company.AttendMembersDTO;
import com.subsidy.dto.company.InviteMemberDTO;
import com.subsidy.dto.member.CancerMemberDTO; import com.subsidy.dto.member.CancerMemberDTO;
import com.subsidy.dto.member.DepartMembersDTO; import com.subsidy.dto.member.DepartMembersDTO;
import com.subsidy.mapper.MemberDepartmentMappingMapper; import com.subsidy.mapper.MemberDepartmentMappingMapper;
import com.subsidy.mapper.MemberMapper;
import com.subsidy.model.CompanyMemberMappingDO; import com.subsidy.model.CompanyMemberMappingDO;
import com.subsidy.mapper.CompanyMemberMappingMapper; import com.subsidy.mapper.CompanyMemberMappingMapper;
import com.subsidy.model.MemberDO;
import com.subsidy.model.MemberDepartmentMappingDO;
import com.subsidy.service.CompanyMemberMappingService; import com.subsidy.service.CompanyMemberMappingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.util.ConstantUtils; import com.subsidy.util.ConstantUtils;
...@@ -35,6 +40,45 @@ public class CompanyMemberMappingServiceImpl extends ServiceImpl<CompanyMemberMa ...@@ -35,6 +40,45 @@ public class CompanyMemberMappingServiceImpl extends ServiceImpl<CompanyMemberMa
@Autowired @Autowired
private MemberDepartmentMappingMapper memberDepartmentMappingMapper; private MemberDepartmentMappingMapper memberDepartmentMappingMapper;
@Autowired
private MemberMapper memberMapper;
public String inviteMember(InviteMemberDTO inviteMemberDTO) {
MemberDO memberDO = memberMapper.selectOne(new QueryWrapper<MemberDO>()
.lambda()
.eq(MemberDO::getUserName, inviteMemberDTO.getUserName())
.eq(MemberDO::getIdCard, inviteMemberDTO.getIdCard()));
if (null == memberDO) {
throw new HttpException(10011);
}
Integer count = this.baseMapper.selectCount(new QueryWrapper<CompanyMemberMappingDO>()
.lambda()
.eq(CompanyMemberMappingDO::getMemberId, memberDO.getId())
.eq(CompanyMemberMappingDO::getMemberStatus, 1));
if (count > 0) {
throw new HttpException(10028);
}
CompanyMemberMappingDO companyMemberMappingDO = new CompanyMemberMappingDO();
companyMemberMappingDO.setCompanyId(inviteMemberDTO.getCompanyId());
companyMemberMappingDO.setMemberId(memberDO.getId());
companyMemberMappingDO.setMemberStatus(1);
this.baseMapper.insert(companyMemberMappingDO);
MemberDepartmentMappingDO memberDepartmentMappingDO = new MemberDepartmentMappingDO();
memberDepartmentMappingDO.setDepartmentId(inviteMemberDTO.getDepartmentId());
memberDepartmentMappingDO.setMemberId(memberDO.getId());
memberDepartmentMappingDO.setMemberStatus(1);
memberDepartmentMappingMapper.insert(memberDepartmentMappingDO);
return ConstantUtils.ADD_SUCCESS;
}
public String cancerMember(CancerMemberDTO cancerMemberDTO) { public String cancerMember(CancerMemberDTO cancerMemberDTO) {
List<Long> members = cancerMemberDTO.getMemberIds(); List<Long> members = cancerMemberDTO.getMemberIds();
...@@ -53,26 +97,4 @@ public class CompanyMemberMappingServiceImpl extends ServiceImpl<CompanyMemberMa ...@@ -53,26 +97,4 @@ public class CompanyMemberMappingServiceImpl extends ServiceImpl<CompanyMemberMa
return ConstantUtils.DELETE_SUCCESS; return ConstantUtils.DELETE_SUCCESS;
} }
public IPage<DepartMembersVO> departMembers(DepartMembersDTO departMembersDTO) {
Page pager = new Page(departMembersDTO.getPageNum(), departMembersDTO.getPageSize());
return this.baseMapper.departMembers(pager, departMembersDTO.getCompanyId(), departMembersDTO.getUserName());
}
public void exportDepartMembers(DepartMembersDTO departMembersDTO) {
Page pager = new Page(1, -1);
IPage<DepartMembersVO> departMembersVOIPage = this.baseMapper.departMembers(pager, departMembersDTO.getCompanyId(), departMembersDTO.getUserName());
List<DepartMembersVO> departMembersVOS = departMembersVOIPage.getRecords();
ExcelUtil.writeExcel(departMembersVOS, DepartMembersVO.class);
}
public IPage<AttendMembersVO> attendMembers(AttendMembersDTO attendMembersDTO) {
Page pager = new Page(attendMembersDTO.getPageNum(), attendMembersDTO.getPageSize());
return this.baseMapper.attendMembers(pager, attendMembersDTO.getCompanyId(), attendMembersDTO.getDepartmentId(), attendMembersDTO.getUserName());
}
public List<MemberAttendInfoVO> memberAttendInfo(CompanyMemberMappingDO companyMemberMappingDO) {
return this.baseMapper.memberAttendInfo(companyMemberMappingDO.getMemberId(),companyMemberMappingDO.getCompanyId());
}
} }
...@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.subsidy.common.exception.HttpException; import com.subsidy.common.exception.HttpException;
import com.subsidy.dto.department.GetDepartmentMembersDTO; import com.subsidy.dto.department.GetDepartmentMembersDTO;
import com.subsidy.mapper.CompanyMemberMappingMapper;
import com.subsidy.mapper.MemberDepartmentMappingMapper; import com.subsidy.mapper.MemberDepartmentMappingMapper;
import com.subsidy.mapper.MemberMapper; import com.subsidy.mapper.MemberMapper;
import com.subsidy.model.CompanyMemberMappingDO;
import com.subsidy.model.DepartmentDictDO; import com.subsidy.model.DepartmentDictDO;
import com.subsidy.mapper.DepartmentDictMapper; import com.subsidy.mapper.DepartmentDictMapper;
import com.subsidy.model.MemberDO; import com.subsidy.model.MemberDO;
...@@ -41,6 +43,9 @@ public class DepartmentDictServiceImpl extends ServiceImpl<DepartmentDictMapper, ...@@ -41,6 +43,9 @@ public class DepartmentDictServiceImpl extends ServiceImpl<DepartmentDictMapper,
@Autowired @Autowired
private MemberMapper memberMapper; private MemberMapper memberMapper;
@Autowired
private CompanyMemberMappingMapper companyMemberMappingMapper;
public List<GetDepartmentsVO> getDepartments(DepartmentDictDO departmentDictDO) { public List<GetDepartmentsVO> getDepartments(DepartmentDictDO departmentDictDO) {
//返回结果 //返回结果
...@@ -55,10 +60,11 @@ public class DepartmentDictServiceImpl extends ServiceImpl<DepartmentDictMapper, ...@@ -55,10 +60,11 @@ public class DepartmentDictServiceImpl extends ServiceImpl<DepartmentDictMapper,
GetDepartmentsVO getDepartmentsVO = new GetDepartmentsVO(); GetDepartmentsVO getDepartmentsVO = new GetDepartmentsVO();
BeanUtils.copyProperties(dd, getDepartmentsVO); BeanUtils.copyProperties(dd, getDepartmentsVO);
//Integer count = memberDepartmentMappingMapper.selectCount(new QueryWrapper<MemberDepartmentMappingDO>() Integer count = companyMemberMappingMapper.selectCount(new QueryWrapper<CompanyMemberMappingDO>()
// .lambda() .lambda()
// .eq(MemberDepartmentMappingDO::getDepartmentId, dd.getId())); .eq(CompanyMemberMappingDO::getCompanyId, departmentDictDO.getCompanyId())
//getDepartmentsVO.setCnt(count); .eq(CompanyMemberMappingDO::getMemberStatus, 1));
getDepartmentsVO.setCnt(count);
getDepartmentsVO.setChildren(getChildNodes(getDepartmentsVO)); getDepartmentsVO.setChildren(getChildNodes(getDepartmentsVO));
DepartmentDictDO departmentDictDO1 = this.baseMapper.selectById(dd.getParentId()); DepartmentDictDO departmentDictDO1 = this.baseMapper.selectById(dd.getParentId());
if (null != departmentDictDO1) { if (null != departmentDictDO1) {
...@@ -93,7 +99,7 @@ public class DepartmentDictServiceImpl extends ServiceImpl<DepartmentDictMapper, ...@@ -93,7 +99,7 @@ public class DepartmentDictServiceImpl extends ServiceImpl<DepartmentDictMapper,
Integer count = memberDepartmentMappingMapper.selectCount(new QueryWrapper<MemberDepartmentMappingDO>() Integer count = memberDepartmentMappingMapper.selectCount(new QueryWrapper<MemberDepartmentMappingDO>()
.lambda() .lambda()
.eq(MemberDepartmentMappingDO::getDepartmentId, getDepartmentsVO.getId()) .eq(MemberDepartmentMappingDO::getDepartmentId, getDepartmentsVO.getId())
.eq(MemberDepartmentMappingDO::getMemberStatus,1)); .eq(MemberDepartmentMappingDO::getMemberStatus, 1));
getDepartmentsVO.setCnt(count); getDepartmentsVO.setCnt(count);
DepartmentDictDO departmentDictDO2 = this.baseMapper.selectById(departmentDictDO1.getParentId()); DepartmentDictDO departmentDictDO2 = this.baseMapper.selectById(departmentDictDO1.getParentId());
if (null != departmentDictDO2) { if (null != departmentDictDO2) {
......
package com.subsidy.service.impl;
import com.subsidy.model.JobMemberMappingDO;
import com.subsidy.mapper.JobMemberMappingMapper;
import com.subsidy.service.JobMemberMappingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 成员岗位信息表 服务实现类
* </p>
*
* @author Tuyp
* @since 2024-01-22
*/
@Service
public class JobMemberMappingServiceImpl extends ServiceImpl<JobMemberMappingMapper, JobMemberMappingDO> implements JobMemberMappingService {
}
package com.subsidy.service.impl; package com.subsidy.service.impl;
import com.subsidy.model.MemberDO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.subsidy.mapper.MemberMapper; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.subsidy.common.exception.HttpException;
import com.subsidy.dto.company.AttendMembersDTO;
import com.subsidy.dto.member.*;
import com.subsidy.mapper.*;
import com.subsidy.model.*;
import com.subsidy.service.MemberService; import com.subsidy.service.MemberService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.util.ConstantUtils;
import com.subsidy.util.excel.ExcelUtil;
import com.subsidy.vo.member.AttendMembersVO;
import com.subsidy.vo.member.DepartMembersVO;
import com.subsidy.vo.member.GetAllVO;
import com.subsidy.vo.member.MemberAttendInfoVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* <p> * <p>
...@@ -17,4 +34,249 @@ import org.springframework.stereotype.Service; ...@@ -17,4 +34,249 @@ import org.springframework.stereotype.Service;
@Service @Service
public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberDO> implements MemberService { public class MemberServiceImpl extends ServiceImpl<MemberMapper, MemberDO> implements MemberService {
@Autowired
private MemberDepartmentMappingMapper memberDepartmentMappingMapper;
@Autowired
private CompanyMemberMappingMapper companyMemberMappingMapper;
@Autowired
private DepartmentDictMapper departmentDictMapper;
@Autowired
private JobDictMapper jobDictMapper;
@Autowired
private ClassMemberMappingMapper classMemberMappingMapper;
@Autowired
private JobMemberMappingMapper jobMemberMappingMapper;
public IPage<DepartMembersVO> departMembers(DepartMembersDTO departMembersDTO) {
Page pager = new Page(departMembersDTO.getPageNum(), departMembersDTO.getPageSize());
return companyMemberMappingMapper.departMembers(pager, departMembersDTO.getCompanyId(), departMembersDTO.getUserName());
}
public void exportDepartMembers(DepartMembersDTO departMembersDTO) {
Page pager = new Page(1, -1);
IPage<DepartMembersVO> departMembersVOIPage = companyMemberMappingMapper.departMembers(pager, departMembersDTO.getCompanyId(), departMembersDTO.getUserName());
List<DepartMembersVO> departMembersVOS = departMembersVOIPage.getRecords();
ExcelUtil.writeExcel(departMembersVOS, DepartMembersVO.class);
}
public IPage<AttendMembersVO> attendMembers(AttendMembersDTO attendMembersDTO) {
Page pager = new Page(attendMembersDTO.getPageNum(), attendMembersDTO.getPageSize());
IPage<AttendMembersVO> attendMembersVOIPage = companyMemberMappingMapper.attendMembers(pager, attendMembersDTO.getCompanyId(), attendMembersDTO.getDepartmentId(), attendMembersDTO.getUserName());
List<AttendMembersVO> getAllVOS = attendMembersVOIPage.getRecords();
for (AttendMembersVO getAllVO : getAllVOS) {
//获取这个人所在的部门
List<DepartmentDictDO> departmentDictDOS = this.baseMapper.getDepartments(getAllVO.getId());
getAllVO.setDepartmentDictDOS(departmentDictDOS);
//获取这个人所在的岗位
List<JobDictDO> jobDictDOS = jobDictMapper.queryMemberJobs(getAllVO.getId());
getAllVO.setJobDictDOS(jobDictDOS);
}
return attendMembersVOIPage;
}
public List<MemberAttendInfoVO> memberAttendInfo(CompanyMemberMappingDO companyMemberMappingDO) {
return companyMemberMappingMapper.memberAttendInfo(companyMemberMappingDO.getMemberId(),companyMemberMappingDO.getCompanyId());
}
public IPage<GetAllVO> getAll(GetAllDTO getAllDTO) {
Page pager = new Page(getAllDTO.getPageNum(), getAllDTO.getPageSize());
DepartmentDictDO departmentDictDO = departmentDictMapper.selectById(getAllDTO.getDepartmentId());
IPage iPage = null;
if (null != departmentDictDO.getParentId()) {
iPage = this.baseMapper.getMembers(pager, getAllDTO.getDepartmentId(), getAllDTO.getUserName(), getAllDTO.getStatus(), getAllDTO.getStartDate(), getAllDTO.getEndDate());
} else {
iPage = this.baseMapper.getCompanyMember(pager, departmentDictDO.getCompanyId(), getAllDTO.getUserName(), getAllDTO.getStatus(), getAllDTO.getStartDate(), getAllDTO.getEndDate());
}
List<GetAllVO> getAllVOS = iPage.getRecords();
for (GetAllVO getAllVO : getAllVOS) {
//获取这个人所在的部门
List<DepartmentDictDO> departmentDictDOS = this.baseMapper.getDepartments(getAllVO.getId());
getAllVO.setDepartmentDictDOS(departmentDictDOS);
//获取这个人所在的岗位
List<JobDictDO> jobDictDOS = jobDictMapper.queryMemberJobs(getAllVO.getId());
getAllVO.setJobDictDOS(jobDictDOS);
}
return iPage;
}
@Transactional(rollbackFor = Exception.class)
public String deleteMember(MemberDO memberDO) {
this.baseMapper.deleteById(memberDO.getId());
classMemberMappingMapper.delete(new QueryWrapper<ClassMemberMappingDO>()
.lambda()
.eq(ClassMemberMappingDO::getMemberId, memberDO.getId()));
memberDepartmentMappingMapper.delete(new QueryWrapper<MemberDepartmentMappingDO>()
.lambda()
.eq(MemberDepartmentMappingDO::getMemberId, memberDO.getId()));
return ConstantUtils.DELETE_SUCCESS;
}
public String addMember(AddMemberDTO addMemberDTO) {
Integer count = this.baseMapper.selectCount(new QueryWrapper<MemberDO>()
.lambda()
.eq(MemberDO::getTelephone, addMemberDTO.getTelephone()));
if (count > 0) {
throw new HttpException(20002);
}
Integer count2 = this.baseMapper.selectCount(new QueryWrapper<MemberDO>()
.lambda()
.eq(MemberDO::getIdCard, addMemberDTO.getIdCard()));
if (count2 > 0) {
throw new HttpException(20002);
}
List<MemberDO> memberDOS = companyMemberMappingMapper.companyAccountMembers(addMemberDTO.getCompanyId(), addMemberDTO.getAccountName());
if (memberDOS.size() > 0) {
throw new HttpException(20002);
}
MemberDO memberDO = new MemberDO();
BeanUtils.copyProperties(addMemberDTO, memberDO);
memberDO.setPassword("Ykhl123456");
memberDO.setStatus("启用");
memberDO.setFirstLogin(0);
this.baseMapper.insert(memberDO);
//公司赋值
CompanyMemberMappingDO companyMemberMappingDO = new CompanyMemberMappingDO();
companyMemberMappingDO.setCompanyId(addMemberDTO.getCompanyId());
companyMemberMappingDO.setMemberId(memberDO.getId());
companyMemberMappingDO.setMemberStatus(1);
companyMemberMappingMapper.insert(companyMemberMappingDO);
if (null != addMemberDTO.getDepartmentIds()) {
//部门
List<Long> longs = addMemberDTO.getDepartmentIds();
for (Long lg : longs) {
MemberDepartmentMappingDO memberDepartmentMappingDO = new MemberDepartmentMappingDO();
memberDepartmentMappingDO.setMemberId(memberDO.getId());
memberDepartmentMappingDO.setDepartmentId(lg);
memberDepartmentMappingDO.setMemberStatus(1);
memberDepartmentMappingMapper.insert(memberDepartmentMappingDO);
}
}
if (null != addMemberDTO.getJobIds()) {
jobMemberMappingMapper.delete(new QueryWrapper<JobMemberMappingDO>()
.lambda()
.eq(JobMemberMappingDO::getMemberId, addMemberDTO.getId()));
//岗位
List<Long> longs = addMemberDTO.getJobIds();
for (Long lg : longs) {
JobMemberMappingDO jobMemberMappingDO = new JobMemberMappingDO();
jobMemberMappingDO.setMemberId(memberDO.getId());
jobMemberMappingDO.setJobId(lg);
jobMemberMappingMapper.insert(jobMemberMappingDO);
}
}
return ConstantUtils.ADD_SUCCESS;
}
public String updateMember(AddMemberDTO addMemberDTO) {
Integer count = this.baseMapper.selectCount(new QueryWrapper<MemberDO>()
.lambda()
.eq(MemberDO::getTelephone, addMemberDTO.getTelephone())
.ne(MemberDO::getId, addMemberDTO.getId()));
if (count > 0) {
throw new HttpException(20002);
}
Integer count1 = this.baseMapper.selectCount(new QueryWrapper<MemberDO>()
.lambda()
.eq(MemberDO::getAccountName, addMemberDTO.getAccountName())
.ne(MemberDO::getId, addMemberDTO.getId()));
if (count1 > 0) {
throw new HttpException(20002);
}
MemberDO memberDO = new MemberDO();
BeanUtils.copyProperties(addMemberDTO, memberDO);
this.baseMapper.updateById(memberDO);
if (null != addMemberDTO.getDepartmentIds()) {
memberDepartmentMappingMapper.delete(new QueryWrapper<MemberDepartmentMappingDO>()
.lambda()
.eq(MemberDepartmentMappingDO::getMemberId, addMemberDTO.getId()));
//部门
List<Long> longs = addMemberDTO.getDepartmentIds();
for (Long lg : longs) {
MemberDepartmentMappingDO memberDepartmentMappingDO = new MemberDepartmentMappingDO();
memberDepartmentMappingDO.setMemberId(memberDO.getId());
memberDepartmentMappingDO.setDepartmentId(lg);
memberDepartmentMappingMapper.insert(memberDepartmentMappingDO);
}
}
if (null != addMemberDTO.getJobIds()) {
jobMemberMappingMapper.delete(new QueryWrapper<JobMemberMappingDO>()
.lambda()
.eq(JobMemberMappingDO::getMemberId, addMemberDTO.getId()));
//岗位
List<Long> longs = addMemberDTO.getJobIds();
for (Long lg : longs) {
JobMemberMappingDO jobMemberMappingDO = new JobMemberMappingDO();
jobMemberMappingDO.setMemberId(memberDO.getId());
jobMemberMappingDO.setJobId(lg);
jobMemberMappingMapper.insert(jobMemberMappingDO);
}
}
return ConstantUtils.SET_SUCCESS;
}
public String changeDepartments(ChangeDepartmentsDTO changeDepartmentsDTO) {
List<Long> memberIds = changeDepartmentsDTO.getMemberIds();
//清掉以前的部门
for (Long lg : memberIds) {
memberDepartmentMappingMapper.cancelMember(lg);
}
//加入新的部门
List<Long> depIds = changeDepartmentsDTO.getDesDepId();
for (Long lg : memberIds) {
for (Long depId : depIds) {
MemberDepartmentMappingDO memberDepartmentMappingDO = new MemberDepartmentMappingDO();
memberDepartmentMappingDO.setMemberId(lg);
memberDepartmentMappingDO.setDepartmentId(depId);
memberDepartmentMappingDO.setMemberStatus(1);
memberDepartmentMappingMapper.insert(memberDepartmentMappingDO);
}
}
return ConstantUtils.SET_SUCCESS;
}
} }
...@@ -6,6 +6,7 @@ import com.subsidy.model.*; ...@@ -6,6 +6,7 @@ import com.subsidy.model.*;
import com.subsidy.mapper.ServiceAdministerMappingMapper; import com.subsidy.mapper.ServiceAdministerMappingMapper;
import com.subsidy.service.ServiceAdministerMappingService; import com.subsidy.service.ServiceAdministerMappingService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.vo.administer.AdministerServicesVO;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -29,7 +30,7 @@ public class ServiceAdministerMappingServiceImpl extends ServiceImpl<ServiceAdmi ...@@ -29,7 +30,7 @@ public class ServiceAdministerMappingServiceImpl extends ServiceImpl<ServiceAdmi
@Autowired @Autowired
private ServiceCompanyMappingMapper serviceCompanyMappingMapper; private ServiceCompanyMappingMapper serviceCompanyMappingMapper;
public List<ServiceDictDO> administerServices(AdministerCompanyMappingDO administerCompanyMappingDO) { public List<AdministerServicesVO> administerServices(AdministerCompanyMappingDO administerCompanyMappingDO) {
AdministerDO administerDO = administerMapper.selectById(administerCompanyMappingDO.getAdministerId()); AdministerDO administerDO = administerMapper.selectById(administerCompanyMappingDO.getAdministerId());
if (3 == administerDO.getRole() || 1 == administerDO.getRole()) { if (3 == administerDO.getRole() || 1 == administerDO.getRole()) {
......
package com.subsidy.service.impl; package com.subsidy.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.subsidy.dto.company.CompanyFilesDTO;
import com.subsidy.dto.company.UploadFileDTO;
import com.subsidy.mapper.ServiceCompanyMappingMapper;
import com.subsidy.model.ServiceCompanyFilesDO; import com.subsidy.model.ServiceCompanyFilesDO;
import com.subsidy.mapper.ServiceCompanyFilesMapper; import com.subsidy.mapper.ServiceCompanyFilesMapper;
import com.subsidy.model.ServiceCompanyMappingDO;
import com.subsidy.service.ServiceCompanyFilesService; import com.subsidy.service.ServiceCompanyFilesService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.subsidy.util.ConstantUtils; import com.subsidy.util.ConstantUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
...@@ -20,9 +29,12 @@ import java.util.List; ...@@ -20,9 +29,12 @@ import java.util.List;
@Service @Service
public class ServiceCompanyFilesServiceImpl extends ServiceImpl<ServiceCompanyFilesMapper, ServiceCompanyFilesDO> implements ServiceCompanyFilesService { public class ServiceCompanyFilesServiceImpl extends ServiceImpl<ServiceCompanyFilesMapper, ServiceCompanyFilesDO> implements ServiceCompanyFilesService {
@Autowired
private ServiceCompanyMappingMapper serviceCompanyMappingMapper;
public List<ServiceCompanyFilesDO> companyFiles(ServiceCompanyFilesDO serviceCompanyFilesDO) { public IPage<ServiceCompanyFilesDO> companyFiles(CompanyFilesDTO companyFilesDTO) {
return this.baseMapper.companyFiles(serviceCompanyFilesDO.getServiceCompanyId(), serviceCompanyFilesDO.getFileName()); Page pager = new Page(companyFilesDTO.getPageNum(), companyFilesDTO.getPageSize());
return this.baseMapper.companyFiles(pager,companyFilesDTO.getFileType(),companyFilesDTO.getCompanyId(),companyFilesDTO.getServiceId(), companyFilesDTO.getFileName());
} }
public String deleteFile(ServiceCompanyFilesDO serviceCompanyFilesDO) { public String deleteFile(ServiceCompanyFilesDO serviceCompanyFilesDO) {
...@@ -30,7 +42,18 @@ public class ServiceCompanyFilesServiceImpl extends ServiceImpl<ServiceCompanyFi ...@@ -30,7 +42,18 @@ public class ServiceCompanyFilesServiceImpl extends ServiceImpl<ServiceCompanyFi
return ConstantUtils.DELETE_SUCCESS; return ConstantUtils.DELETE_SUCCESS;
} }
public String uploadFile(ServiceCompanyFilesDO serviceCompanyFilesDO) { public String uploadFile(UploadFileDTO uploadFileDTO) {
ServiceCompanyFilesDO serviceCompanyFilesDO = new ServiceCompanyFilesDO();
ServiceCompanyMappingDO serviceCompanyMappingDO = serviceCompanyMappingMapper.selectOne(new QueryWrapper<ServiceCompanyMappingDO>()
.lambda()
.eq(ServiceCompanyMappingDO::getCompanyId,uploadFileDTO.getCompanyId())
.eq(ServiceCompanyMappingDO::getServiceId,uploadFileDTO.getServiceId()));
BeanUtils.copyProperties(uploadFileDTO,serviceCompanyFilesDO);
serviceCompanyFilesDO.setServiceCompanyId(serviceCompanyMappingDO.getId());
this.baseMapper.insert(serviceCompanyFilesDO); this.baseMapper.insert(serviceCompanyFilesDO);
return ConstantUtils.ADD_SUCCESS; return ConstantUtils.ADD_SUCCESS;
} }
......
package com.subsidy.vo.administer;
import lombok.Data;
@Data
public class AdministerServicesVO {
private Long id;
private String serviceName;
private Long serviceCompanyId;
}
package com.subsidy.vo.member; package com.subsidy.vo.member;
import com.subsidy.model.DepartmentDictDO;
import com.subsidy.model.JobDictDO;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class AttendMembersVO { public class AttendMembersVO {
...@@ -21,5 +25,13 @@ public class AttendMembersVO { ...@@ -21,5 +25,13 @@ public class AttendMembersVO {
private String email; private String email;
private String status;
private String workNo;
private String inductionDate;
private List<DepartmentDictDO> departmentDictDOS;
private List<JobDictDO> jobDictDOS;
} }
package com.subsidy.vo.oss;
import lombok.Data;
@Data
public class GetSecretVO {
private String key;
private String secret;
}
package com.subsidy.vo.oss;
import lombok.Data;
@Data
public class UploadFileVO {
private String url;
}
# 生产环境配置 # 生产环境配置
spring.server.port=23459 spring.server.port=23477
# 数据源配置 # 数据源配置
spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/subsidy?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/subsidy?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
......
# 环境配置 # 环境配置
spring.profiles.active=dev spring.profiles.active=prod
#和CPU数 #和CPU数
spring.server.acceptorThreadCount=600 spring.server.acceptorThreadCount=600
spring.server.minSpareThreads=100 spring.server.minSpareThreads=100
......
...@@ -22,6 +22,7 @@ meishu.code-message[10025]=身份证识别错误 ...@@ -22,6 +22,7 @@ meishu.code-message[10025]=身份证识别错误
meishu.code-message[10026]=姓名或身份证号格式不正确 meishu.code-message[10026]=姓名或身份证号格式不正确
meishu.code-message[10027]=该手机号已注册 meishu.code-message[10027]=该手机号已注册
meishu.code-message[10028]=该成员已在其他公司入职 meishu.code-message[10028]=该成员已在其他公司入职
meishu.code-message[10029]=密码输入错误
meishu.code-message[20001]=该课程已存在 meishu.code-message[20001]=该课程已存在
......
...@@ -35,4 +35,30 @@ ...@@ -35,4 +35,30 @@
AND t.administer_id = #{administerId} AND t.administer_id = #{administerId}
</select> </select>
<select id="administerCompanyIds" parameterType="long" resultType="long">
SELECT
t2.id
FROM
administer_company_mapping t
LEFT JOIN company_dict t2 ON t.company_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.administer_id = #{administerId}
</select>
<select id="administerServiceIds" parameterType="long" resultType="long">
SELECT
t2.id
FROM
service_administer_mapping t
LEFT JOIN service_dict t2 ON t.service_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.administer_id = #{administerId}
</select>
</mapper> </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.subsidy.mapper.ClassMemberMappingMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.subsidy.model.ClassMemberMappingDO">
<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="member_id" property="memberId" />
<result column="class_id" property="classId" />
<result column="email" property="email" />
<result column="email_status" property="emailStatus" />
<result column="photo" property="photo" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, member_id, class_id, email, email_status, photo
</sql>
</mapper>
...@@ -2,6 +2,38 @@ ...@@ -2,6 +2,38 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.subsidy.mapper.CompanyDictMapper"> <mapper namespace="com.subsidy.mapper.CompanyDictMapper">
<select id="allOperators" resultType="com.subsidy.vo.company.OperatorsVO">
SELECT
distinct
t2.id as companyId,
t2.banner,
t2.short_name,
t2.company_name,
t2.logo,
t2.address,
t2.supervise_name,
t2.company_code,
t2.area_name
FROM
company_dict t2
left join company_field_mapping t3 on t2.id = t3.company_id
WHERE
t2.delete_date is null
and t3.delete_date is null
<if test="companyName != null and companyName != ''">
and t2.company_name like concat('%',#{companyName} ,'%')
</if>
<if test="fieldId != null and fieldId != ''">
and t3.field_id = #{fieldId}
</if>
<if test="superviseName != null and superviseName != ''">
and t2.supervise_name =#{superviseName}
</if>
</select>
<select id="operators" resultType="com.subsidy.vo.company.OperatorsVO"> <select id="operators" resultType="com.subsidy.vo.company.OperatorsVO">
SELECT SELECT
distinct distinct
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<select id="departMembers" parameterType="long" resultType="com.subsidy.vo.member.DepartMembersVO"> <select id="departMembers" parameterType="long" resultType="com.subsidy.vo.member.DepartMembersVO">
SELECT SELECT
distinct
t2.user_name, t2.user_name,
t2.telephone, t2.telephone,
t2.id_card, t2.id_card,
...@@ -27,7 +28,7 @@ ...@@ -27,7 +28,7 @@
t2.email, t2.email,
t2.qq_no, t2.qq_no,
t2.wechat, t2.wechat,
t.create_date t.update_date as create_date
FROM FROM
company_member_mapping t company_member_mapping t
LEFT JOIN member t2 ON t.member_id = t2.id LEFT JOIN member t2 ON t.member_id = t2.id
...@@ -41,7 +42,7 @@ ...@@ -41,7 +42,7 @@
or t2.telephone like concat('%',#{userName} ,'%')) or t2.telephone like concat('%',#{userName} ,'%'))
</if> </if>
and t.member_status = 0 and t.member_status = 0
order by t.id desc order by t.update_date desc
</select> </select>
<select id="attendMembers" resultType="com.subsidy.vo.member.AttendMembersVO"> <select id="attendMembers" resultType="com.subsidy.vo.member.AttendMembersVO">
...@@ -53,7 +54,10 @@ ...@@ -53,7 +54,10 @@
t1.gender, t1.gender,
t1.telephone, t1.telephone,
t1.id_card, t1.id_card,
t1.email t1.email,
t1.status,
t1.induction_date,
t1.work_no
FROM FROM
member t1 member t1
LEFT JOIN company_member_mapping t3 ON t1.id = t3.member_id LEFT JOIN company_member_mapping t3 ON t1.id = t3.member_id
......
...@@ -2,23 +2,14 @@ ...@@ -2,23 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.subsidy.mapper.JobDictMapper"> <mapper namespace="com.subsidy.mapper.JobDictMapper">
<!-- 通用查询映射结果 --> <select id="queryMemberJobs" parameterType="long" resultType="com.subsidy.model.JobDictDO">
<resultMap id="BaseResultMap" type="com.subsidy.model.JobDictDO"> SELECT
<id column="id" property="id" /> t2.*
<result column="create_date" property="createDate" /> FROM
<result column="update_date" property="updateDate" /> job_member_mapping t
<result column="delete_date" property="deleteDate" /> LEFT JOIN job_dict t2 ON t.job_id = t2.id
<result column="company_id" property="companyId" /> where t.delete_date is null
<result column="job_name" property="jobName" /> and t2.delete_date is null
<result column="order_no" property="orderNo" /> and t.member_id = #{memberId}
</resultMap> </select>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, company_id, job_name, order_no
</sql>
</mapper> </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.subsidy.mapper.JobMemberMappingMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.subsidy.model.JobMemberMappingDO">
<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="job_id" property="jobId" />
<result column="member_id" property="memberId" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, job_id, member_id
</sql>
</mapper>
...@@ -102,4 +102,54 @@ ...@@ -102,4 +102,54 @@
and DATE_FORMAT(t2.induction_date ,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d') and DATE_FORMAT(t2.induction_date ,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
</if> </if>
</select> </select>
<select id="getCompanyMember" resultType="com.subsidy.vo.member.GetAllVO">
SELECT
t2.id,
t2.user_name,
t2.account_name,
t2.account_name_en,
t2.telephone,
t2.gender,
t2.id_card,
t2.status,
t2.email,
t2.work_no,
t2.induction_date
FROM
member t2
left join company_member_mapping t5 on t5.member_id = t2.id and t5.member_status = 1
WHERE
t2.delete_date IS NULL
and t5.company_id = #{companyId}
<if test="userName != null and userName !=''">
and t2.user_name like concat('%',#{userName} ,'%')
</if>
<if test="status != null and status !=''">
and t2.status = #{status}
</if>
<if test="startDate != null and startEndDate !=''">
and DATE_FORMAT(t2.induction_date ,'%Y-%m-%d')>=DATE_FORMAT(#{startDate}, '%Y-%m-%d')
</if>
<if test="endDate != null and endDate !=''">
and DATE_FORMAT(t2.induction_date ,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
</if>
</select>
<select id="getDepartments" parameterType="long" resultType="com.subsidy.model.DepartmentDictDO">
SELECT
t2.id,
t2.department_name,
t2.parent_id
FROM
member_department_mapping t
LEFT JOIN department_dict t2 ON t.department_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
and t.member_status = 1
AND t.member_id = #{memberId}
</select>
</mapper> </mapper>
...@@ -7,13 +7,20 @@ ...@@ -7,13 +7,20 @@
* *
FROM FROM
service_company_files t service_company_files t
left join service_company_mapping t2 on t2.id = t.service_company_id
WHERE WHERE
t.delete_date IS NULL t.delete_date IS NULL
AND t.service_company_id = #{serviceCompanyId} and t2.delete_date is null
<if test="companyId != null and companyId != ''">
AND t2.company_id = #{companyId}
</if>
<if test="serviceId != null and serviceId != ''">
and t2.service_id = #{serviceId}
</if>
<if test="fileName != null and fileName != ''"> <if test="fileName != null and fileName != ''">
AND t.file_name like concat('%',#{fileName} ,'%') AND t.file_name like concat('%',#{fileName} ,'%')
</if> </if>
and t.file_type = #{fileType}
</select> </select>
</mapper> </mapper>
...@@ -44,9 +44,10 @@ ...@@ -44,9 +44,10 @@
</if> </if>
</select> </select>
<select id="companyService" parameterType="long" resultType="com.subsidy.model.ServiceDictDO"> <select id="companyService" parameterType="long" resultType="com.subsidy.vo.administer.AdministerServicesVO">
SELECT SELECT
t2.* t2.*,
t.id as service_company_id
FROM FROM
service_company_mapping t service_company_mapping t
LEFT JOIN service_dict t2 ON t.service_id = t2.id LEFT JOIN service_dict t2 ON t.service_id = t2.id
...@@ -56,12 +57,13 @@ ...@@ -56,12 +57,13 @@
AND t.company_id = #{companyId} AND t.company_id = #{companyId}
</select> </select>
<select id="companyAdministerService" resultType="com.subsidy.model.ServiceDictDO"> <select id="companyAdministerService" resultType="com.subsidy.vo.administer.AdministerServicesVO">
SELECT SELECT
t2.* t2.*,
t.id as service_company_id
FROM FROM
service_company_mapping t service_company_mapping t
LEFT JOIN service_dict t2 ON t.company_id = t2.id LEFT JOIN service_dict t2 ON t.service_id = t2.id
LEFT JOIN service_administer_mapping t3 ON t.service_id = t3.service_id LEFT JOIN service_administer_mapping t3 ON t.service_id = t3.service_id
WHERE WHERE
t.delete_date IS NULL t.delete_date IS NULL
......
# 生产环境配置 # 生产环境配置
spring.server.port=23459 spring.server.port=23477
# 数据源配置 # 数据源配置
spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/subsidy?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 spring.datasource.url=jdbc:mysql://rm-uf69w46mo6agw0ahao.mysql.rds.aliyuncs.com:3306/subsidy?autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
......
# 环境配置 # 环境配置
spring.profiles.active=dev spring.profiles.active=prod
#和CPU数 #和CPU数
spring.server.acceptorThreadCount=600 spring.server.acceptorThreadCount=600
spring.server.minSpareThreads=100 spring.server.minSpareThreads=100
......
...@@ -22,6 +22,7 @@ meishu.code-message[10025]=身份证识别错误 ...@@ -22,6 +22,7 @@ meishu.code-message[10025]=身份证识别错误
meishu.code-message[10026]=姓名或身份证号格式不正确 meishu.code-message[10026]=姓名或身份证号格式不正确
meishu.code-message[10027]=该手机号已注册 meishu.code-message[10027]=该手机号已注册
meishu.code-message[10028]=该成员已在其他公司入职 meishu.code-message[10028]=该成员已在其他公司入职
meishu.code-message[10029]=密码输入错误
meishu.code-message[20001]=该课程已存在 meishu.code-message[20001]=该课程已存在
......
...@@ -35,4 +35,30 @@ ...@@ -35,4 +35,30 @@
AND t.administer_id = #{administerId} AND t.administer_id = #{administerId}
</select> </select>
<select id="administerCompanyIds" parameterType="long" resultType="long">
SELECT
t2.id
FROM
administer_company_mapping t
LEFT JOIN company_dict t2 ON t.company_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.administer_id = #{administerId}
</select>
<select id="administerServiceIds" parameterType="long" resultType="long">
SELECT
t2.id
FROM
service_administer_mapping t
LEFT JOIN service_dict t2 ON t.service_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
AND t.administer_id = #{administerId}
</select>
</mapper> </mapper>
...@@ -2,6 +2,38 @@ ...@@ -2,6 +2,38 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.subsidy.mapper.CompanyDictMapper"> <mapper namespace="com.subsidy.mapper.CompanyDictMapper">
<select id="allOperators" resultType="com.subsidy.vo.company.OperatorsVO">
SELECT
distinct
t2.id as companyId,
t2.banner,
t2.short_name,
t2.company_name,
t2.logo,
t2.address,
t2.supervise_name,
t2.company_code,
t2.area_name
FROM
company_dict t2
left join company_field_mapping t3 on t2.id = t3.company_id
WHERE
t2.delete_date is null
and t3.delete_date is null
<if test="companyName != null and companyName != ''">
and t2.company_name like concat('%',#{companyName} ,'%')
</if>
<if test="fieldId != null and fieldId != ''">
and t3.field_id = #{fieldId}
</if>
<if test="superviseName != null and superviseName != ''">
and t2.supervise_name =#{superviseName}
</if>
</select>
<select id="operators" resultType="com.subsidy.vo.company.OperatorsVO"> <select id="operators" resultType="com.subsidy.vo.company.OperatorsVO">
SELECT SELECT
distinct distinct
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
<select id="departMembers" parameterType="long" resultType="com.subsidy.vo.member.DepartMembersVO"> <select id="departMembers" parameterType="long" resultType="com.subsidy.vo.member.DepartMembersVO">
SELECT SELECT
distinct
t2.user_name, t2.user_name,
t2.telephone, t2.telephone,
t2.id_card, t2.id_card,
...@@ -27,7 +28,7 @@ ...@@ -27,7 +28,7 @@
t2.email, t2.email,
t2.qq_no, t2.qq_no,
t2.wechat, t2.wechat,
t.create_date t.update_date as create_date
FROM FROM
company_member_mapping t company_member_mapping t
LEFT JOIN member t2 ON t.member_id = t2.id LEFT JOIN member t2 ON t.member_id = t2.id
...@@ -41,7 +42,7 @@ ...@@ -41,7 +42,7 @@
or t2.telephone like concat('%',#{userName} ,'%')) or t2.telephone like concat('%',#{userName} ,'%'))
</if> </if>
and t.member_status = 0 and t.member_status = 0
order by t.id desc order by t.update_date desc
</select> </select>
<select id="attendMembers" resultType="com.subsidy.vo.member.AttendMembersVO"> <select id="attendMembers" resultType="com.subsidy.vo.member.AttendMembersVO">
...@@ -53,7 +54,10 @@ ...@@ -53,7 +54,10 @@
t1.gender, t1.gender,
t1.telephone, t1.telephone,
t1.id_card, t1.id_card,
t1.email t1.email,
t1.status,
t1.induction_date,
t1.work_no
FROM FROM
member t1 member t1
LEFT JOIN company_member_mapping t3 ON t1.id = t3.member_id LEFT JOIN company_member_mapping t3 ON t1.id = t3.member_id
......
...@@ -2,23 +2,14 @@ ...@@ -2,23 +2,14 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.subsidy.mapper.JobDictMapper"> <mapper namespace="com.subsidy.mapper.JobDictMapper">
<!-- 通用查询映射结果 --> <select id="queryMemberJobs" parameterType="long" resultType="com.subsidy.model.JobDictDO">
<resultMap id="BaseResultMap" type="com.subsidy.model.JobDictDO"> SELECT
<id column="id" property="id" /> t2.*
<result column="create_date" property="createDate" /> FROM
<result column="update_date" property="updateDate" /> job_member_mapping t
<result column="delete_date" property="deleteDate" /> LEFT JOIN job_dict t2 ON t.job_id = t2.id
<result column="company_id" property="companyId" /> where t.delete_date is null
<result column="job_name" property="jobName" /> and t2.delete_date is null
<result column="order_no" property="orderNo" /> and t.member_id = #{memberId}
</resultMap> </select>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
create_date,
update_date,
delete_date,
id, company_id, job_name, order_no
</sql>
</mapper> </mapper>
...@@ -102,4 +102,54 @@ ...@@ -102,4 +102,54 @@
and DATE_FORMAT(t2.induction_date ,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d') and DATE_FORMAT(t2.induction_date ,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
</if> </if>
</select> </select>
<select id="getCompanyMember" resultType="com.subsidy.vo.member.GetAllVO">
SELECT
t2.id,
t2.user_name,
t2.account_name,
t2.account_name_en,
t2.telephone,
t2.gender,
t2.id_card,
t2.status,
t2.email,
t2.work_no,
t2.induction_date
FROM
member t2
left join company_member_mapping t5 on t5.member_id = t2.id and t5.member_status = 1
WHERE
t2.delete_date IS NULL
and t5.company_id = #{companyId}
<if test="userName != null and userName !=''">
and t2.user_name like concat('%',#{userName} ,'%')
</if>
<if test="status != null and status !=''">
and t2.status = #{status}
</if>
<if test="startDate != null and startEndDate !=''">
and DATE_FORMAT(t2.induction_date ,'%Y-%m-%d')>=DATE_FORMAT(#{startDate}, '%Y-%m-%d')
</if>
<if test="endDate != null and endDate !=''">
and DATE_FORMAT(t2.induction_date ,'%Y-%m-%d') &lt;= DATE_FORMAT(#{endDate}, '%Y-%m-%d')
</if>
</select>
<select id="getDepartments" parameterType="long" resultType="com.subsidy.model.DepartmentDictDO">
SELECT
t2.id,
t2.department_name,
t2.parent_id
FROM
member_department_mapping t
LEFT JOIN department_dict t2 ON t.department_id = t2.id
WHERE
t.delete_date IS NULL
AND t2.delete_date IS NULL
and t.member_status = 1
AND t.member_id = #{memberId}
</select>
</mapper> </mapper>
...@@ -7,13 +7,20 @@ ...@@ -7,13 +7,20 @@
* *
FROM FROM
service_company_files t service_company_files t
left join service_company_mapping t2 on t2.id = t.service_company_id
WHERE WHERE
t.delete_date IS NULL t.delete_date IS NULL
AND t.service_company_id = #{serviceCompanyId} and t2.delete_date is null
<if test="companyId != null and companyId != ''">
AND t2.company_id = #{companyId}
</if>
<if test="serviceId != null and serviceId != ''">
and t2.service_id = #{serviceId}
</if>
<if test="fileName != null and fileName != ''"> <if test="fileName != null and fileName != ''">
AND t.file_name like concat('%',#{fileName} ,'%') AND t.file_name like concat('%',#{fileName} ,'%')
</if> </if>
and t.file_type = #{fileType}
</select> </select>
</mapper> </mapper>
...@@ -44,9 +44,10 @@ ...@@ -44,9 +44,10 @@
</if> </if>
</select> </select>
<select id="companyService" parameterType="long" resultType="com.subsidy.model.ServiceDictDO"> <select id="companyService" parameterType="long" resultType="com.subsidy.vo.administer.AdministerServicesVO">
SELECT SELECT
t2.* t2.*,
t.id as service_company_id
FROM FROM
service_company_mapping t service_company_mapping t
LEFT JOIN service_dict t2 ON t.service_id = t2.id LEFT JOIN service_dict t2 ON t.service_id = t2.id
...@@ -56,12 +57,13 @@ ...@@ -56,12 +57,13 @@
AND t.company_id = #{companyId} AND t.company_id = #{companyId}
</select> </select>
<select id="companyAdministerService" resultType="com.subsidy.model.ServiceDictDO"> <select id="companyAdministerService" resultType="com.subsidy.vo.administer.AdministerServicesVO">
SELECT SELECT
t2.* t2.*,
t.id as service_company_id
FROM FROM
service_company_mapping t service_company_mapping t
LEFT JOIN service_dict t2 ON t.company_id = t2.id LEFT JOIN service_dict t2 ON t.service_id = t2.id
LEFT JOIN service_administer_mapping t3 ON t.service_id = t3.service_id LEFT JOIN service_administer_mapping t3 ON t.service_id = t3.service_id
WHERE WHERE
t.delete_date IS NULL t.delete_date IS NULL
......
This file is too large to display.
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!