فهرست منبع

会计修改审定金额临时定时任务功能

徐滕 1 روز پیش
والد
کامیت
934f85d04e
14فایلهای تغییر یافته به همراه143 افزوده شده و 16 حذف شده
  1. 4 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/factory/DictApiFallbackFactory.java
  2. 5 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/factory/UserApiFallbackFactory.java
  3. 10 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/feign/IDictApi.java
  4. 9 0
      jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/feign/IUserApi.java
  5. 8 4
      jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/practice/register/service/RegistrationService.java
  6. 9 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/feign/DictApiImpl.java
  7. 15 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/feign/UserApiImpl.java
  8. 1 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/DictValueMapper.java
  9. 8 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/DictValueMapper.xml
  10. 3 1
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/UserMapper.xml
  11. 5 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/DictTypeService.java
  12. 4 0
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/DictValueService.java
  13. 52 11
      jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/UserService.java
  14. 10 0
      jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/xxl/job/executor/service/jobhandler/SampleXxlJob.java

+ 4 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/factory/DictApiFallbackFactory.java

@@ -45,6 +45,10 @@ public class DictApiFallbackFactory implements FallbackFactory <IDictApi> {
             public String getDictValueListMapByDict(String dict) {
                 return null;
             }
+
+            @Override
+            public void updateDictValue(String label, String value) {
+            }
         };
     }
 }

+ 5 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/factory/UserApiFallbackFactory.java

@@ -253,6 +253,11 @@ public class UserApiFallbackFactory implements FallbackFactory <IUserApi> {
                 return null;
             }
 
+            @Override
+            public void logoutByUserAll() {
+
+            }
+
         };
     }
 }

+ 10 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/feign/IDictApi.java

@@ -56,4 +56,14 @@ public interface IDictApi {
      */
     @GetMapping(value = "/feign/sys/dict/getDictValueListMapByDict")
     String getDictValueListMapByDict(@RequestParam(value = "dict") String dict);
+
+
+    /**
+     * 修改value值
+     * @param label
+     * @param value
+     * @return
+     */
+    @GetMapping(value = "/feign/sys/dict/updateDictValue")
+    void updateDictValue(@RequestParam(value = "label") String label, @RequestParam(value = "value") String value);
 }

+ 9 - 0
jeeplus-api/jeeplus-system-api/src/main/java/com/jeeplus/sys/feign/IUserApi.java

@@ -370,6 +370,15 @@ public interface IUserApi {
     @GetMapping(value = BASE_URL + "/getOnLineUserList")
     List <UserDTO> getOnLineUserList(@RequestParam("loginName") String loginName,@RequestParam("tenantId") String tenantId);
 
+
+
+    /**
+     * 所有在线人员全部退出登录
+     * @return
+     */
+    @GetMapping(value = BASE_URL + "/logoutByUserAll")
+    void logoutByUserAll();
+
 }
 
 

+ 8 - 4
jeeplus-modules/jeeplus-human/src/main/java/com/jeeplus/human/practice/register/service/RegistrationService.java

@@ -624,7 +624,8 @@ public class RegistrationService extends ServiceImpl<InterRegistrationMapper, Re
                 tenantDTO.setId(officeDTO.getTenantId());
                 dto.setTenantDTO(tenantDTO);
                 if (officeDTO.getTenantId().equals("10003")){
-                    keyMap.put("name", "兴光会计员工,共有权限(会计)");
+                    dto.setLoginFlag("1");
+                    keyMap.put("name", "实习生");
                     keyMap.put("tenantId", officeDTO.getTenantId());
                     roleIdList = SpringUtil.getBean(IRoleApi.class).getRoleDTOByNameAndTenantId(keyMap);
                 }else if (officeDTO.getTenantId().equals("10004")) {
@@ -632,7 +633,8 @@ public class RegistrationService extends ServiceImpl<InterRegistrationMapper, Re
                     keyMap.put("tenantId", officeDTO.getTenantId());
                     roleIdList = SpringUtil.getBean(IRoleApi.class).getRoleDTOByNameAndTenantId(keyMap);
                 }else if (officeDTO.getTenantId().equals("10001")) {
-                    keyMap.put("name", "评估员工,共有权限(评估)");
+                    dto.setLoginFlag("1");
+                    keyMap.put("name", "实习生");
                     keyMap.put("tenantId", officeDTO.getTenantId());
                     roleIdList = SpringUtil.getBean(IRoleApi.class).getRoleDTOByNameAndTenantId(keyMap);
                 }
