Browse Source

修改切换仓库后的保存方式,采用json对象的进行保存

training
pref_mail@163.com 2 years ago
parent
commit
b50e3486a5
  1. 51
      blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java
  2. 40
      blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java
  3. 0
      blade-service/logpm-distribution/src/test/java/com/logpm/distribution/launch/DistributionLauncherServiceImpl.java
  4. 3
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java
  5. 7
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

51
blade-biz-common/src/main/java/org/springblade/common/cache/CacheNames.java vendored

@ -23,6 +23,55 @@ package org.springblade.common.cache;
*/
public interface CacheNames {
String NOTICE_ONE = "blade:notice:one";
/**
* 返回拼接后的key
*
* @param cacheKey 缓存key
* @param cacheKeyValue 缓存key值
* @return tenantKey
*/
static String cacheKey(String cacheKey, String cacheKeyValue) {
return cacheKey.concat(cacheKeyValue);
}
/**
* 返回租户格式的key
*
* @param tenantId 租户编号
* @param cacheKey 缓存key
* @param cacheKeyValue 缓存key值
* @return tenantKey
*/
static String tenantKey(String tenantId, String cacheKey, String cacheKeyValue) {
return tenantId.concat(":").concat(cacheKey).concat(cacheKeyValue);
}
/**
* 返回租户格式的key
*
* @param tenantId 租户编号
* @param cacheKey 缓存key
* @param cacheKeyValue 缓存key值
* @return tenantKey
*/
static String tenantKeyObj(String tenantId, String cacheKey, Object cacheKeyValue) {
return tenantId.concat(":").concat(cacheKey).concat(cacheKeyValue.toString());
}
/**
* 验证码key
*/
String CAPTCHA_KEY = "blade:auth::blade:captcha:";
/**
* 登录失败key
*/
String USER_FAIL_KEY = "blade:user::blade:fail:";
/**
* 用户选择仓库的key
*/
String USER_WAREHOUSE_KEY = "logpm:user:warehouse:select:";
}

40
blade-service/logpm-basicdata/src/main/java/com/logpm/basicdata/service/impl/BasicdataWarehouseServiceImpl.java

@ -16,6 +16,8 @@
*/
package com.logpm.basicdata.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.shaded.com.google.gson.JsonObject;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -32,17 +34,21 @@ import com.logpm.basicdata.vo.BasicdataWarehouseVO;
import com.logpm.basicdata.wrapper.BasicdataWarehouseWrapper;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springblade.common.cache.CacheNames;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.redis.cache.BladeRedis;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.StringUtil;
import org.springblade.system.entity.Dept;
import org.springblade.system.feign.IDeptClient;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
@ -97,7 +103,7 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
@Override
public List<BasicdataWarehouseEntity> getWarehouseList() {
List<BasicdataWarehouseEntity> myWatchWarehouse = basicdataWarehouseService.getMyWatchWarehouse();
if (myWatchWarehouse.size()>0){
if (myWatchWarehouse.size() > 0) {
return myWatchWarehouse;
}
List<BasicdataWarehouseEntity> basicdataGoodsShelfVOList = warehouseMapper.getWarehouseList();
@ -174,7 +180,6 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
//查询出部门表
String deptId = user.getDeptId();
List<Dept> userDeptNode = deptClient.getUserDeptNode(Long.parseLong(deptId));
StringBuffer depts = new StringBuffer();
List<Long> deptIds = new ArrayList<>();
@ -191,19 +196,17 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
}
@Override
public R<?> preserveCurrentMyWarehouse(BasicdataWarehouseEntity warehouseEntity) {
// 2、存放用户选择的仓库id
// key 租户Id + 用户id
BladeUser user = AuthUtil.getUser();
String str = user.getTenantId() +"--"+ user.getUserId();
redis.set(str,warehouseEntity);
String json = JSONObject.toJSONString(warehouseEntity);
log.info("设置选中仓库 {}", json);
redis.setEx(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()), json, 30 * 24 * 60 * 60L);
return R.status(true);
}
// 3、Feign 获取用户选择的仓库
// 这里考虑两种情况
// 1、用户只有一个仓库信息,直接返回
@ -211,16 +214,19 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
@Override
public BasicdataWarehouseEntity getMyCurrentWarehouse() {
BladeUser user = AuthUtil.getUser();
String str = user.getTenantId()+"--" + user.getUserId();
BasicdataWarehouseEntity o = redis.get(str);
String json = redis.get(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()));
if(StringUtil.isBlank(json)){
return null;
}
BasicdataWarehouseEntity o = JSONObject.parseObject(json,BasicdataWarehouseEntity.class);
return o;
}
@Override
public BasicdataWarehouseEntity getWarehouseEntityByWarehouseCode(String warehouseCode) {
QueryWrapper<BasicdataWarehouseEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("warehouse_code",warehouseCode)
.eq("is_deleted",0);
queryWrapper.eq("warehouse_code", warehouseCode)
.eq("is_deleted", 0);
return baseMapper.selectOne(queryWrapper);
}
@ -230,9 +236,9 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
//获取当前登录人仓库
List<BasicdataWarehouseEntity> myWarehouseList = new ArrayList<>();
BasicdataWarehouseEntity myCurrentWarehouse = this.getMyCurrentWarehouse();
if (Objects.isNull(myCurrentWarehouse)){
if (Objects.isNull(myCurrentWarehouse)) {
myWarehouseList = this.getMyWarehouseList();
}else {
} else {
myWarehouseList.add(myCurrentWarehouse);
}
return myWarehouseList;
@ -241,10 +247,10 @@ public class BasicdataWarehouseServiceImpl extends BaseServiceImpl<BasicdataWare
@Override
public R clearWarehouseCache() {
BladeUser user = AuthUtil.getUser();
String str = user.getTenantId() +"--"+ user.getUserId();
Long del = redis.del(redis.keys(str));
log.info("key>>>>>>>str>>>>>>{}",str);
return del>0?R.success("成功"):R.fail("失败");
boolean del = redis.del(CacheNames.tenantKeyObj(user.getTenantId(), CacheNames.USER_WAREHOUSE_KEY, user.getUserId()));
return del ? R.success("成功") : R.fail("失败");
}
@Override

0
blade-service/logpm-distribution/src/test/com/logpm/distribution/launch/DistributionLauncherServiceImpl.java → blade-service/logpm-distribution/src/test/java/com/logpm/distribution/launch/DistributionLauncherServiceImpl.java

3
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseWaybillService.java

@ -1,5 +1,6 @@
package com.logpm.warehouse.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.logpm.distribution.entity.DistributionStockArticleEntity;
import com.logpm.warehouse.dto.SplitOrderDTO;
@ -33,4 +34,6 @@ public interface IWarehouseWaybillService extends BaseService<WarehouseWaybillEn
void splitOrder(List<SplitOrderDTO> splitOrderDTOList, DistributionStockArticleEntity distributionStockArticleEntity);
IPage<WarehouseWaybillEntity> selectPage(IPage<WarehouseWaybillEntity> page, QueryWrapper<WarehouseWaybillEntity> queryWrapper);
}

7
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseWaybillServiceImpl.java

@ -449,4 +449,11 @@ public class WarehouseWaybillServiceImpl extends BaseServiceImpl<WarehouseWaybil
return warehouseWaybill;
}
@Override
public IPage<WarehouseWaybillEntity> selectPage(IPage<WarehouseWaybillEntity> page, QueryWrapper<WarehouseWaybillEntity> queryWrapper) {
return this.page(page,queryWrapper);
}
}

Loading…
Cancel
Save