package com.doumee.service.business; import com.doumee.core.model.PageData; import com.doumee.core.model.PageWrap; import com.doumee.dao.business.model.ShopInfo; import com.doumee.dao.business.model.Member; import com.doumee.dao.dto.*; import com.doumee.dao.vo.ShopLoginVO; import com.doumee.dao.vo.ShopCenterVO; import com.doumee.dao.vo.ShopDetailVO; import com.doumee.dao.vo.ShopNearbyVO; import com.doumee.dao.vo.ShopWebDetailVO; import java.math.BigDecimal; import java.util.List; /** * 门店信息Service定义 * @author rk * @date 2026/04/08 */ public interface ShopInfoService { /** * 创建 * * @param shopInfo 实体对象 * @return Integer */ Integer create(ShopInfo shopInfo); /** * 主键删除 * * @param id 主键 */ void deleteById(Integer id); /** * 删除 * * @param shopInfo 实体对象 */ void delete(ShopInfo shopInfo); /** * 批量主键删除 * * @param ids 主键集 */ void deleteByIdInBatch(List ids); /** * 主键更新 * * @param shopInfo 实体对象 */ void updateById(ShopInfo shopInfo); /** * 批量主键更新 * * @param shopInfos 实体集 */ void updateByIdInBatch(List shopInfos); /** * 主键查询 * * @param id 主键 * @return ShopInfo */ ShopInfo findById(Integer id); /** * 条件查询单条记录 * * @param shopInfo 实体对象 * @return ShopInfo */ ShopInfo findOne(ShopInfo shopInfo); /** * 条件查询 * * @param shopInfo 实体对象 * @return List */ List findList(ShopInfo shopInfo); /** * 分页查询 * * @param pageWrap 分页对象 * @return PageData */ PageData findPage(PageWrap pageWrap); /** * 条件统计 * * @param shopInfo 实体对象 * @return long */ long count(ShopInfo shopInfo); /** * 门店入驻申请/修改 * @param request 申请请求 * @param member 当前登录会员 */ void applyShop(ShopApplyDTO request, Member member); /** * 查询门店详情(含附件) * @param shopId 门店主键 * @return 门店详情 */ ShopDetailVO getShopDetail(Integer shopId); /** * 查询当前会员的门店信息 * @param memberId 会员主键 * @return 门店详情,无则返回null */ ShopDetailVO getMyShop(Integer memberId); /** * 审批门店申请 * @param auditDTO 审批请求 */ void auditShop(AuditDTO auditDTO); /** * 修改门店状态(启用/禁用) * @param dto 修改状态请求 */ void changeStatus(ChangeStatusDTO dto); /** * 重置门店密码(手机号后6位 + @123456) * @param dto 重置密码请求 */ void resetPassword(ResetPasswordDTO dto); /** * 后台修改门店信息 * @param dto 修改请求 */ void updateShop(ShopUpdateDTO dto); /** * 根据经纬度查询附近门店分页列表(启用+已交付押金,按距离升序) * @param dto 查询请求 * @return 附近门店分页列表 */ PageData findNearbyShops(PageWrap pageWrap); /** * 查询门店详情(小程序端,含照片集合和可选距离) * @param dto 查询请求 * @return 门店详情 */ ShopWebDetailVO getShopWebDetail(ShopDetailQueryDTO dto); /** * 维护门店信息(支付押金后可操作) * @param memberId 会员主键 * @param dto 维护请求 */ void maintainShopInfo(Integer memberId, ShopInfoMaintainDTO dto); /** * 查询门店维护信息(小程序端) * @param memberId 会员主键 * @return 门店信息,无则返回null */ ShopInfoMaintainDTO getShopMaintainInfo(Integer memberId); /** * 获取门店登录后信息(门店中心) * @param shopId 门店主键 * @return 门店中心信息 */ ShopCenterVO getShopCenterInfo(Integer shopId); /** * 门店密码登录 * @param dto 登录请求 * @return 登录结果 */ ShopLoginVO shopPasswordLogin(ShopLoginDTO dto); /** * 门店静默登录(根据openid) * @param openid * @return 登录结果 */ ShopLoginVO shopSilentLogin(String openid); }