@@ -731,7 +733,8 @@ public class RegistrationService extends ServiceImpl<InterRegistrationMapper, Re
             tenantDTO.setId(officeDTO.getTenantId());
             dto.setTenantDTO(tenantDTO);
             if (officeDTO.getTenantId().equals("10003")){
-                keyMap.put("name", "兴光会计员工,共有权限(会计)");
+                dto.setLoginFlag("1");
+                keyMap.put("name", "实习生");
                 keyMap.put("tenantId", officeDTO.getTenantId());
                 roleIdList = SpringUtil.getBean(IRoleApi.class).getRoleDTOByNameAndTenantId(keyMap);
             }else if (officeDTO.getTenantId().equals("10004")) {
@@ -739,7 +742,8 @@ public class RegistrationService extends ServiceImpl<InterRegistrationMapper, Re
                 keyMap.put("tenantId", officeDTO.getTenantId());
                 roleIdList = SpringUtil.getBean(IRoleApi.class).getRoleDTOByNameAndTenantId(keyMap);
             }else if (officeDTO.getTenantId().equals("10001")) {
-                keyMap.put("name", "评估员工,共有权限(评估)");
+                dto.setLoginFlag("1");
+                keyMap.put("name", "实习生");
                 keyMap.put("tenantId", officeDTO.getTenantId());
                 roleIdList = SpringUtil.getBean(IRoleApi.class).getRoleDTOByNameAndTenantId(keyMap);
             }else if (officeDTO.getTenantId().equals("10005")) {

+ 9 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/feign/DictApiImpl.java

@@ -2,9 +2,11 @@ package com.jeeplus.sys.feign;
 
 import com.alibaba.fastjson.JSON;
 import com.google.common.collect.Lists;
+import com.jeeplus.sys.service.DictTypeService;
 import com.jeeplus.sys.service.dto.DictValueDTO;
 import com.jeeplus.sys.utils.DictUtils;
 import com.jeeplus.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.HashMap;
@@ -14,6 +16,8 @@ import java.util.Map;
 @RestController
 public class DictApiImpl implements IDictApi {
 
+    @Autowired
+    private DictTypeService dictTypeService;
 
     @Override
     public String getDictValue(String label, String type, String defaultValue) {
@@ -53,4 +57,9 @@ public class DictApiImpl implements IDictApi {
         }
         return JSON.toJSONString(resultMap);
     }
+
+    @Override
+    public void updateDictValue(String label, String value) {
+        dictTypeService.updateDictValue(label, value);
+    }
 }

+ 15 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/feign/UserApiImpl.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.common.SecurityUtils;
 import com.jeeplus.common.TokenProvider;
+import com.jeeplus.common.constant.CacheNames;
+import com.jeeplus.common.redis.RedisUtils;
 import com.jeeplus.common.utils.RequestUtils;
 import com.jeeplus.sys.domain.User;
 import com.jeeplus.sys.service.UserService;
@@ -29,6 +31,8 @@ public class UserApiImpl implements IUserApi {
 
     @Autowired
     private UserService userService;
+    @Autowired
+    private RedisUtils redisUtils;
 
     @Override
     public List<UserDTO> getAllUserInfos() {
@@ -301,4 +305,15 @@ public class UserApiImpl implements IUserApi {
         return userService.getOnLineUserList ( loginName, tenantId );
     }
 
+    @Override
+    public void logoutByUserAll() {
+
+        List<UserDTO> onLineUserList = userService.modifyReportEditFlag( "");
+        for (UserDTO userDTO : onLineUserList) {
+            this.clearCache ( userDTO );
+            redisUtils.delete ( CacheNames.USER_CACHE_TOKEN, userDTO.getToken() );
+            redisUtils.delete ( CacheNames.USER_CACHE_ONLINE_USERS, userDTO.getToken() );
+        }
+    }
+
 }

+ 1 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/DictValueMapper.java

@@ -20,4 +20,5 @@ import java.util.List;
 public interface DictValueMapper extends BaseMapper <DictValue> {
     List<DictValue> getByName(@Param("dictName") String dictName);
 
+    void updateDictValue(@Param("label")String label, @Param("value")String value);
 }

+ 8 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/DictValueMapper.xml

@@ -13,4 +13,12 @@
           AND t.del_flag = 0
           AND v.del_flag = 0
     </select>
+
+    <update id="updateDictValue">
+        UPDATE sys_dict_value SET
+          value = #{value},
+          update_time = now()
+          WHERE label = #{label} AND del_flag = 0
+
+    </update>
 </mapper>

+ 3 - 1
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/mapper/xml/UserMapper.xml

@@ -734,7 +734,9 @@ select a.id, a.company_id as "companyDTO.id", a.office_id as "officeDTO.id", a.l
         from sys_user a
         <where>
             a.login_flag = 1 and a.del_flag = 0
-            and (a.login_name = #{loginName} or a.name = #{loginName} or a.mobile = #{loginName})
+            <if test="loginName != null and loginName != ''">
+                and (a.login_name = #{loginName} or a.name = #{loginName} or a.mobile = #{loginName})
+            </if>
             <if test="tenantId != null and tenantId != ''">
                 and a.tenant_id = #{tenantId}
             </if>

+ 5 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/DictTypeService.java

@@ -79,4 +79,9 @@ public class DictTypeService extends ServiceImpl <DictTypeMapper, DictType> {
         return list;
     }
 
+
+    public void updateDictValue(String label, String value) {
+        dictValueService.updateDictValue ( label, value );
+    }
+
 }

+ 4 - 0
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/DictValueService.java

@@ -28,5 +28,9 @@ public class DictValueService extends ServiceImpl <DictValueMapper, DictValue> {
         return this.baseMapper.getByName(dictName);
     }
 
+    public void updateDictValue(String label ,String value){
+        baseMapper.updateDictValue(label,value);
+    }
+
 }
 

+ 52 - 11
jeeplus-modules/jeeplus-system/src/main/java/com/jeeplus/sys/service/UserService.java

@@ -21,6 +21,7 @@ import com.jeeplus.common.constant.CommonConstants;
 import com.jeeplus.common.redis.RedisUtils;
 import com.jeeplus.common.utils.RequestUtils;
 import com.jeeplus.sys.domain.*;
+import com.jeeplus.sys.feign.IDictApi;
 import com.jeeplus.sys.feign.IOfficeApi;
 import com.jeeplus.sys.feign.IUserApi;
 import com.jeeplus.sys.mapper.OfficeMapper;
@@ -39,10 +40,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import javax.validation.constraints.NotNull;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -848,22 +846,65 @@ public class UserService extends ServiceImpl<UserMapper, User> {
         if (StringUtils.isBlank(tenantId)) {
             tenantId = "10000";
         }
-        Stream<UserDTO> list = UserUtils.getOnlineUsers ( ).stream ( );
-        if ( StrUtil.isNotEmpty ( userDTO.getLoginName ( ) ) ) {
-            list = list.filter ( user -> user.getLoginName ( ).contains ( userDTO.getLoginName ( ) ) );
+        if(null != userDTO){
+            Stream<UserDTO> list = UserUtils.getOnlineUsers ( ).stream ( );
+            if ( StrUtil.isNotEmpty ( userDTO.getLoginName ( ) ) ) {
+                list = list.filter ( user -> user.getLoginName ( ).contains ( userDTO.getLoginName ( ) ) );
+
+            }
+            if ( StrUtil.isNotEmpty ( userDTO.getName ( ) ) ) {
+                list = list.filter ( user -> user.getName ( ).contains ( userDTO.getName ( ) ) );
+            }
+            if ( !CommonConstants.DEFAULT_TENANT_ID.equals ( tenantId ) ) { // 非平台租户只显示租户内在线用户
+
+                String finalTenantId = tenantId;
+                list = list.filter (user -> user.getTenantDTO ( ).getId ( ).contains (finalTenantId) );
+
+            }
+            List <UserDTO> users = list.collect ( Collectors.toList ( ) );
+
+            return users;
+        }
+
+        List <UserDTO> users = Lists.newArrayList();
+        return users;
+
+    }
+    /**
+     * 根据登录名和对应租户id查询登陆人员信息
+     * @param tenantId
+     * @return
+     */
+    public List <UserDTO> modifyReportEditFlag( String tenantId) {
+        String reportEditFlags = SpringUtil.getBean ( IDictApi.class ).getDictListMapByDict ("report_edit_flag");
+        Map<String,Object> paymentStatusValueDTOs = JSON.parseObject(reportEditFlags, new TypeReference<Map<String,Object>>() {});
 
+        for (String key : paymentStatusValueDTOs.keySet()) {
+            if("1".equals(key)){
+                SpringUtil.getBean ( IDictApi.class ).updateDictValue ("open", "0");
+                break;
+            }else if("0".equals(key)){
+                SpringUtil.getBean ( IDictApi.class ).updateDictValue ("open", "1");
+                break;
+            }
         }
-        if ( StrUtil.isNotEmpty ( userDTO.getName ( ) ) ) {
-            list = list.filter ( user -> user.getName ( ).contains ( userDTO.getName ( ) ) );
+
+        if (StringUtils.isBlank(tenantId)) {
+            tenantId = "10000";
         }
-        if ( !CommonConstants.DEFAULT_TENANT_ID.equals ( tenantId ) ) { // 非平台租户只显示租户内在线用户
+        redisUtils.delPattern ( "sys:cache:dictMap:*" );
 
+
+        Stream<UserDTO> list = UserUtils.getOnlineUsers ( ).stream ( );
+        if ( !CommonConstants.DEFAULT_TENANT_ID.equals ( tenantId ) ) { // 非平台租户只显示租户内在线用户
             String finalTenantId = tenantId;
             list = list.filter (user -> user.getTenantDTO ( ).getId ( ).contains (finalTenantId) );
 
         }
         List <UserDTO> users = list.collect ( Collectors.toList ( ) );
-
+        if(null == users){
+            users = Lists.newArrayList();
+        }
         return users;
 
     }

+ 10 - 0
jeeplus-modules/jeeplus-xxl-job-executor-sample/src/main/java/com/xxl/job/executor/service/jobhandler/SampleXxlJob.java

@@ -1122,5 +1122,15 @@ public class SampleXxlJob {
         SpringUtil.getBean(IHumanApi.class).syncDingTalkInfo();
     }
 
+    /**
+     * 修改会计报告-修改审定金额-按钮是否显示
+     */
+    @XxlJob("modifyReportEditFlag")
+    public void modifyReportEditFlag() {
+
+        SpringUtil.getBean(IUserApi.class).logoutByUserAll();
+
+    }
+
 
 }