diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleDao.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleDao.java index 56c3b18f3..90ae46db8 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleDao.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleDao.java @@ -60,4 +60,21 @@ public class SysRoleDao { return sysRoleDOS.stream().collect(Collectors.toMap(k->k.getId(), v->v.getRoleName(), (k1, k2)->k1)); } + /** + * 查询优先级最高的角色 + * @param userId 用户id + * @return 角色 + */ + public SysRoleDO getHighestPrioritySysRoleDoByUserId(String userId) { + return sysRoleMapper.getHighestPrioritySysRoleDoByUserId(userId); + } + + /** + * 根据角色枚举查询角色 + * @param roleEnum 角色枚举 + * @return 角色 + */ + public SysRoleDO getRoleByRoleEnum(String roleEnum) { + return sysRoleMapper.getRoleByRoleEnum(roleEnum); + } } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/menu/MiniMenuConfigDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/menu/MiniMenuConfigDAO.java new file mode 100644 index 000000000..d4e44b2aa --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/menu/MiniMenuConfigDAO.java @@ -0,0 +1,31 @@ +package com.cool.store.dao.menu; + +import com.cool.store.entity.menu.MiniMenuConfigDO; +import com.cool.store.mapper.menu.MiniMenuConfigMapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + *

+ * 小程序菜单配置 + *

