From 21357f1d42f995e11e99a12a5f225fe6442b9ad1 Mon Sep 17 00:00:00 2001 From: zhangc <zc@123> Date: 星期三, 08 一月 2025 13:05:09 +0800 Subject: [PATCH] 优化定时任务及日志输出,调整订单同步逻辑 --- src/main/java/com/zy/common/web/BaseController.java | 129 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 126 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/common/web/BaseController.java b/src/main/java/com/zy/common/web/BaseController.java index 62c9fbe..0309a4a 100644 --- a/src/main/java/com/zy/common/web/BaseController.java +++ b/src/main/java/com/zy/common/web/BaseController.java @@ -2,11 +2,18 @@ import com.baomidou.mybatisplus.annotations.TableField; import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.baomidou.mybatisplus.plugins.Page; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.controller.AbstractBaseController; import com.core.exception.CoolException; +import com.zy.asrs.entity.Node; +import com.zy.asrs.entity.Tag; +import com.zy.asrs.service.NodeService; +import com.zy.asrs.service.TagService; import com.zy.system.entity.User; +import com.zy.system.entity.UserLogin; +import com.zy.system.service.UserLoginService; import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; import org.springframework.beans.factory.annotation.Autowired; @@ -14,21 +21,31 @@ import javax.servlet.http.HttpServletRequest; import java.lang.reflect.Field; import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.List; -import java.util.Set; +import java.util.*; /** * Created by vincent on 2019-09-09 */ public class BaseController extends AbstractBaseController { + protected static final String RANGE_TIME_LINK = " - "; + @Autowired protected HttpServletRequest request; @Autowired private UserService userService; + @Autowired + private TagService tagService; + @Autowired + private NodeService nodeService; + + @Autowired + private UserLoginService userLoginService; protected Long getUserId(){ + if(Cools.isEmpty(request.getAttribute("userId"))){ + return 000L; + } return Long.parseLong(String.valueOf(request.getAttribute("userId"))); } @@ -48,6 +65,61 @@ } } return ""; + } + + protected Tag getOriginTag(){ + return tagService.getTop(); + } + + protected Node getOriginNode(){ + Node node = nodeService.getTop(); + if (node == null) { + throw new CoolException("搴撳尯鏁版嵁閿欒"); + } + return node; + } + + /** + * 鍒嗛〉缁勮 + * @param pageNumber + * @param pageSize + * @param map + * @param cls + * @param <T> + * @return + */ + protected <T> Page<T> toPage(Integer pageNumber, Integer pageSize, Map<String, Object> map, Class<T> cls){ + // 鍒嗛〉绱㈠紩鍜屽崟椤垫暟閲忕粍瑁� + pageNumber = Optional.ofNullable(pageNumber).orElse(1); + pageSize = Optional.ofNullable(pageSize).orElse(10); + Page<T> page = new Page<>(pageNumber, pageSize); + map.put("pageNumber", pageNumber); + map.put("pageSize", pageSize); + + // 鍏ㄥ瓧娈垫ā绯婃悳绱� todo + if (!Cools.isEmpty(map.get("condition"))) { + Set<String> columns = new HashSet<>(); + for (Field field : Cools.getAllFields(cls)){ + if (Modifier.isFinal(field.getModifiers()) + || Modifier.isStatic(field.getModifiers()) + || Modifier.isTransient(field.getModifiers())){ + continue; + } + String column = null; + if (field.isAnnotationPresent(TableField.class)) { + column = field.getAnnotation(TableField.class).value(); + } + if (Cools.isEmpty(column)) { + column = field.getName(); + } + if (!map.keySet().contains(column)) { + columns.add(column); + } + } + columns.forEach(col->map.put(col, map.get("condition"))); + } + page.setCondition(map); + return page; } /** @@ -90,4 +162,55 @@ wrapper.like(columns.get(i), condition); } } + + public static boolean isJSON(String str) { + if (Cools.isEmpty(str)) { + return false; + } else { + str = str.trim(); + if (str.startsWith("{") && str.endsWith("}")) { + return true; + } else if (str.startsWith("[") && str.endsWith("]")) { + return true; + } else { + return false; + } + } + } + + protected <T> void hostEq(EntityWrapper<T> wrapper){ + Long hostId = getHostId(); + if (hostId != null) { + wrapper.eq("host_id", hostId); + } + } + + protected Long getHostId(){ + if (getUserId() == 9527) { + return null; + } + User user = getUser(); + if (user.getRoleId() == 1) { + String hostId = String.valueOf(request.getAttribute("hostId")); + if (Cools.isEmpty(hostId)) { + UserLogin userLogin = userLoginService.selectOne(new EntityWrapper<UserLogin>().eq("user_id", user.getId())); + if (userLogin != null) { + //return userLogin.getHostId(); + return 1L; + } + } + return Long.parseLong(hostId); + } else { + return user.getHostId(); + } + } + + public static boolean isNumber(String str){ + for (int i = str.length();--i>=0;){ + if (!Character.isDigit(str.charAt(i))){ + return false; + } + } + return true; + } } -- Gitblit v1.9.1