|
|
|
@ -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 |
|
|
|
|