From 76561071d3441cd8a551772d0f43d93c9f9a1e6a Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 29 十月 2024 18:08:25 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java | 14 +++- ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationPersonService.java | 12 +++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java | 88 +++++++++++++++-------------- ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml | 3 ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java | 4 + ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/domain/TShop.java | 4 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java | 6 +- ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java | 2 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java | 8 +- ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml | 4 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java | 4 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java | 2 ruoyi-system/src/main/resources/mapper/system/TShopMapper.xml | 6 + 14 files changed, 96 insertions(+), 63 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java index 591ce6b..d529933 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TFoundationPersonController.java @@ -18,6 +18,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import oshi.driver.unix.aix.Ls; import java.time.LocalDateTime; import java.util.List; @@ -58,8 +59,7 @@ */ @ApiOperation( value = "添加基础设置") @PostMapping(value = "/add") - public AjaxResult<Boolean> add(@RequestBody TFoundationPersonDTO dto) { - dto.setCreateTime(LocalDateTime.now()); + public AjaxResult<Boolean> add(@RequestBody List<TFoundationPersonDTO> dto) { foundationPersonService.add(dto); return AjaxResult.success(); } @@ -69,7 +69,7 @@ */ @ApiOperation( value = "修改基础设置") @PostMapping(value = "/update") - public AjaxResult<Boolean> update(@RequestBody TFoundationPersonDTO dto) { + public AjaxResult<Boolean> update(@RequestBody List<TFoundationPersonDTO> dto) { foundationPersonService.edit(dto); return AjaxResult.success(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java index 229ea56..4c410e1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TGoodsTypeController.java @@ -6,7 +6,9 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.domain.TGoodsType; +import com.ruoyi.system.domain.TShop; import com.ruoyi.system.service.TGoodsTypeService; +import com.ruoyi.system.service.TShopService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -29,11 +31,13 @@ private final TGoodsTypeService goodsTypeService; private final TokenService tokenService; + private final TShopService shopService; @Autowired - public TGoodsTypeController(TGoodsTypeService goodsTypeService, TokenService tokenService) { + public TGoodsTypeController(TGoodsTypeService goodsTypeService, TokenService tokenService, TShopService shopService) { this.goodsTypeService = goodsTypeService; this.tokenService = tokenService; + this.shopService = shopService; } /** @@ -56,9 +60,13 @@ */ @ApiOperation( value = "查询商品分类列表-后台使用") @GetMapping(value = "/getList") - public AjaxResult<List<TGoodsType>> getList(@RequestParam("shopId") Long shopId) { + public AjaxResult<List<TGoodsType>> getList(@RequestParam("mealType") Integer mealType) { + // 获取餐饮分类店铺id + TShop one = shopService.getOne(Wrappers.lambdaQuery(TShop.class) + .eq(TShop::getMealType, mealType) + .last("LIMIT 1")); LambdaQueryWrapper<TGoodsType> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(TGoodsType::getShopId, shopId); + wrapper.eq(TGoodsType::getShopId, one.getId()); return AjaxResult.success(goodsTypeService.list(wrapper)); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java index fc33a21..689dc72 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TFoundationPerson.java @@ -38,7 +38,9 @@ @ApiModelProperty(value = "店铺id") @TableField("shopId") private Long shopId; - + @ApiModelProperty(value = "餐饮类型 1=中餐 2=火锅") + @TableField("mealType") + private Integer mealType; @ApiModelProperty(value = "创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @TableField("createTime") diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TShop.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TShop.java index 676671e..268f830 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/TShop.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/TShop.java @@ -69,4 +69,8 @@ @TableField("userId") private Long userId; + @ApiModelProperty(value = "餐饮类型 1=中餐 2=火锅") + @TableField("mealType") + private Integer mealType; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java index 43cfa66..b1d6ffc 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TFoundationConfigMapper.java @@ -21,6 +21,6 @@ * 查询所有的人数用餐标准 * @return */ - List<TFoundationConfigVO> getList(@Param("shopId") Long shopId); + List<TFoundationConfigVO> getList(@Param("mealType") Integer mealType); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java index f9b83ad..3a27bc7 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationConfigService.java @@ -20,6 +20,6 @@ * 查询所有的人数用餐标准 * @return */ - List<TFoundationConfigVO> getList(Long shopId); + List<TFoundationConfigVO> getList(Integer mealType); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationPersonService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationPersonService.java index 7be202a..1530193 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationPersonService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TFoundationPersonService.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.basic.PageInfo; +import com.ruoyi.system.domain.TFoundationConfig; import com.ruoyi.system.domain.TFoundationPerson; import com.ruoyi.system.dto.TFoundationPersonDTO; import com.ruoyi.system.query.TFoundationPersonQuery; @@ -24,13 +25,13 @@ * @param dto * @return */ - void add(TFoundationPersonDTO dto); + void add(List<TFoundationPersonDTO> dto); /** * 修改基础设置 * @param dto */ - void edit(TFoundationPersonDTO dto); + void edit(List<TFoundationPersonDTO> dto); /** * 查询基础设置列表 @@ -38,4 +39,11 @@ */ PageInfo<TFoundationPersonVO> getList(TFoundationPersonQuery query); + /** + * 判断是否有重复人数 + * @param list + * @return + */ + boolean hasDuplicateId(List<TFoundationPersonDTO> list); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java index 61e7a54..1d09a6c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDataGeneratorServiceImpl.java @@ -49,6 +49,8 @@ @Autowired private TFoundationConfigService foundationConfigService; @Autowired + private TFoundationPersonService foundationPersonService; + @Autowired private TGoodsService goodsService; @Autowired private TOrderMealService orderMealService; @@ -92,10 +94,10 @@ dataGenerator.setOtherPay(dto.getOtherProportion()); this.save(dataGenerator); long start = System.currentTimeMillis(); - // 查询所有的人数用餐标准 - List<TFoundationConfigVO> foundationConfigs = foundationConfigService.getList(dto.getShopId()); + TShop shop = shopService.getById(dto.getShopId()); + List<TFoundationConfigVO> foundationConfigs = foundationConfigService.getList(shop.getMealType()); if(CollectionUtils.isEmpty(foundationConfigs)){ - throw new ServiceException("请先添加该店铺用餐标准"); + throw new ServiceException("请先添加中餐或火锅用餐标准"); } // 查询所有桌子 List<TBoard> boards = boardService.list(Wrappers.lambdaQuery(TBoard.class) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java index e8b1432..13303bf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationConfigServiceImpl.java @@ -21,7 +21,7 @@ public class TFoundationConfigServiceImpl extends ServiceImpl<TFoundationConfigMapper, TFoundationConfig> implements TFoundationConfigService { @Override - public List<TFoundationConfigVO> getList(Long shopId) { - return this.baseMapper.getList(shopId); + public List<TFoundationConfigVO> getList(Integer mealType) { + return this.baseMapper.getList(mealType); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java index c5fbbd1..cc1982f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TFoundationPersonServiceImpl.java @@ -15,9 +15,11 @@ import com.ruoyi.system.vo.TFoundationPersonVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import java.util.Comparator; +import java.util.HashSet; import java.util.List; import java.util.stream.Collectors; @@ -36,54 +38,45 @@ private TFoundationConfigService foundationConfigService; @Override - public void add(TFoundationPersonDTO dto) { - - long count1 = this.count(Wrappers.lambdaQuery(TFoundationPerson.class) - .eq(TFoundationPerson::getShopId, dto.getShopId()) - .eq(TFoundationPerson::getMealCount, dto.getMealCount())); - if(count1>0){ - throw new ServiceException("该店铺已存在该用餐人数设置"); + @Transactional(rollbackFor = Exception.class) + public void add(List<TFoundationPersonDTO> dto) { + for (TFoundationPersonDTO tFoundationPersonDTO : dto) { + List<TFoundationConfig> foundationConfigs = tFoundationPersonDTO.getFoundationConfigs(); + long count = foundationConfigs.stream().map(TFoundationConfig::getTypeId).distinct().count(); + if(foundationConfigs.size()!=count){ + throw new ServiceException("菜品重复设置"); + } + this.save(tFoundationPersonDTO); + // 添加菜品 + foundationConfigs.forEach(item -> { + item.setPersonId(tFoundationPersonDTO.getId()); + }); + foundationConfigService.saveBatch(foundationConfigs); } - - List<TFoundationConfig> foundationConfigs = dto.getFoundationConfigs(); - long count = foundationConfigs.stream().map(TFoundationConfig::getTypeId).distinct().count(); - if(foundationConfigs.size()!=count){ - throw new ServiceException("菜品重复设置"); - } - // 添加人数 - this.save(dto); - // 添加菜品 - foundationConfigs.forEach(item -> { - item.setPersonId(dto.getId()); - }); - foundationConfigService.saveBatch(foundationConfigs); } @Override - public void edit(TFoundationPersonDTO dto) { - long count1 = this.count(Wrappers.lambdaQuery(TFoundationPerson.class) - .eq(TFoundationPerson::getShopId, dto.getShopId()) - .eq(TFoundationPerson::getMealCount, dto.getMealCount()) - .ne(TFoundationPerson::getId,dto.getId())); - if(count1>0){ - throw new ServiceException("该店铺已存在该用餐人数设置"); + @Transactional(rollbackFor = Exception.class) + public void edit(List<TFoundationPersonDTO> dto) { + + for (TFoundationPersonDTO tFoundationPersonDTO : dto) { + List<TFoundationConfig> foundationConfigs = tFoundationPersonDTO.getFoundationConfigs(); + long count = foundationConfigs.stream().map(TFoundationConfig::getTypeId).distinct().count(); + if(foundationConfigs.size()!=count){ + throw new ServiceException("菜品重复设置"); + } + // 添加人数 + this.updateById(tFoundationPersonDTO); + // 删除菜品 + foundationConfigService.remove(Wrappers.lambdaQuery(TFoundationConfig.class) + .eq(TFoundationConfig::getPersonId,tFoundationPersonDTO.getId())); + // 添加菜品 + foundationConfigs.forEach(item -> { + item.setPersonId(tFoundationPersonDTO.getId()); + }); + foundationConfigService.saveBatch(foundationConfigs); } - List<TFoundationConfig> foundationConfigs = dto.getFoundationConfigs(); - long count = foundationConfigs.stream().map(TFoundationConfig::getTypeId).distinct().count(); - if(foundationConfigs.size()!=count){ - throw new ServiceException("菜品重复设置"); - } - // 添加人数 - this.updateById(dto); - // 删除菜品 - foundationConfigService.remove(Wrappers.lambdaQuery(TFoundationConfig.class) - .eq(TFoundationConfig::getPersonId,dto.getId())); - // 添加菜品 - foundationConfigs.forEach(item -> { - item.setPersonId(dto.getId()); - }); - foundationConfigService.saveBatch(foundationConfigs); } @Override @@ -106,4 +99,15 @@ pageInfo.setRecords(list); return pageInfo; } + + @Override + public boolean hasDuplicateId(List<TFoundationPersonDTO> list) { + HashSet<Integer> countSet = new HashSet<>(); + for (TFoundationPersonDTO dto : list) { + if (!countSet.add(dto.getMealCount())) { + return true; // 发现重复的人数 + } + } + return false; // 没有发现重复的人数 + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java index 4dbb1d4..66550b3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TFoundationConfigVO.java @@ -11,6 +11,8 @@ @ApiModelProperty(value = "用餐人数") private Integer mealCount; + @ApiModelProperty(value = "餐饮类型") + private Integer mealType; @ApiModelProperty(value = "店铺id") private Long shopId; diff --git a/ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml index dda7b30..f3b0e79 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TFoundationConfigMapper.xml @@ -16,10 +16,10 @@ id, personId,typeId, minCount, maxCount </sql> <select id="getList" resultType="com.ruoyi.system.vo.TFoundationConfigVO"> - SELECT tfc.id, tfc.personId,tfc.typeId, tfc.minCount, tfc.maxCount,tfp.mealCount,tfp.shopId + SELECT tfc.id, tfc.personId,tfc.typeId, tfc.minCount, tfc.maxCount,tfp.mealCount,tfp.shopId,tfp.mealType FROM t_foundation_config tfc LEFT JOIN t_foundation_person tfp ON tfp.id = tfc.personId - where tfp.shopId = #{shopId} + where tfp.mealType = #{mealType} </select> </mapper> diff --git a/ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml index 323b04f..c2940a8 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TFoundationPersonMapper.xml @@ -8,6 +8,7 @@ <result column="mealCount" property="mealCount" /> <result column="createTime" property="createTime" /> <result column="shopId" property="shopId" /> + <result column="mealType" property="mealType" /> </resultMap> <!-- 通用查询结果列 --> @@ -16,7 +17,7 @@ </sql> <select id="getList" resultType="com.ruoyi.system.vo.TFoundationPersonVO"> select - tfp.id, tfp.mealCount,tfp.createTime,tfp.shopId,ts.shopName + tfp.id, tfp.mealCount,tfp.createTime,tfp.shopId,tfp.mealType,ts.shopName from t_foundation_person tfp left join t_shop ts on ts.id = tfp.shopId <where> diff --git a/ruoyi-system/src/main/resources/mapper/system/TShopMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TShopMapper.xml index 3188285..4eee20e 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TShopMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/TShopMapper.xml @@ -20,15 +20,17 @@ <result column="createBy" property="createBy" /> <result column="updateBy" property="updateBy" /> <result column="userId" property="userId" /> + <result column="mealType" property="mealType" /> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, shopType, shopName,shopHead, shopStyle, systemName, systemLogo, businessLicense,status,account, createTime, updateTime, disabled, createBy, updateBy,userId + id, shopType, shopName,shopHead, shopStyle, systemName, systemLogo, businessLicense,status,account, + createTime, updateTime, disabled, createBy, updateBy,userId,mealType </sql> <select id="pageList" resultType="com.ruoyi.system.vo.TShopVO"> select id, shopType, shopName,shopHead, shopStyle, systemName, systemLogo, businessLicense, - status,account, createTime, updateTime, disabled, createBy, updateBy,userId + status,account, createTime, updateTime, disabled, createBy, updateBy,userId,mealType from t_shop ts <where> <if test="query.shopType != null"> -- Gitblit v1.7.1