diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/customize/service/QywxScheduleJob.java b/agileboot-admin/src/main/java/com/agileboot/admin/customize/service/QywxScheduleJob.java index 44bab23..d2f0dc2 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/customize/service/QywxScheduleJob.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/customize/service/QywxScheduleJob.java @@ -498,8 +498,12 @@ public class QywxScheduleJob { localUser.setGender(String.valueOf(wxUser.getGender())); localUser.setEmail(wxUser.getEmail()); localUser.setBizMail(wxUser.getBiz_mail()); - localUser.setDirectLeader(StringUtils.join(wxUser.getDirect_leader(), ",")); - localUser.setIsLeaderInDept(StringUtils.join(wxUser.getIs_leader_in_dept(), ",")); + if (wxUser.getDirect_leader()!= null && !wxUser.getDirect_leader().isEmpty()) { + localUser.setDirectLeader(wxUser.getDirect_leader().get(0)); + } + if (wxUser.getIs_leader_in_dept()!= null &&!wxUser.getIs_leader_in_dept().isEmpty()) { + localUser.setIsLeaderInDept(String.valueOf(wxUser.getIs_leader_in_dept().get(0))); + } localUser.setTelephone(wxUser.getTelephone()); localUser.setAlias(wxUser.getAlias()); localUser.setAddress(wxUser.getAddress()); @@ -533,8 +537,12 @@ public class QywxScheduleJob { newUser.setGender(String.valueOf(wxUser.getGender())); newUser.setEmail(wxUser.getEmail()); newUser.setBizMail(wxUser.getBiz_mail()); - newUser.setDirectLeader(StringUtils.join(wxUser.getDirect_leader(), ",")); - newUser.setIsLeaderInDept(StringUtils.join(wxUser.getIs_leader_in_dept(), ",")); + if (wxUser.getDirect_leader()!= null && !wxUser.getDirect_leader().isEmpty()) { + newUser.setDirectLeader(wxUser.getDirect_leader().get(0)); + } + if (wxUser.getIs_leader_in_dept()!= null &&!wxUser.getIs_leader_in_dept().isEmpty()) { + newUser.setIsLeaderInDept(String.valueOf(wxUser.getIs_leader_in_dept().get(0))); + } newUser.setTelephone(wxUser.getTelephone()); newUser.setAlias(wxUser.getAlias()); newUser.setAddress(wxUser.getAddress()); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/ShopApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/ShopApplicationService.java index 9149a27..d911b9c 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/ShopApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/ShopApplicationService.java @@ -25,7 +25,7 @@ public class ShopApplicationService { private final ShopModelFactory shopModelFactory; public PageDTO getShopList(SearchShopQuery query) { - Page page = shopService.page(query.toPage(), query.toQueryWrapper()); + Page page = shopService.getShopList(query.toPage(), query.toQueryWrapper()); List dtoList = page.getRecords().stream() .map(ShopDTO::new) .collect(Collectors.toList()); diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/db/ShopEntity.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/db/ShopEntity.java index d620c92..f9354c9 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/db/ShopEntity.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/db/ShopEntity.java @@ -55,6 +55,10 @@ public class ShopEntity extends BaseEntity { @TableField("cover_img") private String coverImg; + @ApiModelProperty("关联的智能柜数量") + @TableField(exist = false) + private Integer cabinetCount; + @Override public Serializable pkVal() { return this.shopId; diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/db/ShopMapper.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/db/ShopMapper.java index eb7ab48..380eded 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/db/ShopMapper.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/db/ShopMapper.java @@ -18,8 +18,9 @@ import java.util.List; * @since 2025-05-09 */ public interface ShopMapper extends BaseMapper { - @Select("SELECT * " + - "FROM shop " + + @Select("SELECT s.*, COUNT(sc.cabinet_id) AS cabinetCount " + + "FROM shop s " + + "LEFT JOIN smart_cabinet sc ON sc.shop_id = s.shop_id AND sc.deleted = 0 " + "${ew.customSqlSegment}") Page getShopList( Page page, diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/dto/ShopDTO.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/dto/ShopDTO.java index 6e06ec3..cf7c112 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/dto/ShopDTO.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/dto/ShopDTO.java @@ -40,4 +40,7 @@ public class ShopDTO { @ExcelColumn(name = "封面图URL") private String coverImg; + + @ExcelColumn(name = "智能柜数量") + private Integer cabinetCount; } \ No newline at end of file diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/query/SearchShopQuery.java b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/query/SearchShopQuery.java index e7b22e3..194688c 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/query/SearchShopQuery.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/shop/shop/query/SearchShopQuery.java @@ -25,13 +25,14 @@ public class SearchShopQuery extends AbstractPageQuery { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper - .like(StrUtil.isNotEmpty(shopName), "shop_name", shopName) - .eq(StrUtil.isNotEmpty(enable), "enable", enable) - .eq(StrUtil.isNotEmpty(corpid), "corpid", corpid) - .eq(belongType != null, "belong_type", belongType) - .eq(mode != null, "mode", mode) - .eq(balanceEnable != null, "balance_enable", balanceEnable) - .between(startTime != null && endTime != null, "create_time", startTime, endTime); + .like(StrUtil.isNotEmpty(shopName), "s.shop_name", shopName) + .eq(StrUtil.isNotEmpty(enable), "s.enable", enable) + .eq(StrUtil.isNotEmpty(corpid), "s.corpid", corpid) + .eq(belongType != null, "s.belong_type", belongType) + .eq(mode != null, "s.mode", mode) + .eq(balanceEnable != null, "s.balance_enable", balanceEnable) + .between(startTime != null && endTime != null, "s.create_time", startTime, endTime) + .groupBy("s.shop_id"); this.timeRangeColumn = "create_time";