From 533c9a4e44b06c90df7434a38e0da26e10cdac46 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期四, 12 三月 2026 17:24:40 +0800
Subject: [PATCH] 质押还款提醒文案调整
---
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotService.java | 233 ++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 162 insertions(+), 71 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotService.java
index 36fbb15..1eb635b 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DepotService.java
@@ -1,17 +1,21 @@
package com.fzzy.igds.service;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.fzzy.igds.constant.RedisConst;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.DepotStore;
-import com.fzzy.igds.repository.DepotRepository;
+import com.fzzy.igds.mapper.DepotMapper;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.system.mapper.SysDeptMapper;
import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.stereotype.Service;
+
import javax.annotation.Resource;
import java.util.*;
+import java.util.concurrent.TimeUnit;
/**
* @Description
@@ -23,41 +27,57 @@
public class DepotService {
@Resource
- private DepotRepository depotRepository;
+ private DepotMapper depotMapper;
@Resource
private RedisCache redisCache;
+ @Resource
+ private DepotStoreService depotStoreService;
/**
- * jpa鏌ヨ浠撳簱鍒楄〃
+ * 鏌ヨ搴撳尯涓嬩粨搴撳垪琛�
+ *
* @param companyId
* @param deptId
+ * @param idDesc 鏄惁ID鍊掑簭鎺掑垪
* @return
*/
- public List<Depot> getData(String companyId, String deptId) {
-
+ public List<Depot> getData(String companyId, String deptId, boolean idDesc) {
if (StringUtils.isEmpty(companyId)) {
companyId = ContextUtil.getCompanyId();
}
- if (StringUtils.isEmpty(deptId)) {
- deptId = ContextUtil.subDeptId(null);
+
+ QueryWrapper<Depot> queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("company_id", companyId);
+ if (StringUtils.isNotBlank(deptId)) {
+ queryWrapper.likeRight("dept_id", deptId);
}
- return depotRepository.getDepot(companyId, deptId);
+
+ if (idDesc) {
+ //ID鍊掑簭
+ queryWrapper.orderByDesc("id");
+ } else {
+ //搴忓彿姝e簭
+ queryWrapper.orderByAsc("order_num");
+ }
+
+ return depotMapper.selectList(queryWrapper);
}
/**
- * jpa鏌ヨ浠撳簱鍒楄〃
- * @param ids
- * @return
+ * 鏍规嵁搴撳瓨琛ㄤ俊鎭紝鏇存柊浠撳簱搴撳瓨
+ *
+ * @param data
*/
- public List<Depot> getDepotByIds(List<String> ids) {
- if (null == ids ||ids.isEmpty()) {
- return null;
- }
- return depotRepository.getDepotByIds(ids);
+ public void updateByDepotStore(DepotStore data) {
+ UpdateWrapper<Depot> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("id", data.getDepotId()).set("storage_real", data.getStorageReal());
+
+ depotMapper.update(null, updateWrapper);
}
/**
- * jpa淇濆瓨鏇存柊浠撳簱淇℃伅
+ * 淇濆瓨鏇存柊浠撳簱淇℃伅
+ *
* @param depot
*/
public void saveDepot(Depot depot) {
@@ -67,38 +87,86 @@
if (StringUtils.isEmpty(depot.getDeptId())) {
depot.setDeptId(ContextUtil.subDeptId(null));
}
+ //榛樿椤哄簭鍙�
+ if (null == depot.getOrderNum()) {
+ depot.setOrderNum(1);
+ }
//涓婚敭ID
if (StringUtils.isEmpty(depot.getId())) {
depot.setId(getStrId(depot.getDeptId()));
depot.setCreateBy(ContextUtil.getLoginUserName());
depot.setCreateTime(new Date());
+ depotMapper.insert(depot);
+ } else {
+ depot.setUpdateBy(ContextUtil.getLoginUserName());
+ depot.setUpdateTime(new Date());
+ depotMapper.updateById(depot);
}
- //榛樿椤哄簭鍙�
- if(null == depot.getOrderNum()){
- depot.setOrderNum(1);
- }
+ flushCache(depot.getCompanyId());
+ }
+
+ /**
+ * 鏇存柊搴撳瓨淇℃伅
+ *
+ * @param depot
+ */
+ public void updateStorageReal(Depot depot) {
+
+ Depot cacheDepot = this.getCacheDepot(depot.getCompanyId(), depot.getId());
+
depot.setUpdateBy(ContextUtil.getLoginUserName());
depot.setUpdateTime(new Date());
- depotRepository.save(depot);
+ depot.setRemark("銆�" + ContextUtil.getLoginUserName() + "銆戜簬[" + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss") + "]淇敼搴撳瓨锛�" + cacheDepot.getStorageReal() + "-->" + depot.getStorageReal());
+ depotMapper.updateById(depot);
+
+ DepotStore lastData = new DepotStore();
+
+ //涓婚敭ID瑙勫垯锛歽yyyMMddHHmm_浠撳簱缂栫爜
+ lastData.setId(DateFormatUtils.format(new Date(), "yyyyMMddHHmm") + "_" + depot.getId() + "_HAND");
+ lastData.setCompanyId(depot.getCompanyId());
+ lastData.setDeptId(depot.getDeptId());
+ lastData.setDepotId(depot.getId());
+ lastData.setStorageReal(0.0);
+ lastData.setUpdateTime(new Date());
+ lastData.setUpdateBy("绯荤粺瀹氭椂缁熻");
+
+
+ lastData.setDepotStatus(depot.getDepotStatus());
+ lastData.setFoodVariety(depot.getFoodVariety());
+ lastData.setFoodLevel(depot.getFoodLevel());
+ lastData.setFoodLocation(depot.getFoodLocation());
+ lastData.setFoodLocationId(depot.getFoodLocationId());
+ lastData.setFoodType(depot.getFoodType());
+ lastData.setFoodYear(depot.getFoodYear());
+
+
+ lastData.setStorageReal(depot.getStorageReal());
+ lastData.setCreateTime(new Date()); //璁剧疆涓烘渶鏂版椂闂达紝鍏朵粬绯荤粺鍙互閫氳繃姝ゆ椂闂存煡璇㈡暟鎹槸鍚︽湁鏇存柊淇敼锛屽悓姝ュ埌鐪佸钩鍙版帴鍙c��
+ lastData.setCreateBy(ContextUtil.getLoginUserName());
+ lastData.setRemark("銆�" + ContextUtil.getLoginUserName() + "銆戜簬[" + DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss") + "]淇敼搴撳瓨涓猴細" + depot.getStorageReal());
+
+ depotStoreService.updateAndSave(lastData);
flushCache(depot.getCompanyId());
}
/**
* 鑾峰彇涓婚敭ID
+ *
* @param deptId
* @param deptId
*/
public String getStrId(String deptId) {
- List<Depot> depots = depotRepository.getDepotMaxId(deptId);
+ List<Depot> depots = this.getData(null, deptId, true);
String oldOrderId = null;
- if(null != depots && depots.size() > 0){
+ if (null != depots && depots.size() > 0) {
oldOrderId = depots.get(0).getId().substring(deptId.length());
}
return deptId + ContextUtil.getOrderId(oldOrderId, 3);
}
/**
- * jpa鏇存柊浠撳簱鐘舵��
+ * 鏇存柊浠撳簱鐘舵��
+ *
* @param depotId
* @param status
*/
@@ -106,15 +174,19 @@
if (StringUtils.isEmpty(depotId)) {
return;
}
- depotRepository.updateDepotStatus(status, depotId);
+
+ UpdateWrapper<Depot> updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("id", depotId).set("depot_status", status);
+ depotMapper.update(null, updateWrapper);
}
/**
- * jpa鍒犻櫎浠撳簱璐т綅淇℃伅
+ * 鍒犻櫎浠撳簱璐т綅淇℃伅
+ *
* @param depot
*/
public void deleteDepot(Depot depot) {
- depotRepository.delete(depot);
+ depotMapper.deleteById(depot);
//鍒犻櫎閰嶇疆缂撳瓨
this.delCacheDepot(depot, depot.getCompanyId());
@@ -122,6 +194,7 @@
/**
* 鍒锋柊浠撳簱璐т綅缂撳瓨
+ *
* @param companyId
*/
public void flushCache(String companyId) {
@@ -129,13 +202,14 @@
companyId = ContextUtil.getCompanyId();
}
- List<Depot> list = depotRepository.getDepotByCompanyId(companyId);
+ List<Depot> list = this.getData(companyId, null, false);
this.setCacheDepotList(list, companyId);
}
/**
* 璁剧疆缂撳瓨
+ *
* @param list
* @param companyId
*/
@@ -144,12 +218,13 @@
String key;
for (Depot depot : list) {
key = RedisConst.buildKey(companyId, RedisConst.KEY_DEPOT, depot.getId());
- redisCache.setCacheObject(key, depot);
+ redisCache.setCacheObject(key, depot, 24, TimeUnit.HOURS);
}
}
/**
* 鍒犻櫎缂撳瓨淇℃伅
+ *
* @param depot
* @param companyId
*/
@@ -157,7 +232,7 @@
if (null == depot) {
return;
}
- if(StringUtils.isEmpty(companyId)){
+ if (StringUtils.isEmpty(companyId)) {
companyId = ContextUtil.getCompanyId();
}
String key = RedisConst.buildKey(companyId, RedisConst.KEY_DEPOT, depot.getId());
@@ -166,37 +241,49 @@
/**
* 鑾峰彇缂撳瓨-鏍规嵁缁勭粐缂栫爜鑾峰彇浠撳簱闆嗗悎
+ *
* @param companyId
* @return
*/
public List<Depot> getCacheDepotList(String companyId) {
- if(StringUtils.isEmpty(companyId)){
+ if (StringUtils.isEmpty(companyId)) {
companyId = ContextUtil.getCompanyId();
}
- String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEPOT) + "*";
-
- Collection<String> keys = redisCache.keys(patten);
- if (null == keys) {
- return null;
- }
-
List<Depot> list = new ArrayList<>();
- for (String key : keys) {
- list.add((Depot) redisCache.getCacheObject(key));
+
+ String patten = RedisConst.buildKey(companyId, RedisConst.KEY_DEPOT) + "*";
+ Collection<String> keys = redisCache.keys(patten);
+ if (null != keys) {
+ for (String key : keys) {
+ if(null == redisCache.getCacheObject(key)){
+ list = new ArrayList<>();
+ break;
+ }
+ list.add((Depot) redisCache.getCacheObject(key));
+ }
}
+
//缂撳瓨鑾峰彇涓虹┖锛屽垯鏌ヨ鏁版嵁搴�
- if(list.size() < 1){
- list = depotRepository.getDepotByCompanyId(companyId);
+ if (list.isEmpty()) {
+ list = this.getData(companyId, null, false);
setCacheDepotList(list, companyId);
}
-
- //閲嶆柊鎺掑簭
- Collections.sort(list, (p1, p2) -> p1.getOrderNum() - p2.getOrderNum());
+ if (!list.isEmpty()) {
+ // 妫�鏌ユ槸鍚︽湁浠撳簱鐨勬帓搴忓彿涓虹┖
+ for (Depot depot : list) {
+ if (null == depot.getOrderNum()) {
+ //鎺掑簭鍙蜂负绌猴紝鍒欓粯璁ょ粰1
+ depot.setOrderNum(1);
+ }
+ }
+ Collections.sort(list, (p1, p2) -> p1.getOrderNum() - p2.getOrderNum());
+ }
return list;
}
/**
* 鑾峰彇缂撳瓨-鏍规嵁缁勭粐缂栫爜鍜屽簱鍖虹紪鐮佽幏鍙栦粨搴撻泦鍚�
+ *
* @param companyId
* @param deptId
* @return
@@ -206,7 +293,7 @@
return null;
}
List<Depot> list = getCacheDepotList(companyId);
- if(null == list || list.isEmpty()){
+ if (null == list || list.isEmpty()) {
return null;
}
List<Depot> result = new ArrayList<>();
@@ -215,13 +302,16 @@
result.add(depot);
}
}
- //閲嶆柊鎺掑簭
- Collections.sort(result, (p1, p2) -> p1.getOrderNum() - p2.getOrderNum());
+ if (!result.isEmpty()) {
+ //閲嶆柊鎺掑簭
+ Collections.sort(list, (p1, p2) -> p1.getOrderNum() - p2.getOrderNum());
+ }
return result;
}
/**
* 鑾峰彇浠撳簱淇℃伅-鏍规嵁浠撳簱缂栫爜鑾峰彇缂撳瓨淇℃伅
+ *
* @param companyId
* @param depotId
* @return
@@ -230,40 +320,41 @@
if (StringUtils.isEmpty(depotId)) {
return null;
}
- if(StringUtils.isEmpty(companyId)){
+ if (StringUtils.isEmpty(companyId)) {
companyId = ContextUtil.getCompanyId();
}
String key = RedisConst.buildKey(companyId, RedisConst.KEY_DEPOT, depotId);
Depot depot = redisCache.getCacheObject(key);
- if(null == depot){
- depot = depotRepository.getDepotById(companyId, depotId);
+ if (null == depot) {
+ depot = depotMapper.selectById(depotId);
redisCache.setCacheObject(key, depot);
}
return depot;
}
/**
- * 鏍规嵁搴撳瓨淇℃伅鏇存柊浠撳簱淇℃伅
- * @param data
+ * 鑾峰彇浠撳簱淇℃伅-鏍规嵁浠撳簱鍚嶇О鑾峰彇浠撳簱ID
+ *
+ * @param deptId
+ * @return
*/
- public void updateByStore(DepotStore data) {
-
- Depot depot = this.getCacheDepot(data.getCompanyId(), data.getDepotId());
- if (null == depot) {
- return;
+ public String getDepotId(String deptId, String depotName) {
+ if (StringUtils.isEmpty(deptId)) {
+ return null;
+ }
+ if (StringUtils.isEmpty(depotName)) {
+ return null;
}
- depot.setStorageReal(data.getStorageReal());
- depot.setDepotStatus(data.getDepotStatus());
- depot.setFoodLevel(data.getFoodLevel());
- depot.setFoodLocation(data.getFoodLocation());
- depot.setFoodVariety(data.getFoodVariety());
- depot.setFoodType(data.getFoodType());
- depot.setFoodYear(data.getFoodYear());
- if (null != data.getStoreDate()) {
- depot.setStoreDate(data.getStoreDate());
+ List<Depot> depotList = getCacheDepotList(ContextUtil.getCompanyId(), deptId);
+ if (null == depotList || depotList.isEmpty()) {
+ return null;
}
-
- this.saveDepot(depot);
+ for (Depot depot : depotList) {
+ if (depotName.equals(depot.getName())) {
+ return depot.getId();
+ }
+ }
+ return null;
}
}
--
Gitblit v1.9.3