|
@@ -8,8 +8,9 @@ import com.management.platform.entity.*;
|
|
|
import com.management.platform.entity.vo.FeiShuInfoVO;
|
|
|
import com.management.platform.mapper.*;
|
|
|
import com.management.platform.service.CompanyService;
|
|
|
+import com.management.platform.service.FeishuInfoService;
|
|
|
import com.management.platform.util.HttpRespMsg;
|
|
|
-import com.sun.org.apache.regexp.internal.RE;
|
|
|
+import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.http.HttpHeaders;
|
|
@@ -28,6 +29,8 @@ import java.time.Duration;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.LocalTime;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Optional;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -42,6 +45,7 @@ import java.util.stream.Collectors;
|
|
|
*/
|
|
|
@RestController
|
|
|
@RequestMapping("/company")
|
|
|
+@RequiredArgsConstructor
|
|
|
public class CompanyController {
|
|
|
@Value("${syncDDMembUrl}")
|
|
|
private String syncDDMembUrl;
|
|
@@ -62,6 +66,56 @@ public class CompanyController {
|
|
|
@Resource
|
|
|
FeishuInfoMapper feishuInfoMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private CompanySigningMapper companySigningMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private AuditWorkflowTimeSettingMapper auditWorkflowTimeSettingMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private CompanyCustomerContactMapper companyCustomerContactMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private CompanyReportMapper companyReportMapper;
|
|
|
+ @Resource
|
|
|
+ private CustomerInfoMapper customerInfoMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private DepartmentMapper departmentMapper;
|
|
|
+ @Resource
|
|
|
+ private FeishuInfoService feishuInfoService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private OperationRecordMapper operationRecordMapper;
|
|
|
+ @Resource
|
|
|
+ private ProjectMapper projectMapper;
|
|
|
+ @Resource
|
|
|
+ private ProjectCategoryMapper projectCategoryMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysRoleMapper sysRoleMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysRoleModuleMapper sysRoleModuleMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private SysRoleFunctionMapper sysRoleFunctionMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TaskMapper taskMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private TimeTypeMapper timeTypeMapper;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private UserCorpwxTimeMapper userCorpwxTimeMapper;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
public static LocalDateTime lastSyncDDTime;
|
|
|
|
|
|
/**
|
|
@@ -238,5 +292,58 @@ public class CompanyController {
|
|
|
public HttpRespMsg getSuperManagerId(Integer companyId){
|
|
|
return companyService.getSuperManagerId(companyId);
|
|
|
}
|
|
|
+
|
|
|
+ @RequestMapping("/getNeedDelList")
|
|
|
+ public HttpRespMsg getNeedDelList(Integer pageIndex, Integer pageSize){
|
|
|
+ QueryWrapper<Company> queryWrapper = new QueryWrapper<Company>();
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.now().plusYears(-2L);
|
|
|
+ queryWrapper.eq("set_meal",0).le("expiration_date",localDateTime).orderByAsc("expiration_date");
|
|
|
+ IPage<Company> result = companyMapper.selectPage(new Page<>(pageIndex, pageSize), queryWrapper);
|
|
|
+ HashMap<String, Object> map = new HashMap<>();
|
|
|
+ map.put("record",result.getRecords());
|
|
|
+ map.put("total",result.getTotal());
|
|
|
+ msg.setData(map);
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+
|
|
|
+ @RequestMapping("/delNeedDelList")
|
|
|
+ public HttpRespMsg delNeedDelList(String companyIds){
|
|
|
+ HttpRespMsg msg = new HttpRespMsg();
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isEmpty(companyIds)){
|
|
|
+ msg.setError("请传递公司的关键信息");
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
+ QueryWrapper<Company> queryWrapper = new QueryWrapper<Company>();
|
|
|
+ String[] strings = companyIds.split(",");
|
|
|
+ List<String> companyIdList = Arrays.asList(strings);
|
|
|
+ queryWrapper.in("id",companyIdList);
|
|
|
+ List<Company> companyList = companyMapper.selectList(queryWrapper);
|
|
|
+ List<Integer> companyIdCollect = companyList.stream().map(Company::getId).collect(Collectors.toList());
|
|
|
+ companySigningMapper.delete(new QueryWrapper<CompanySigning>().in("company_id",companyIdCollect));
|
|
|
+ auditWorkflowTimeSettingMapper.delete(new QueryWrapper<AuditWorkflowTimeSetting>().in("company_id",companyIdCollect));
|
|
|
+ companyCustomerContactMapper.delete(new QueryWrapper<CompanyCustomerContact>().in("company_id",companyIdCollect));
|
|
|
+ companyDingdingMapper.delete(new QueryWrapper<CompanyDingding>().in("company_id",companyIdCollect));
|
|
|
+ companyReportMapper.delete(new QueryWrapper<CompanyReport>().in("company_id",companyIdCollect));
|
|
|
+ customerInfoMapper.delete(new QueryWrapper<CustomerInfo>().in("company_id",companyIdCollect));
|
|
|
+ departmentMapper.delete(new QueryWrapper<Department>().in("company_id",companyIdCollect));
|
|
|
+ operationRecordMapper.delete(new QueryWrapper<OperationRecord>().in("company_id",companyIdCollect));
|
|
|
+ projectMapper.delete(new QueryWrapper<Project>().in("company_id",companyIdCollect));
|
|
|
+ projectCategoryMapper.delete(new QueryWrapper<ProjectCategory>().in("company_id",companyIdCollect));
|
|
|
+ reportMapper.delete(new QueryWrapper<Report>().in("company_id",companyIdCollect));
|
|
|
+
|
|
|
+ sysRoleModuleMapper.deleteNeedToDel(companyIdCollect);
|
|
|
+ sysRoleFunctionMapper.deleteNeedToDel(companyIdCollect);
|
|
|
+ sysRoleMapper.delete(new QueryWrapper<SysRole>().in("company_id",companyIdCollect));
|
|
|
+
|
|
|
+ taskMapper.delete(new QueryWrapper<Task>().in("company_id",companyIdCollect));
|
|
|
+ timeTypeMapper.delete(new QueryWrapper<TimeType>().in("company_id",companyIdCollect));
|
|
|
+ userMapper.delete(new QueryWrapper<User>().in("company_id",companyIdCollect));
|
|
|
+ userCorpwxTimeMapper.delete(new QueryWrapper<UserCorpwxTime>().in("company_id",companyIdCollect));
|
|
|
+ wxCorpInfoMapper.delete(new QueryWrapper<WxCorpInfo>().in("company_id",companyIdCollect));
|
|
|
+
|
|
|
+ feishuInfoService.remove(new QueryWrapper<FeishuInfo>().in("company_id",companyIdCollect));
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
}
|
|
|
|