From 5d2d7b07be6b03908ee4823f8ebc2ae059ef2a91 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 13 Dec 2024 15:18:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E6=88=B7=E4=B8=8B=E6=8B=89=EF=BC=8C?= =?UTF-8?q?=E6=AF=8F=E6=97=A5=E8=8F=9C=E8=B0=B1=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bsd/pjcloud/canteen/dto/DailyMenuAll.java | 1 + .../canteen/{dto => vo}/DailyMenuVO.java | 2 +- .../pjcloud/canteen/vo/MerchantInfoVO.java | 21 ++++++++++++++ .../controller/MerchantInfoController.java | 29 +++++++++++++++++++ .../mapper/CanteenDailyMenuMapper.java | 3 +- .../canteen/service/MerchantInfoService.java | 10 +++++++ .../impl/CanteenDailyMenuServiceImpl.java | 5 +--- .../service/impl/MerchantInfoServiceImpl.java | 26 +++++++++++++++++ .../mapper/CanteenDailyMenuMapper.xml | 2 +- .../core/constant/enums/MerchantTypeEnum.java | 22 ++++++++++++++ 10 files changed, 113 insertions(+), 8 deletions(-) rename pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/{dto => vo}/DailyMenuVO.java (91%) create mode 100644 pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/MerchantInfoVO.java create mode 100644 pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/DailyMenuAll.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/DailyMenuAll.java index 858a0ac49..cdfebdb7e 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/DailyMenuAll.java +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/DailyMenuAll.java @@ -1,5 +1,6 @@ package com.bsd.pjcloud.canteen.dto; +import com.bsd.pjcloud.canteen.vo.DailyMenuVO; import lombok.Data; import java.util.List; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/DailyMenuVO.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/DailyMenuVO.java similarity index 91% rename from pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/DailyMenuVO.java rename to pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/DailyMenuVO.java index 4198149b6..8735b093c 100644 --- a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/dto/DailyMenuVO.java +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/DailyMenuVO.java @@ -1,4 +1,4 @@ -package com.bsd.pjcloud.canteen.dto; +package com.bsd.pjcloud.canteen.vo; import lombok.Data; diff --git a/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/MerchantInfoVO.java b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/MerchantInfoVO.java new file mode 100644 index 000000000..2fd335284 --- /dev/null +++ b/pjcloud-canteen/pjcloud-canteen-api/src/main/java/com/bsd/pjcloud/canteen/vo/MerchantInfoVO.java @@ -0,0 +1,21 @@ +package com.bsd.pjcloud.canteen.vo; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class MerchantInfoVO { + + /** + * 编号 + */ + @Schema(description="编号") + private Long id; + /** + * 商户名 + */ + @Schema(description="商户名") + private String name; +} diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/MerchantInfoController.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/MerchantInfoController.java index 382a40c0a..ee81e3af9 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/MerchantInfoController.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/controller/MerchantInfoController.java @@ -2,11 +2,13 @@ package com.bsd.pjcloud.canteen.controller; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; 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.admin.api.entity.SysDept; import com.bsd.pjcloud.admin.api.feign.RemoteDeptService; +import com.bsd.pjcloud.canteen.vo.MerchantInfoVO; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.canteen.entity.MerchantInfoEntity; @@ -86,6 +88,21 @@ public class MerchantInfoController { @PostMapping @PreAuthorize("@pms.hasPermission('canteen_merchantInfo_add')" ) public R save(@RequestBody MerchantInfoEntity merchantInfo) { + + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(MerchantInfoEntity::getName, merchantInfo.getName()); + boolean isMerchantNameExists = merchantInfoService.exists(wrapper); + + wrapper.clear(); + wrapper.eq(MerchantInfoEntity::getDeptId, merchantInfo.getDeptId()); + boolean isDepartmentAlreadyBound = merchantInfoService.exists(wrapper); + + if (isMerchantNameExists) { + return R.failed("商户名称已存在"); + } + if (isDepartmentAlreadyBound) { + return R.failed("部门已被绑定"); + } return R.ok(merchantInfoService.save(merchantInfo)); } @@ -128,4 +145,16 @@ public class MerchantInfoController { public List export(MerchantInfoEntity merchantInfo,Long[] ids) { return merchantInfoService.list(Wrappers.lambdaQuery(merchantInfo).in(ArrayUtil.isNotEmpty(ids), MerchantInfoEntity::getId, ids)); } + + + /** + * 获得商户下拉框 + * @return + */ + @GetMapping("/selectMerchantList") + @Operation(summary = "获得商户下拉框") + public R> selectMerchantList(@RequestParam(value = "type",required = false)String type) { + List list=merchantInfoService.selectMerchantList(type); + return R.ok(list); + } } \ 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 3b59ff9cd..42a85f0be 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 @@ -1,7 +1,6 @@ package com.bsd.pjcloud.canteen.mapper; -import com.bsd.pjcloud.canteen.dto.DailyMenuAll; -import com.bsd.pjcloud.canteen.dto.DailyMenuVO; +import com.bsd.pjcloud.canteen.vo.DailyMenuVO; import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.canteen.entity.CanteenDailyMenuEntity; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/MerchantInfoService.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/MerchantInfoService.java index efd72e9ee..d8c0a437b 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/MerchantInfoService.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/MerchantInfoService.java @@ -2,7 +2,17 @@ package com.bsd.pjcloud.canteen.service; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.canteen.entity.MerchantInfoEntity; +import com.bsd.pjcloud.canteen.vo.MerchantInfoVO; + +import java.util.List; public interface MerchantInfoService extends IService { + + /** + * 根据商户类型,获取商户下拉列表 + * @param type + * @return + */ + List selectMerchantList(String type); } \ 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 f588af911..4fc361d57 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 @@ -1,15 +1,12 @@ package com.bsd.pjcloud.canteen.service.impl; -import cn.hutool.core.bean.BeanUtil; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.canteen.dto.DailyMenuAll; -import com.bsd.pjcloud.canteen.dto.DailyMenuVO; +import com.bsd.pjcloud.canteen.vo.DailyMenuVO; import com.bsd.pjcloud.canteen.entity.CanteenDailyMenuEntity; import com.bsd.pjcloud.canteen.mapper.CanteenDailyMenuMapper; import com.bsd.pjcloud.canteen.service.CanteenDailyMenuService; import com.bsd.pjcloud.common.data.datascope.DataScope; -import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; import java.time.DayOfWeek; diff --git a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/MerchantInfoServiceImpl.java b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/MerchantInfoServiceImpl.java index bae44f2d4..83e7dc15c 100644 --- a/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/MerchantInfoServiceImpl.java +++ b/pjcloud-canteen/pjcloud-canteen-biz/src/main/java/com/bsd/pjcloud/canteen/service/impl/MerchantInfoServiceImpl.java @@ -1,10 +1,18 @@ package com.bsd.pjcloud.canteen.service.impl; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.bsd.pjcloud.canteen.entity.MerchantInfoEntity; import com.bsd.pjcloud.canteen.mapper.MerchantInfoMapper; import com.bsd.pjcloud.canteen.service.MerchantInfoService; +import com.bsd.pjcloud.canteen.vo.MerchantInfoVO; +import com.bsd.pjcloud.common.data.datascope.DataScope; import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.stream.Collectors; + /** * 商户管理 * @@ -13,4 +21,22 @@ import org.springframework.stereotype.Service; */ @Service public class MerchantInfoServiceImpl extends ServiceImpl implements MerchantInfoService { + @Override + public List selectMerchantList(String type) { + LambdaQueryWrapper merchantInfoEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + merchantInfoEntityLambdaQueryWrapper.eq(StrUtil.isNotBlank(type), MerchantInfoEntity::getMerchantType, type); + List result = baseMapper.selectListByScope(merchantInfoEntityLambdaQueryWrapper, new DataScope()); + + List voList = result.stream() + .map(entity -> { + MerchantInfoVO vo = new MerchantInfoVO(); + vo.setId(entity.getId()); + vo.setName(entity.getName()); + return vo; + }) + .collect(Collectors.toList()); + + + return voList; + } } \ 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 9947a0998..7e13c136f 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,7 +17,7 @@ - SELECT sp.id, t.id as tid, diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java new file mode 100644 index 000000000..110b0e974 --- /dev/null +++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/MerchantTypeEnum.java @@ -0,0 +1,22 @@ +package com.bsd.pjcloud.common.core.constant.enums; + +import lombok.Data; +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@RequiredArgsConstructor +@Getter +public enum MerchantTypeEnum { + CANTEEN("1", "食堂"), + SUPERMARKET("2", "超市"), + ; + + /** + * 类型 + */ + private final String type; + /** + * 类型名 + */ + private final String name; +}