|  |  |  | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | 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.Map; | 
|---|
|  |  |  | 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 Node getOriginNode(){ | 
|---|
|  |  |  | Node node = nodeService.getTop(); | 
|---|
|  |  |  | if (node == null) { | 
|---|
|  |  |  | throw new CoolException("库区数据错误"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return node; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 Long.parseLong(hostId); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return user.getHostId(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | protected Long getUserId(){ | 
|---|
|  |  |  | return Long.parseLong(String.valueOf(request.getAttribute("userId"))); | 
|---|
|  |  |  | 
|---|
|  |  |  | return ""; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | protected <T> Page<T> toPage(Integer curr, Integer limit, Map<String, Object> param){ | 
|---|
|  |  |  | Page<T> page = new Page<T>(curr, limit); | 
|---|
|  |  |  | param.put("pageNumber", Integer.parseInt(String.valueOf(param.get("curr")))); | 
|---|
|  |  |  | param.put("pageSize", Integer.parseInt(String.valueOf(param.get("limit")))); | 
|---|
|  |  |  | page.setCondition(param); | 
|---|
|  |  |  | protected Tag getOriginTag(){ | 
|---|
|  |  |  | return tagService.getTop(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | protected <T> void hostEq(EntityWrapper<T> wrapper){ | 
|---|
|  |  |  | Long hostId = getHostId(); | 
|---|
|  |  |  | if (hostId != null) { | 
|---|
|  |  |  | wrapper.eq("host_id", hostId); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分页组装 | 
|---|
|  |  |  | * @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; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|