diff --git a/ym-admin/pom.xml b/ym-admin/pom.xml
index 132653d..54a505d 100644
--- a/ym-admin/pom.xml
+++ b/ym-admin/pom.xml
@@ -43,6 +43,11 @@
ym-common
1.0-SNAPSHOT
+
+ com.alibaba
+ fastjson
+ 1.2.75
+
diff --git a/ym-admin/src/main/java/com/cnbm/admin/base/BaseSupport.java b/ym-admin/src/main/java/com/cnbm/admin/base/BaseSupport.java
new file mode 100644
index 0000000..79c0cce
--- /dev/null
+++ b/ym-admin/src/main/java/com/cnbm/admin/base/BaseSupport.java
@@ -0,0 +1,167 @@
+/*
+ * Copyright (c) 2018.
+ * http://www.ulabcare.com
+ */
+
+package com.cnbm.admin.base;
+
+import com.alibaba.fastjson.JSON;
+import com.cnbm.admin.entity.LoginUser;
+import com.cnbm.admin.enums.WhetherEnum;
+import lombok.Builder;
+import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * 接口支持基类
+ *
+ * @author jiff
+ * @date 2018/11/1
+ * @since 1.0
+ */
+@Service
+public class BaseSupport {
+
+ protected LoginUser getLoginUser() {
+ // 后续完善拦截器再使用该方式
+// LoginUser loginUser = loginUserHolder.get();
+// if (loginUser != null) {
+// return loginUser;
+// }
+ HttpSession session = getHttpServletRequest().getSession(false);
+ LoginUser loginUser = null;
+ if (session != null) {
+ String loginUserJson = (String) session.getAttribute(LoginUser.HTTP_HEADER_NAME);
+ if (StringUtils.isNotBlank(loginUserJson)) {
+ loginUser = JSON.parseObject(loginUserJson, LoginUser.class);
+ return loginUser;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 获取当前http请求对象
+ *
+ * @return
+ */
+ protected HttpServletRequest getHttpServletRequest() {
+ return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+ }
+
+ /**
+ * 获取当前http响应对象
+ *
+ * @return
+ */
+ protected HttpServletResponse getHttpServletResponse() {
+ return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
+ }
+
+
+ /**
+ * 设置公共字段值,一般用于创建新记录,包含以下字段:
+ *
+ *
+ * {@link CommonField#enabled}
+ * {@link CommonField#valid}
+ * {@link CommonField#creatorId}
+ * {@link CommonField#creatorName}
+ * {@link CommonField#createTime}
+ * {@link CommonField#updaterId}
+ * {@link CommonField#updaterName}
+ * {@link CommonField#updateTime}
+ *
+ *
+ * @param t 需要设置的对象
+ * @param ignoreProperties 忽略的字段
+ * @param
+ */
+ public T setCommonField(T t, String... ignoreProperties) {
+
+ CommonField commonField = CommonField.builder()
+ .enabled(WhetherEnum.YES.getValue())
+ .valid(WhetherEnum.YES.getValue())
+ .createTime(LocalDateTime.now())
+ .creatorId(getLoginUser().getSysUserEntity().getId())
+ .creatorName(getLoginUser().getUsername())
+ .updateTime(LocalDateTime.now())
+ .updaterId(getLoginUser().getSysUserEntity().getId())
+ .updaterName(getLoginUser().getUsername())
+ .build();
+ BeanUtils.copyProperties(commonField, t, ignoreProperties);
+ return t;
+ }
+
+ /**
+ * 设置更新的公共字段值,一般用于更新记录,包含以下字段:
+ *
+ *
+ * {@link CommonField#updaterId}
+ * {@link CommonField#updaterName}
+ * {@link CommonField#updateTime}
+ *
+ *
+ * @param t 需要设置的对象
+ * @param
+ */
+ public T setUpdateCommonField(T t) {
+ CommonField commonField = CommonField.builder()
+ .updaterId(getLoginUser().getSysUserEntity().getId())
+ .updaterName(getLoginUser().getUsername())
+ .updateTime(LocalDateTime.now())
+ .build();
+ BeanUtils.copyProperties(commonField, t, "enabled", "valid");
+ return t;
+ }
+
+ @Data
+ @Builder
+ private static class CommonField implements Serializable {
+ /**
+ * 启用状态:0 、停用,1、启用
+ */
+ private Integer enabled;
+ /**
+ * 删除标志,是否有效:1 可用 0不可用
+ */
+ private Integer valid;
+
+ /**
+ * 创建人
+ */
+ private Long creatorId;
+ /**
+ * 创建人
+ */
+ private String creatorName;
+ /**
+ * 创建时间
+ */
+ private LocalDateTime createTime;
+
+
+ /**
+ * 更新人
+ */
+ private Long updaterId;
+ /**
+ * 更新人
+ */
+ private String updaterName;
+ /**
+ * 更新时间
+ */
+ private LocalDateTime updateTime;
+ }
+}
diff --git a/ym-admin/src/main/java/com/cnbm/admin/entity/LoginUser.java b/ym-admin/src/main/java/com/cnbm/admin/entity/LoginUser.java
index 6d1b4f4..7812267 100644
--- a/ym-admin/src/main/java/com/cnbm/admin/entity/LoginUser.java
+++ b/ym-admin/src/main/java/com/cnbm/admin/entity/LoginUser.java
@@ -24,6 +24,8 @@ public class LoginUser implements UserDetails{
private static final long serialVersionUID = 1L;
+ public static final String HTTP_HEADER_NAME = "loginUser";
+
private SysUserEntity sysUserEntity;
private List permissions;
diff --git a/ym-admin/src/main/java/com/cnbm/admin/service/impl/LoginServiceImpl.java b/ym-admin/src/main/java/com/cnbm/admin/service/impl/LoginServiceImpl.java
index cdf977c..064314a 100644
--- a/ym-admin/src/main/java/com/cnbm/admin/service/impl/LoginServiceImpl.java
+++ b/ym-admin/src/main/java/com/cnbm/admin/service/impl/LoginServiceImpl.java
@@ -1,5 +1,6 @@
package com.cnbm.admin.service.impl;
+import com.alibaba.fastjson.JSON;
import com.cnbm.admin.entity.LoginUser;
import com.cnbm.admin.entity.SysLogLoginEntity;
import com.cnbm.admin.enums.LoginOperationEnum;
@@ -9,7 +10,6 @@ import com.cnbm.admin.service.CaptchaService;
import com.cnbm.admin.service.SysLogLoginService;
import com.cnbm.admin.utils.JwtUtil;
import com.cnbm.admin.service.LoginService;
-import com.cnbm.admin.utils.ResponseResult;
import com.cnbm.common.exception.ErrorCode;
import com.cnbm.common.utils.IpUtils;
import com.cnbm.common.utils.Result;
@@ -22,8 +22,11 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -81,6 +84,11 @@ public class LoginServiceImpl implements LoginService {
map.put("token",jwt);
//把完整的用户信息存入redis userid作为key
redisTemplate.opsForValue().set("login:"+userid,loginUser,1, TimeUnit.DAYS);
+
+ //当前登录用户信息存入session中
+ HttpSession session = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest().getSession();
+ session.setAttribute(loginUser.HTTP_HEADER_NAME, JSON.toJSONString(loginUser));
+
//登录成功
log.setStatus(LoginStatusEnum.SUCCESS.value());
log.setCreator(loginUser.getSysUserEntity().getId());
diff --git a/ym-packing/src/main/java/com/cnbm/packing/controller/WoPackagingBoxSubstrateController.java b/ym-packing/src/main/java/com/cnbm/packing/controller/WoPackagingBoxSubstrateController.java
index fd5aebb..add9f87 100644
--- a/ym-packing/src/main/java/com/cnbm/packing/controller/WoPackagingBoxSubstrateController.java
+++ b/ym-packing/src/main/java/com/cnbm/packing/controller/WoPackagingBoxSubstrateController.java
@@ -210,9 +210,9 @@ public class WoPackagingBoxSubstrateController {
@PostMapping("insertSubstrateManual")
@ApiOperation("手动装箱")
@LogOperation("手动装箱")
- public Result insertSubstrateManual(@RequestBody ChangePackingBoxDTO dto){
+ public Result insertSubstrateManual(@RequestBody ChangePackingBoxDTO[] dtos){
- woPackagingBoxSubstrateService.insertSubstrateManual(dto);
+ woPackagingBoxSubstrateService.insertSubstrateManual(dtos);
return new Result();
}
diff --git a/ym-packing/src/main/java/com/cnbm/packing/service/WoPackagingBoxSubstrateServiceBiz.java b/ym-packing/src/main/java/com/cnbm/packing/service/WoPackagingBoxSubstrateServiceBiz.java
index a09c92b..bea2ab2 100644
--- a/ym-packing/src/main/java/com/cnbm/packing/service/WoPackagingBoxSubstrateServiceBiz.java
+++ b/ym-packing/src/main/java/com/cnbm/packing/service/WoPackagingBoxSubstrateServiceBiz.java
@@ -32,7 +32,7 @@ public interface WoPackagingBoxSubstrateServiceBiz extends CrudService implements ChangePackagingBoxHistoryServiceBiz {
+// @Autowired
+// private BaseSupport baseSupport;
+
@Override
public QueryWrapper getWrapper(Map params){
LocalDateTime startTime = (LocalDateTime) params.get("startTime");
@@ -65,6 +72,7 @@ public class ChangePackagingBoxHistoryServiceBizImpl extends CrudServiceImpl getWrapper(Map params){
@@ -69,6 +73,7 @@ public class PrintModelServiceBizImpl extends CrudServiceImpl getWrapper(Map params){
@@ -66,6 +70,7 @@ public class WoCompensationPowerServiceBizImpl extends CrudServiceImpl getWrapper(Map params){
@@ -82,6 +87,7 @@ public class WoPackagingBoxServiceBizImpl extends CrudServiceImpl getWrapper(Map params){
@@ -75,6 +79,7 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl wrapper = new UpdateWrapper<>();
@@ -126,10 +133,12 @@ public class WoPackagingBoxSubstrateServiceBizImpl extends CrudServiceImpl wrapper = new QueryWrapper<>();
- wrapper.eq(StringUtils.isNotBlank(dto.getWoSubstrateId()),WoPackagingBoxSubstrate.WO_SUBSTRATE_ID,dto.getWoSubstrateId());
- if(mapper.selectCount(wrapper)>0 && StringUtils.isNotBlank(dto.getWoSubstrateId())) {
- WoPackagingBoxSubstrate substrate = mapper.selectList(wrapper).get(0);
- substrate.setPackagingBoxId(dto.getPackagingBoxId());
- updateById(substrate);
- }
- else{
- //模组ID有时为空,用户会输入”无码“
- if(dto.getWoSubstrateId()==null) {
- dto.setWoSubstrateId("无码");
+ public void insertSubstrateManual(ChangePackingBoxDTO[] dtos) {
+ for(ChangePackingBoxDTO dto : dtos) {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq(StringUtils.isNotBlank(dto.getWoSubstrateId()), WoPackagingBoxSubstrate.WO_SUBSTRATE_ID, dto.getWoSubstrateId());
+ if (mapper.selectCount(wrapper) > 0 && StringUtils.isNotBlank(dto.getWoSubstrateId())) {
+ WoPackagingBoxSubstrate substrate = mapper.selectList(wrapper).get(0);
+ substrate.setPackagingBoxId(dto.getPackagingBoxId());
+ BaseSupportUtils.setUpdateCommonField(substrate);
+ updateById(substrate);
+ } else {
+ //模组ID有时为空,用户会输入”无码“
+ if (dto.getWoSubstrateId() == null) {
+ dto.setWoSubstrateId("无码");
+ }
+ //效验数据
+ ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
+ WoPackagingBoxSubstrate entity = ConvertUtils.sourceToTarget(dto, WoPackagingBoxSubstrate.class);
+ BaseSupportUtils.setCommonField(entity);
+ insert(entity);
}
- //效验数据
- ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
- WoPackagingBoxSubstrate entity = ConvertUtils.sourceToTarget(dto, WoPackagingBoxSubstrate.class);
- insert(entity);
}
}
diff --git a/ym-packing/src/main/java/com/cnbm/packing/service/impl/WoPackagingPrintHistoryServiceBizImpl.java b/ym-packing/src/main/java/com/cnbm/packing/service/impl/WoPackagingPrintHistoryServiceBizImpl.java
index 704a680..bb2331f 100644
--- a/ym-packing/src/main/java/com/cnbm/packing/service/impl/WoPackagingPrintHistoryServiceBizImpl.java
+++ b/ym-packing/src/main/java/com/cnbm/packing/service/impl/WoPackagingPrintHistoryServiceBizImpl.java
@@ -3,7 +3,9 @@ package com.cnbm.packing.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.cnbm.admin.base.BaseSupport;
import com.cnbm.admin.enums.WhetherEnum;
+import com.cnbm.admin.utils.BaseSupportUtils;
import com.cnbm.common.page.PageData;
import com.cnbm.common.service.impl.CrudServiceImpl;
import com.cnbm.common.utils.ConvertUtils;
@@ -42,6 +44,8 @@ public class WoPackagingPrintHistoryServiceBizImpl extends CrudServiceImpl getWrapper(Map params){
@@ -64,6 +68,7 @@ public class WoPowerLevelServiceBizImpl extends CrudServiceImpl