Browse Source

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper into master

seyason 2 years ago
parent
commit
8967c25ca1

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/WxCorpInfoMapper.java

@@ -3,6 +3,8 @@ package com.management.platform.mapper;
 import com.management.platform.entity.WxCorpInfo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
+import java.util.List;
+
 /**
  * <p>
  *  Mapper 接口
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface WxCorpInfoMapper extends BaseMapper<WxCorpInfo> {
 
+    List<WxCorpInfo> getWxCompanyList();
 }

+ 58 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/PermissionServiceImpl.java

@@ -16,6 +16,7 @@ import org.apache.poi.hssf.usermodel.*;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.ss.util.CellRangeAddress;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -23,6 +24,7 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.io.File;
 import java.io.FileOutputStream;
+import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -63,6 +65,10 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
     private CompanyMapper companyMapper;
     @Resource
     private CompanyReportMapper companyReportMapper;
+    @Resource
+    private HttpServletRequest request;
+    @Resource
+    private OperationRecordMapper operationRecordMapper;
 
 
     //根据角色id获取角色列表
@@ -313,6 +319,9 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
 
     @Override
     public HttpRespMsg savePermission(Integer role, String moduleList) {
+        User user = userMapper.selectById(request.getHeader("token"));
+        HttpRespMsg authority = getAuthority(role,user.getCompanyId(), request);
+        List<SysModule> sysModuleList= (List<SysModule>) authority.data;
         HttpRespMsg httpRespMsg = new HttpRespMsg();
         JSONArray array = JSONArray.parseArray(moduleList);
         List<Integer> selectedModuleIds = new ArrayList<>();
@@ -356,9 +365,58 @@ public class PermissionServiceImpl extends ServiceImpl<PermissionMapper, Permiss
             sysRoleFunctions.add(fun);
         }
         sysRoleFunctionService.saveBatch(sysRoleFunctions);
+        permissionModificationRecord(sysModuleList,moduleList,user);
         return httpRespMsg;
     }
 
+    @Async("taskExecutor")
+    public void permissionModificationRecord(List<SysModule> oldSysModuleList,String newModuleList,User user){
+        JSONArray array = JSONArray.parseArray(newModuleList);
+        StringBuilder message=new StringBuilder();
+        for (int i = 0; i < array.size(); i++) {
+            JSONObject jsonObject = array.getJSONObject(i);
+            Optional<SysModule> first = oldSysModuleList.stream().filter(sl -> sl.getId().equals(jsonObject.getIntValue("id"))).findFirst();
+            if(first.isPresent()){
+                String compareOld= jsonObject.getBoolean("checked")?"0":"1";
+                String compareNew= first.get().isChecked()?"0":"1";
+                if(!compareOld.equals(compareNew)){
+                    if(jsonObject.getBoolean("checked")){
+                        message.append("开启了["+first.get().getName()+"]功能模块\n");
+                    }else {
+                        message.append("关闭了["+first.get().getName()+"]功能模块\n");
+                    }
+                }
+            }
+            JSONArray functionList = jsonObject.getJSONArray("functionList");
+            for (int j = 0; j < functionList.size(); j++) {
+                JSONObject function = functionList.getJSONObject(j);
+                if(first.isPresent()){
+                    List<SysFunction> sysFunctionList = first.get().getFunctionList();
+                    Optional<SysFunction> optional = sysFunctionList.stream().filter(sl -> sl.getId().equals(function.getIntValue("id"))).findFirst();
+                    if(optional.isPresent()){
+                        String compareOld= function.getBoolean("checked")?"0":"1";
+                        String compareNew= optional.get().isChecked()?"0":"1";
+                        if(!compareOld.equals(compareNew)){
+                            if(function.getBoolean("checked")){
+                                message.append("开启了["+optional.get().getName()+"]权限\n");
+                            }else {
+                                message.append("关闭了["+optional.get().getName()+"]权限\n");
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        System.out.println(message.toString());
+        OperationRecord operationRecord=new OperationRecord();
+        operationRecord.setOperationTime(LocalDateTime.now());
+        operationRecord.setContent(message.toString());
+        operationRecord.setCompanyId(user.getCompanyId());
+        operationRecord.setModuleName("角色权限管理");
+        operationRecord.setOperatorName(user.getName());
+        operationRecordMapper.insert(operationRecord);
+    }
+
     @Override
     public HttpRespMsg setDefaultRole(Integer id, Integer companyId) {
         //查找当前默认的角色

+ 1 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -7970,6 +7970,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
         List<Project> changeProjectList=new ArrayList<>();
         List<Project> inertProjectList=new ArrayList<>();
         List<Project> deleteProjectList=new ArrayList<>();
+        System.out.println("需要处理的数据---------"+projectList);
         if(changeType.equals("insert_project")){
             if(projectList!=null &&projectList.size()>0){
                 for (Project project : projectList) {

+ 6 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -12,6 +12,7 @@ import com.management.platform.mapper.*;
 import com.management.platform.service.*;
 import com.management.platform.service.impl.WxCorpInfoServiceImpl;
 import com.management.platform.util.*;
+import jdk.nashorn.internal.ir.ContinueNode;
 import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
 import me.chanjar.weixin.mp.api.WxMpService;
 import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
@@ -585,7 +586,7 @@ public class TimingTask {
 //                }
             }
         }
-        List<WxCorpInfo> wxCorpInfoList = wxCorpInfoService.list(new QueryWrapper<WxCorpInfo>());
+        List<WxCorpInfo> wxCorpInfoList = wxCorpInfoMapper.getWxCompanyList();
         for (WxCorpInfo wxCorpInfo : wxCorpInfoList) {
             if (wxCorpInfo!=null) {
             List<Map<String, Object>> result = reportMapper.getWaitingApproveCnt(wxCorpInfo.getCompanyId());
@@ -872,6 +873,10 @@ public class TimingTask {
                 }
                 //发送推送提醒
                 Company company = companyMapper.selectById(t.getCompanyId());
+                //过期公司不提醒
+                if(company.getExpirationDate().isBefore(LocalDateTime.now())){
+                    return;
+                }
                 //开通了OA功能,有请假模块的,需要把当前请假的排除掉
                 List<Map<String, Object>> userList = null;
                 if (company.getPackageOa() == 1) {

+ 7 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/WxCorpInfoMapper.xml

@@ -28,4 +28,11 @@
         corpid, corp_name, corp_full_name, corp_scale, corp_industry, corp_sub_industry, location, access_token, expire_time, permanent_code, auth_username, company_id, agentid, contact_secret, contact_server, saas_sync_contact, auth_mode
     </sql>
 
+    <select id="getWxCompanyList" resultType="com.management.platform.entity.WxCorpInfo">
+        select *
+        from wx_corp_info
+        left join company
+        ON wx_corp_info.company_id = company.id
+        where company.expiration_date >= now()
+    </select>
 </mapper>

+ 7 - 5
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/controller/OperationRecordController.java

@@ -45,6 +45,8 @@ public class OperationRecordController {
     public HttpRespMsg getList(String companyName,String startDate,String endDate,Integer pageIndex ,Integer pageSize,String projectName){
         HttpRespMsg httpRespMsg=new HttpRespMsg();
         List<Company> companyList = companyMapper.selectList(null);
+        DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+        DateTimeFormatter df1 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         QueryWrapper<OperationRecord> queryWrapper=new QueryWrapper<>();
         if(companyName!=null&&companyName!=""){
             List<Integer> list = companyList.stream().filter(cl -> cl.getCompanyName().contains(companyName)).map(Company::getId).collect(Collectors.toList());
@@ -54,12 +56,12 @@ public class OperationRecordController {
             queryWrapper.in("company_id",list);
         }
         if(startDate!=null && endDate!=null){
-            LocalDateTime start = LocalDate.parse(startDate, DateTimeFormatter.ofPattern("yyyy-MM-dd")).atTime(LocalTime.now());
-            LocalDateTime end = LocalDate.parse(endDate, DateTimeFormatter.ofPattern("yyyy-MM-dd")).atTime(LocalTime.now());
-            queryWrapper.ge("operation_time",start);
-            queryWrapper.le("operation_time",end);
+            LocalDateTime start = LocalDate.parse(startDate, df1).atTime(LocalTime.MIN);
+            LocalDateTime end = LocalDate.parse(endDate, df1).atTime(LocalTime.MAX);
+            queryWrapper.ge("operation_time",df.format(start));
+            queryWrapper.le("operation_time",df.format(end));
         }
-        if(projectName!=null){
+        if(projectName!=null&&!projectName.equals("")){
             queryWrapper.like("project_name",projectName);
         }
         queryWrapper.orderByDesc("operation_time");

+ 4 - 0
fhKeeper/formulahousekeeper/ops-platform/src/main/java/com/management/platform/entity/OperationRecord.java

@@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -42,6 +44,8 @@ public class OperationRecord extends Model<OperationRecord> {
     private String operatorName;
 
     @TableField("operation_time")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime operationTime;
 
     @TableField("content")