| | |
| | | import com.ruoyi.common.config.FrameworkConfig; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.ShiroUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import org.apache.commons.lang3.RandomUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.commons.lang3.time.DateFormatUtils; |
| | | |
| | | import java.time.LocalDateTime; |
| | |
| | | |
| | | private static final AtomicLong sequence = new AtomicLong(0); |
| | | private static String lastTimestamp = ""; |
| | | |
| | | //全局用户实时坐在部门 |
| | | public static Map<String, String> contextUserDept = new HashMap<>(); |
| | | |
| | | /** |
| | | * 生成顺序ID:年月日时分秒毫秒(17位) + 序列号(4位) = 21位 |
| | |
| | | } |
| | | |
| | | public static String getLoginUserName() { |
| | | return ShiroUtils.getUserName() ; |
| | | SysUser user = ShiroUtils.getSysUser(); |
| | | return null == user ? "系统" : user.getUserName(); |
| | | } |
| | | |
| | | public static SysUser getLoginUser() { |
| | | return ShiroUtils.getSysUser(); |
| | | } |
| | | |
| | | public static String subDeptId(SysUser user) { |
| | | if (null == user) { |
| | | user = getLoginUser(); |
| | | } |
| | | |
| | | if (null == user) { |
| | | return getCompanyId() + "001"; |
| | | } |
| | | |
| | | //从全局获取,如果有则取全局的默认,如果没有则取自己所属 |
| | | if (null != contextUserDept.get(user.getLoginName())) { |
| | | return contextUserDept.get(user.getLoginName()); |
| | | } |
| | | |
| | | if (null == user.getDeptId()) { |
| | | return user.getCompanyId(); |
| | | } |
| | | return user.getDeptId().toString(); |
| | | } |
| | | |
| | | public static void updateSubDept(String userId, String deptId) { |
| | | if (null == deptId) return; |
| | | contextUserDept.put(userId, deptId); |
| | | } |
| | | |
| | | /** |
| | | * 获取顺序号 |
| | | * @param oldOrderId 原有顺序号 |
| | | * @param num 位数 |
| | | * @return |
| | | */ |
| | | public static String getOrderId(String oldOrderId, Integer num) { |
| | | Integer index3 = 1001; |
| | | Integer index4 = 10001; |
| | | Integer index5 = 100001; |
| | | Integer index = 0; |
| | | String orderId = "001"; |
| | | if(StringUtils.isNotEmpty(oldOrderId)){ |
| | | index = Integer.valueOf(oldOrderId); |
| | | } |
| | | if(3 == num){ |
| | | orderId = ((index3 + index) + "").substring(1); |
| | | } |
| | | if(4 == num){ |
| | | orderId = ((index4 + index) + "").substring(1); |
| | | } |
| | | if(5 == num){ |
| | | orderId = ((index5 + index) + "").substring(1); |
| | | } |
| | | return orderId; |
| | | } |
| | | } |