+ * + * @author wangff + * @since 2025/10/31 + */ +@Repository +@RequiredArgsConstructor +public class MiniMenuConfigDAO { + private final MiniMenuConfigMapper miniMenuConfigMapper; + + /** + * 根据角色id查询 + * @param roleId 角色id + * @return 菜单配置列表 + */ + public List getListByRoleId(Long roleId) { + return miniMenuConfigMapper.select(MiniMenuConfigDO.builder().roleId(roleId).build()); + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/menu/MiniMenuDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/menu/MiniMenuDAO.java new file mode 100644 index 000000000..3c3f33742 --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/menu/MiniMenuDAO.java @@ -0,0 +1,34 @@ +package com.cool.store.dao.menu; + +import com.cool.store.entity.menu.MiniMenuDO; +import com.cool.store.mapper.menu.MiniMenuMapper; +import lombok.RequiredArgsConstructor; +import org.apache.commons.collections4.CollectionUtils; +import org.springframework.stereotype.Repository; +import tk.mybatis.mapper.entity.Example; + +import java.util.Collections; +import java.util.List; + +/** + *

+ * 小程序菜单DAO + *

+ * + * @author wangff + * @since 2025/11/28 + */ +@Repository +@RequiredArgsConstructor +public class MiniMenuDAO { + private final MiniMenuMapper miniMenuMapper; + + public List getByIds(List ids) { + if (CollectionUtils.isEmpty(ids)) { + return Collections.emptyList(); + } + Example example = new Example(MiniMenuDO.class); + example.createCriteria().andIn("id", ids); + return miniMenuMapper.selectByExample(example); + } +} diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/menu/MiniMenuConfigMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/menu/MiniMenuConfigMapper.java new file mode 100644 index 000000000..a7d59a6ac --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/menu/MiniMenuConfigMapper.java @@ -0,0 +1,7 @@ +package com.cool.store.mapper.menu; + +import com.cool.store.entity.menu.MiniMenuConfigDO; +import tk.mybatis.mapper.common.Mapper; + +public interface MiniMenuConfigMapper extends Mapper { +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/menu/MiniMenuMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/menu/MiniMenuMapper.java new file mode 100644 index 000000000..e5e72cc4b --- /dev/null +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/menu/MiniMenuMapper.java @@ -0,0 +1,7 @@ +package com.cool.store.mapper.menu; + +import com.cool.store.entity.menu.MiniMenuDO; +import tk.mybatis.mapper.common.Mapper; + +public interface MiniMenuMapper extends Mapper { +} \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/menu/MiniMenuConfigMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/menu/MiniMenuConfigMapper.xml new file mode 100644 index 000000000..1857cb167 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/menu/MiniMenuConfigMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/menu/MiniMenuMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/menu/MiniMenuMapper.xml new file mode 100644 index 000000000..72065b4a8 --- /dev/null +++ b/coolstore-partner-dao/src/main/resources/mapper/menu/MiniMenuMapper.xml @@ -0,0 +1,12 @@ + + + + + + + + + + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/LaunchDataDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/LaunchDataDTO.java index 90eb0e210..586a7b61b 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/LaunchDataDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/LaunchDataDTO.java @@ -18,4 +18,7 @@ public class LaunchDataDTO { @ApiModelProperty("上新时间,yyyy-MM-dd") private String upSaleDate; + + @ApiModelProperty("") + private String upSaleTime; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RevenueDataDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RevenueDataDTO.java index 8a92a1c61..f2e16e2f3 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RevenueDataDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/RevenueDataDTO.java @@ -40,5 +40,8 @@ public class RevenueDataDTO { @ApiModelProperty("菜品列表") private List otherRecipeLaunchDates; + @ApiModelProperty("下架") + private List otherDownDates; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/SalesVolumeDayQueryDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/SalesVolumeDayQueryDTO.java new file mode 100644 index 000000000..e5b34b8f9 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/recipe/SalesVolumeDayQueryDTO.java @@ -0,0 +1,25 @@ +package com.cool.store.dto.recipe; + +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + *

+ * 门店日销量查询DTO + *

+ * + * @author wangff + * @since 2025/12/3 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SalesVolumeDayQueryDTO { + @ApiModelProperty("日期,yyyy-MM-dd") + private String businessDate; + + @ApiModelProperty("门店编码") + private String storeCode; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/menu/MiniMenuConfigDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/menu/MiniMenuConfigDO.java new file mode 100644 index 000000000..c0c560dc7 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/menu/MiniMenuConfigDO.java @@ -0,0 +1,34 @@ +package com.cool.store.entity.menu; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +/** + * 小程序菜单配置 + */ +@Table(name = "zxjp_mini_menu_config") +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +public class MiniMenuConfigDO { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 角色id + */ + @Column(name = "role_id") + private Long roleId; + + /** + * 菜单 + */ + @Column(name = "menu_id") + private Long menuId; +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/menu/MiniMenuDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/menu/MiniMenuDO.java new file mode 100644 index 000000000..9642f6786 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/menu/MiniMenuDO.java @@ -0,0 +1,26 @@ +package com.cool.store.entity.menu; + +import lombok.Data; + +import javax.persistence.*; + +@Table(name = "zxjp_mini_menu") +@Data +public class MiniMenuDO { + /** + * id + */ + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + /** + * 名称 + */ + private String name; + + /** + * key + */ + private String menuKey; +} \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/request/recipe/SalesVolumeDayRequest.java b/coolstore-partner-model/src/main/java/com/cool/store/request/recipe/SalesVolumeDayRequest.java new file mode 100644 index 000000000..655e72e16 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/request/recipe/SalesVolumeDayRequest.java @@ -0,0 +1,25 @@ +package com.cool.store.request.recipe; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + *

+ * 门店日销量Request + *

+ * + * @author wangff + * @since 2025/12/3 + */ +@Data +public class SalesVolumeDayRequest { + @ApiModelProperty("日期,yyyy-MM-dd") + @NotBlank(message = "日期不能为空") + private String businessDate; + + @ApiModelProperty("门店id") + @NotBlank(message = "门店id不能为空") + private String storeId; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/menu/MiniMenuConfigVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/menu/MiniMenuConfigVO.java new file mode 100644 index 000000000..e2d67f093 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/menu/MiniMenuConfigVO.java @@ -0,0 +1,19 @@ +package com.cool.store.vo.menu; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 小程序菜单配置VO + *

+ * + * @author wangff + * @since 2025/10/31 + */ +@Data +public class MiniMenuConfigVO { + + @ApiModelProperty("菜单key") + private String menuKey; +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/recipe/LaunchDataVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/recipe/LaunchDataVO.java index 0b9fc81de..be478eff4 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/recipe/LaunchDataVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/recipe/LaunchDataVO.java @@ -18,4 +18,7 @@ public class LaunchDataVO { @ApiModelProperty("上新时间,yyyy-MM-dd") private String upSaleDate; + + @ApiModelProperty("") + private String upSaleTime; } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/recipe/RevenueDataVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/recipe/RevenueDataVO.java index 3420a29b2..39ad7fbe1 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/recipe/RevenueDataVO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/recipe/RevenueDataVO.java @@ -34,6 +34,9 @@ public class RevenueDataVO { @ApiModelProperty("菜品列表") private List otherRecipeLaunchDates; + @ApiModelProperty("下架") + private List otherDownDates; + @ApiModelProperty("外卖实收") private BigDecimal takeoutReceivedAmt; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/config/rest/JacksonConfig.java b/coolstore-partner-service/src/main/java/com/cool/store/config/rest/JacksonConfig.java index 201084bba..3ed141657 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/config/rest/JacksonConfig.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/config/rest/JacksonConfig.java @@ -1,5 +1,6 @@ package com.cool.store.config.rest; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -15,6 +16,7 @@ public class JacksonConfig { @Bean public ObjectMapper objectMapper() { ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); return mapper; } } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/ThirdFoodService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/ThirdFoodService.java index 88045070d..2a4ae9ffa 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/ThirdFoodService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/ThirdFoodService.java @@ -4,6 +4,7 @@ import com.cool.store.dto.FoodTokenDTO; import com.cool.store.dto.recipe.RecipeSpLaunchDTO; import com.cool.store.dto.store.StoreUserUpdateDTO; import com.cool.store.request.recipe.RevenueDataRequest; +import com.cool.store.request.recipe.SalesVolumeDayRequest; import com.cool.store.response.caipin.StoreUserResponse; import com.cool.store.vo.recipe.RevenueDataVO; @@ -45,4 +46,12 @@ public interface ThirdFoodService { * @return 服务包菜品上新DTO */ RecipeSpLaunchDTO getRecipeServiceLaunch(RevenueDataRequest request); + + + /** + * 门店销量日视图 + * @param request 请求request + * @return 营收数据VO列表 + */ + List storeSalesVolumeDay(SalesVolumeDayRequest request); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncMainSysServerImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncMainSysServerImpl.java index 89da73c43..c1ece664a 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncMainSysServerImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/SyncMainSysServerImpl.java @@ -185,8 +185,8 @@ public class SyncMainSysServerImpl implements SyncMainSysServer { } storeMasterDTO.setSignerInfo(signerInfo); simpleMessageService.send(JSONObject.toJSONString(storeMasterDTO), RocketMqTagEnum.ZXJP_CREATE_STORE); - // 推送营帐通 - pushStoreToYzt(shopInfo, lineInfoDO); + // TODO: 临时关闭,推送营帐通 +// pushStoreToYzt(shopInfo, lineInfoDO); } catch (Exception e) { log.info("asdStore_error:{},shopId:{}", e.getMessage(), shopId.toString()); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdFoodServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdFoodServiceImpl.java index 4fddb48d1..7e71fe14c 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdFoodServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ThirdFoodServiceImpl.java @@ -7,11 +7,13 @@ import com.cool.store.dto.FoodTokenDTO; import com.cool.store.dto.recipe.RecipeSpLaunchDTO; import com.cool.store.dto.recipe.RevenueDataDTO; import com.cool.store.dto.recipe.RevenueDataQueryDTO; +import com.cool.store.dto.recipe.SalesVolumeDayQueryDTO; import com.cool.store.dto.store.StoreUserUpdateDTO; import com.cool.store.entity.StoreDO; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.request.recipe.RevenueDataRequest; +import com.cool.store.request.recipe.SalesVolumeDayRequest; import com.cool.store.response.caipin.StoreUserResponse; import com.cool.store.response.oppty.OpportunityApiResponse; import com.cool.store.service.ThirdFoodService; @@ -91,6 +93,17 @@ public class ThirdFoodServiceImpl implements ThirdFoodService { return executeApiCall(url, queryDTO, RecipeSpLaunchDTO.class); } + @Override + public List storeSalesVolumeDay(SalesVolumeDayRequest request) { + StoreDO storeDO = storeDao.getByStoreId(request.getStoreId()); + if (Objects.isNull(storeDO)) { + throw new ServiceException(ErrorCodeEnum.STORE_NOT_FIND); + } + SalesVolumeDayQueryDTO queryDTO = new SalesVolumeDayQueryDTO(request.getBusinessDate(), storeDO.getStoreNum()); + String url = "/v1/store/business/day"; + List list = executeApiCall(url, queryDTO, List.class); + return BeanUtil.toList(list, RevenueDataVO.class, CopyOptions.create().setFieldMapping(Collections.singletonMap("storeCode", "storeNum"))); + } private T executeApiCall(String url, Object requestBody, Class responseType) { // 1. 打印请求前日志 diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/menu/MiniMenuService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/menu/MiniMenuService.java new file mode 100644 index 000000000..15637bf03 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/menu/MiniMenuService.java @@ -0,0 +1,22 @@ +package com.cool.store.service.menu; + +import com.cool.store.vo.menu.MiniMenuConfigVO; + +import java.util.List; + +/** + *

+ * 小程序菜单配置 + *

+ * + * @author wangff + * @since 2025/10/31 + */ +public interface MiniMenuService { + + /** + * 获取用户小程序菜单配置 + * @return 小程序菜单配置 + */ + List getUserMiniMenu(); +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/menu/impl/MiniMenuServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/menu/impl/MiniMenuServiceImpl.java new file mode 100644 index 000000000..72eaed992 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/menu/impl/MiniMenuServiceImpl.java @@ -0,0 +1,88 @@ +package com.cool.store.service.menu.impl; + +import cn.hutool.core.collection.CollStreamUtil; +import com.cool.store.context.PartnerUserHolder; +import com.cool.store.dao.EnterpriseUserDAO; +import com.cool.store.dao.SysRoleDao; +import com.cool.store.dao.menu.MiniMenuConfigDAO; +import com.cool.store.dao.menu.MiniMenuDAO; +import com.cool.store.entity.EnterpriseUserDO; +import com.cool.store.entity.SysRoleDO; +import com.cool.store.entity.menu.MiniMenuConfigDO; +import com.cool.store.entity.menu.MiniMenuDO; +import com.cool.store.enums.AIEnum; +import com.cool.store.enums.Role; +import com.cool.store.service.menu.MiniMenuService; +import com.cool.store.utils.BeanUtil; +import com.cool.store.vo.PartnerUserInfoVO; +import com.cool.store.vo.menu.MiniMenuConfigVO; +import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; +import java.util.Objects; + + +/** + *

+ * 小程序菜单配置 服务实现类 + *

+ * + * @author wangff + * @since 2025/10/31 + */ +@Service +@RequiredArgsConstructor +public class MiniMenuServiceImpl implements MiniMenuService { + private final MiniMenuConfigDAO miniMenuConfigDAO; + private final SysRoleDao sysRoleDao; + private final EnterpriseUserDAO enterpriseUserDAO; + private final MiniMenuDAO miniMenuDAO; + + + @Override + public List getUserMiniMenu() { + PartnerUserInfoVO user = PartnerUserHolder.getUser(); + if (StringUtils.isBlank(user.getMobile())) { + return Collections.emptyList(); + } + SysRoleDO highestRole = getHighestRoleByMobile(user.getMobile()); + if (Objects.isNull(highestRole)) { + return Collections.emptyList(); + } + List list = miniMenuConfigDAO.getListByRoleId(highestRole.getId()); + List menuIds = CollStreamUtil.toList(list, MiniMenuConfigDO::getMenuId); + List menuList = miniMenuDAO.getByIds(menuIds); + return BeanUtil.toList(menuList, MiniMenuConfigVO.class); + } + + /** + * 根据手机号查询用户优先级最高的角色 + * @param mobile 手机号 + * @return 角色信息 + */ + private SysRoleDO getHighestRoleByMobile(String mobile) { + if (StringUtils.isBlank(mobile)) { + return null; + } + EnterpriseUserDO userDO = enterpriseUserDAO.selectByMobile(mobile); + if (Objects.isNull(userDO)) { + return null; + } + return getHighestRole(userDO.getUserId()); + } + + /** + * 查询当前用户优先级最高的角色 + * @param userId 用户id + * @return 角色信息 + */ + private SysRoleDO getHighestRole(String userId) { + if(AIEnum.AI_USERID.getCode().equals(userId)){ + return sysRoleDao.getRoleByRoleEnum(Role.MASTER.getRoleEnum()); + } + return sysRoleDao.getHighestPrioritySysRoleDoByUserId(userId); + } +} diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDataBoardController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDataBoardController.java index e471872c4..87cbb966d 100644 --- a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDataBoardController.java +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniDataBoardController.java @@ -2,6 +2,7 @@ package com.cool.store.controller.webc; import com.cool.store.dto.recipe.RecipeSpLaunchDTO; import com.cool.store.request.recipe.RevenueDataRequest; +import com.cool.store.request.recipe.SalesVolumeDayRequest; import com.cool.store.response.ResponseResult; import com.cool.store.service.ThirdFoodService; import com.cool.store.vo.recipe.RevenueDataVO; @@ -44,4 +45,10 @@ public class MiniDataBoardController { public ResponseResult getRecipeSpLaunchData(@RequestBody @Valid RevenueDataRequest request) { return ResponseResult.success(thirdFoodService.getRecipeServiceLaunch(request)); } + + @ApiOperation("门店日销量") + @PostMapping("/storeSalesVolumeDay") + public ResponseResult> getStoreSalesVolumeDay(@RequestBody @Valid SalesVolumeDayRequest request) { + return ResponseResult.success(thirdFoodService.storeSalesVolumeDay(request)); + } } diff --git a/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniMenuController.java b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniMenuController.java new file mode 100644 index 000000000..2fd52cf04 --- /dev/null +++ b/coolstore-partner-web/src/main/java/com/cool/store/controller/webc/MiniMenuController.java @@ -0,0 +1,35 @@ +package com.cool.store.controller.webc; + +import com.cool.store.response.ResponseResult; +import com.cool.store.service.menu.MiniMenuService; +import com.cool.store.vo.menu.MiniMenuConfigVO; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + *

+ * 小程序菜单配置 前端控制器 + *

+ * + * @author wangff + * @since 2025/10/31 + */ +@RestController +@RequestMapping({"/mini/menu"}) +@Api(tags = "Mini菜单配置") +@RequiredArgsConstructor +public class MiniMenuController { + private final MiniMenuService miniMenuService; + + @ApiOperation("当前用户菜单配置") + @GetMapping("/userConfig") + public ResponseResult> getCurrentUserConfig() { + return ResponseResult.success(miniMenuService.getUserMiniMenu()); + } +}