From b303ab26c0e8638f3c5d7c14e77251017aa2b31e Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Mon, 30 Dec 2024 12:36:38 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B6=85=E5=B8=82?= =?UTF-8?q?=E5=95=86=E5=93=81=E6=96=B0=E5=A2=9E=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/CanteenSpuUpdateStockReqDTO.java | 47 ++++++++++++++++++ .../controller/CanteenSpuController.java | 8 +++ .../canteen/service/CanteenSpuService.java | 8 +++ .../service/impl/CanteenSpuServiceImpl.java | 23 +++++++++ pjcloud-gateway/pjcloud.lnk | Bin 0 -> 919 bytes .../entity/SupermarketSpuEntity.java | 2 + 6 files changed, 88 insertions(+) create mode 100644 pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/CanteenSpuUpdateStockReqDTO.java create mode 100644 pjcloud-gateway/pjcloud.lnk diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/CanteenSpuUpdateStockReqDTO.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/CanteenSpuUpdateStockReqDTO.java new file mode 100644 index 000000000..328dafaf9 --- /dev/null +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/CanteenSpuUpdateStockReqDTO.java @@ -0,0 +1,47 @@ +package com.bsd.pjcloud.canteen.dto; + +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +/** + * 商品 SKU 更新库存 Request DTO + * + * @author LeeYan9 + * @since 2022-08-26 + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class CanteenSpuUpdateStockReqDTO { + + /** + * 商品 SKU + */ + @NotNull(message = "商品 SPU 不能为空") + private List items; + + @Data + public static class Item { + + /** + * 商品 SKU 编号 + */ + @NotNull(message = "商品 SPU 编号不能为空") + private Long id; + + /** + * 库存变化数量 + * + * 正数:增加库存 + * 负数:扣减库存 + */ + @NotNull(message = "库存变化数量不能为空") + private Integer incrCount; + + } + +} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java index bc5d3e64b..6cdf1d290 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java @@ -7,6 +7,7 @@ import com.alibaba.excel.util.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; import com.bsd.pjcloud.canteen.entity.CanteenDailyMenuEntity; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; @@ -126,4 +127,11 @@ public class CanteenSpuController { + + @PostMapping("/updateSkuStock") + @SysLog("更新库存") + public R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO){ + + return canteenSpuService.updateSkuStock(updateStockReqDTO); + } } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenSpuService.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenSpuService.java index 8d6239111..76ac58583 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenSpuService.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenSpuService.java @@ -2,8 +2,10 @@ package com.bsd.pjcloud.canteen.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; import com.bsd.pjcloud.canteen.dto.DailyMenuAll; import com.bsd.pjcloud.canteen.entity.CanteenSpuEntity; +import com.bsd.pjcloud.common.core.util.R; import java.util.List; @@ -18,4 +20,10 @@ public interface CanteenSpuService extends IService { Object selectFoodList(LambdaQueryWrapper wrapper); + /** + * 更新库存 + * @param updateStockReqDTO + * @return + */ + R updateSkuStock(CanteenSpuUpdateStockReqDTO updateStockReqDTO); } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java index 5608e9a82..23e33f92d 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenSpuServiceImpl.java @@ -2,10 +2,12 @@ package com.bsd.pjcloud.canteen.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.canteen.dto.CanteenSpuUpdateStockReqDTO; import com.bsd.pjcloud.canteen.dto.DailyMenuAll; import com.bsd.pjcloud.canteen.entity.CanteenSpuEntity; import com.bsd.pjcloud.canteen.mapper.CanteenSpuMapper; import com.bsd.pjcloud.canteen.service.CanteenSpuService; +import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.collections4.CollectionUtils; @@ -26,5 +28,26 @@ public class CanteenSpuServiceImpl extends ServiceImpl { +// int i = onlineFoodSpuMapper.updateStock(item.getId(), item.getIncrCount()); +// if (item.getIncrCount() < 0) { +// if (i == 0) { +// R.failed("商品库存不足"); +// } +// } +// }); +// +// // 更新 SPU 库存 +// List skus = onlineFoodSkuMapper.selectBatchIds( +// convertSet(updateStockReqDTO.getItems(), OnlineFoodSkuUpdateStockReqDTO.Item::getId)); +// Map spuStockIncrCounts = FoodSkuConvert.INSTANCE.convertSpuStockMap( +// updateStockReqDTO.getItems(), skus); +// onlineFoodSpuService.updateSpuStock(spuStockIncrCounts); + return null; + } + } \ No newline at end of file diff --git a/pjcloud-gateway/pjcloud.lnk b/pjcloud-gateway/pjcloud.lnk new file mode 100644 index 0000000000000000000000000000000000000000..a64a24afe9748f8f99f1596e378bc0c9502aad6f GIT binary patch literal 919 zcmeZaU|?VrVFHp23jRpjN#7|x{JeaGitM(V)+nwn-MGt zlxKvfhm-1zA`J2Y5Bx7Eyt2v^SagGfLEFG!t|WuLvsDaS5rPrLUo@lFudQ#7S0tkD{_L19#GYd|Lj1L6`>i-Vq7N2P|lFgP{feUkPM_# z7=YRtBp5uPCig~`CJ8VUWHB(9LCtK7?A4tW*$*}|{xm00wGf(_57%8_C}03;0m_6y z&6ylI-5F#~a!!6}3WEdGtky_;AO-;!AQl8-W+48)bEgt05*UDi2Me2+f-E3{xPpO+K@SKMfGU8>7es)R z0zr9Zo^DyTg?UbyQHe>e5ktaSll7aY+B@(5+HiQ`r#o9#URtgbdicHI>W5qOX1-&2 zMM%CF=tf{LEeHgfZ5SL7{MKOaEoX*K_vJq>2rns4Q!)jLgS^Ec55yq1gThXML4(1W z!HOXUBX%@FO2ME3NP-MB_^7)5y}Oja(vM6DJ@a0#Q3Q%}fmDDDuxfY$2J&Np7-avltYi(_sh0$| zUSl}me^cUuBT!rph{5)Y18M9Yi2=I{LL$2kq?3Wc5{N;DZxqXQS=(FSvE0K!Z;5S1 ik1S9;1EjzMh~KsR@mlk?!fU0_{1vySZN3K*hXDXi)ymue literal 0 HcmV?d00001 diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketSpuEntity.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketSpuEntity.java index d4f17e98b..558ee43f2 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketSpuEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketSpuEntity.java @@ -310,9 +310,11 @@ public class SupermarketSpuEntity extends Model { private Long tenantId; @Schema(description = "辅助条码集合对象") + @TableField(exist = false) private List supermarketAuxiliaryCodeEntityList; @Schema(description = "包装对象集合对象") + @TableField(exist = false) private List supermarketUnitEntityList; } \ No newline at end of file From b0d8eb8694d135d3d0e56badf95fbcc0fc88c4b1 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Mon, 30 Dec 2024 14:00:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?ad=E8=8F=9C=E5=93=81=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E5=BA=93=E5=AD=98=E6=89=A3=E5=87=8F?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canteen/vo/ADCanteenDailyMenuListVO.java | 42 +++++++++++++++++++ .../CanteenDailyMenuController.java | 10 +++++ .../controller/CanteenSpuController.java | 8 ++-- .../mapper/CanteenDailyMenuMapper.java | 11 +++++ .../canteen/mapper/CanteenSpuMapper.java | 27 ++++++++++-- .../service/CanteenDailyMenuService.java | 10 +++++ .../canteen/service/CanteenSpuService.java | 1 + .../impl/CanteenDailyMenuServiceImpl.java | 7 ++++ .../service/impl/CanteenSpuServiceImpl.java | 35 +++++++++------- .../mapper/CanteenDailyMenuMapper.xml | 38 +++++++++++++++++ 10 files changed, 167 insertions(+), 22 deletions(-) create mode 100644 pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/ADCanteenDailyMenuListVO.java diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/ADCanteenDailyMenuListVO.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/ADCanteenDailyMenuListVO.java new file mode 100644 index 000000000..c428ad969 --- /dev/null +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/ADCanteenDailyMenuListVO.java @@ -0,0 +1,42 @@ +package com.bsd.pjcloud.canteen.vo; + +import lombok.Data; + +@Data +public class ADCanteenDailyMenuListVO { + /** + * 每日菜品id + */ + private Long id; + + /** + * spuid + */ + private Long spuId; + + /** + * 菜品名称 + */ + private String name; + /** + * 商品价格,单位使用:分 + */ + private Integer price; + /** + * 菜品分类编号 + */ + private Long categoryId; + /** + * 菜品封面图 + */ + private String picUrl; + /** + * 库存 + */ + private Integer stock; + + /** + * 时间类型 + */ + private Integer hourType; +} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenDailyMenuController.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenDailyMenuController.java index 78f3ad657..0ed91fb9d 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenDailyMenuController.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenDailyMenuController.java @@ -171,4 +171,14 @@ public class CanteenDailyMenuController { } +// ---------APP------------ + @GetMapping("/ad/getCanteenList") + @SysLog("查询每日菜品列表") + public R getCanteenList(@RequestParam("day") String day, + @RequestParam(value = "hourType", required = false) Integer hourType, + @RequestParam(value = "categoryId", required = false) Long categoryId) { + + return R.ok(canteenDailyMenuService.getCanteenMenuList(day,hourType,categoryId)); + } + } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java index 6cdf1d290..4919cb4ac 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/CanteenSpuController.java @@ -128,10 +128,12 @@ public class CanteenSpuController { - @PostMapping("/updateSkuStock") - @SysLog("更新库存") - public R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO){ +// --------------APP----------------- + + @PostMapping("/ad/updateSkuStock") + @SysLog("更新菜品库存") + public R updateSkuStock(@RequestBody CanteenSpuUpdateStockReqDTO updateStockReqDTO){ return canteenSpuService.updateSkuStock(updateStockReqDTO); } } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java index 52be9acaa..db089491e 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenDailyMenuMapper.java @@ -15,4 +15,15 @@ public interface CanteenDailyMenuMapper extends PjcloudBaseMapper selectTimeFood(@Param("time") String time,@Param("merchantId") Long merchantId, @Param("categoryId") Long categoryId, DataScope dataScope); + + + /** + * ad查询菜品列表 + * @param day + * @param hourType + * @param categoryId + * @return + */ + Object getCanteenMenuList(@Param("day") String day,@Param("hourType") Integer hourType, + @Param("categoryId") Long categoryId,DataScope dataScope); } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenSpuMapper.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenSpuMapper.java index d46219ba0..2449b7b3c 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenSpuMapper.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/mapper/CanteenSpuMapper.java @@ -1,5 +1,6 @@ package com.bsd.pjcloud.canteen.mapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.bsd.pjcloud.canteen.dto.DailyMenuAll; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; @@ -12,7 +13,27 @@ import java.util.List; public interface CanteenSpuMapper extends PjcloudBaseMapper { - - - + /** + * 更新商品 SPU 库存 + * + * @param id 商品 SPU 编号 + * @param incrCount 增加的库存数量 + */ + default int updateStock(Long id, Integer incrCount) { + // 拼接 SQL + if (incrCount == 0) { + return 0; + } + String sql; + if (incrCount > 0) { + sql = " stock = stock + " + incrCount + ", sales_count = sales_count - " + incrCount; + } else { + sql = " stock = stock - " + Math.abs(incrCount) + ", sales_count = sales_count + " + Math.abs(incrCount); + } + // 执行更新 + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper() + .setSql(sql) + .eq(CanteenSpuEntity::getId, id); + return update(null, updateWrapper); + } } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenDailyMenuService.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenDailyMenuService.java index 7c498753e..d3596762a 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenDailyMenuService.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/CanteenDailyMenuService.java @@ -28,4 +28,14 @@ public interface CanteenDailyMenuService extends IService { * @return */ R updateSkuStock(CanteenSpuUpdateStockReqDTO updateStockReqDTO); + } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java index 05d9a40a8..d758ee9bb 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/CanteenDailyMenuServiceImpl.java @@ -88,4 +88,11 @@ public class CanteenDailyMenuServiceImpl extends ServiceImpl implements CanteenSpuService { + + private final CanteenDailyMenuService coupleDailyMenuService; @Override public Object selectFoodList(LambdaQueryWrapper wrapper) { return baseMapper.selectListByScope(wrapper, DataScope.of()); } @Override + @Transactional public R updateSkuStock(CanteenSpuUpdateStockReqDTO updateStockReqDTO) { // 更新 SKU 库存 -// updateStockReqDTO.getItems().forEach(item -> { -// int i = onlineFoodSpuMapper.updateStock(item.getId(), item.getIncrCount()); -// if (item.getIncrCount() < 0) { -// if (i == 0) { -// R.failed("商品库存不足"); -// } -// } -// }); -// -// // 更新 SPU 库存 -// List skus = onlineFoodSkuMapper.selectBatchIds( -// convertSet(updateStockReqDTO.getItems(), OnlineFoodSkuUpdateStockReqDTO.Item::getId)); -// Map spuStockIncrCounts = FoodSkuConvert.INSTANCE.convertSpuStockMap( -// updateStockReqDTO.getItems(), skus); -// onlineFoodSpuService.updateSpuStock(spuStockIncrCounts); - return null; + updateStockReqDTO.getItems().forEach(item -> { + int i = baseMapper.updateStock(item.getId(), item.getIncrCount()); + if (item.getIncrCount() < 0) { + if (i == 0) { + R.failed("商品库存不足"); + } + } + }); + + return R.ok(); } + } \ No newline at end of file diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml index 2040387d7..cba747499 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/resources/mapper/CanteenDailyMenuMapper.xml @@ -17,6 +17,18 @@ + + + + + + + + + + + + + \ No newline at end of file From c429d14af4a996b12e8b48d245477ff8309fafdd Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Mon, 30 Dec 2024 17:06:35 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E7=AB=AF=E8=AE=A4=E8=AF=81=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pjcloud-app-server-biz/pom.xml | 4 +++ ...cloudTocDefaultUserDetailsServiceImpl.java | 26 ++++++++++++++----- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/pjcloud-app-server/pjcloud-app-server-biz/pom.xml b/pjcloud-app-server/pjcloud-app-server-biz/pom.xml index 6788632a8..cfd96feff 100644 --- a/pjcloud-app-server/pjcloud-app-server-biz/pom.xml +++ b/pjcloud-app-server/pjcloud-app-server-biz/pom.xml @@ -13,6 +13,10 @@ pjcloud-app-server-biz + + com.bsd + pjcloud-upms-api + org.springframework.boot diff --git a/pjcloud-common/pjcloud-common-security/src/main/java/com/bsd/pjcloud/common/security/service/PjcloudTocDefaultUserDetailsServiceImpl.java b/pjcloud-common/pjcloud-common-security/src/main/java/com/bsd/pjcloud/common/security/service/PjcloudTocDefaultUserDetailsServiceImpl.java index 30770e223..b93b7fbac 100644 --- a/pjcloud-common/pjcloud-common-security/src/main/java/com/bsd/pjcloud/common/security/service/PjcloudTocDefaultUserDetailsServiceImpl.java +++ b/pjcloud-common/pjcloud-common-security/src/main/java/com/bsd/pjcloud/common/security/service/PjcloudTocDefaultUserDetailsServiceImpl.java @@ -17,6 +17,8 @@ package com.bsd.pjcloud.common.security.service; import cn.hutool.core.util.ArrayUtil; +import com.bsd.pjcloud.admin.api.dto.UserInfo; +import com.bsd.pjcloud.admin.api.feign.RemoteUserService; import com.bsd.pjcloud.app.api.dto.AppUserInfo; import com.bsd.pjcloud.app.api.entity.AppUser; import com.bsd.pjcloud.app.api.feign.RemoteAppUserService; @@ -57,6 +59,8 @@ public class PjcloudTocDefaultUserDetailsServiceImpl implements PjcloudUserDetai private final Optional remoteAppUserServiceOptional; + private final RemoteUserService remoteUserService; + /** * 用户密码登录 * @@ -66,16 +70,26 @@ public class PjcloudTocDefaultUserDetailsServiceImpl implements PjcloudUserDetai @Override @SneakyThrows public UserDetails loadUserByUsername(String username) { - Cache cache = cacheManager.getCache(CacheConstants.USER_DETAILS_MINI); +// Cache cache = cacheManager.getCache(CacheConstants.USER_DETAILS_MINI); +// if (Objects.nonNull(cache) && Objects.nonNull(cache.get(username))) { +// AppUserInfo appUserInfo = cache.get(username, AppUserInfo.class); +// return getUserDetailsAppUser(R.ok(appUserInfo)); +// } +// +// R result = remoteAppUserServiceOptional.get().info(username); +// Optional userInfoOptional = RetOps.of(result).getData(); +// userInfoOptional.ifPresent(userInfo -> Objects.requireNonNull(cache).put(username, userInfo)); +// return getUserDetailsAppUser(result); + + Cache cache = cacheManager.getCache(CacheConstants.USER_DETAILS); if (Objects.nonNull(cache) && Objects.nonNull(cache.get(username))) { - AppUserInfo appUserInfo = cache.get(username, AppUserInfo.class); - return getUserDetailsAppUser(R.ok(appUserInfo)); + return getUserDetails(Optional.ofNullable(cache.get(username, UserInfo.class))); } - R result = remoteAppUserServiceOptional.get().info(username); - Optional userInfoOptional = RetOps.of(result).getData(); + R result = remoteUserService.info(username); + Optional userInfoOptional = RetOps.of(result).getData(); userInfoOptional.ifPresent(userInfo -> Objects.requireNonNull(cache).put(username, userInfo)); - return getUserDetailsAppUser(result); + return getUserDetails(userInfoOptional); } @Override