diff --git a/cash-api/account-server/src/main/java/com/czg/controller/admin/AuthorizationController.java b/cash-api/account-server/src/main/java/com/czg/controller/admin/AuthorizationController.java index 5452e5dd7..5786ec608 100644 --- a/cash-api/account-server/src/main/java/com/czg/controller/admin/AuthorizationController.java +++ b/cash-api/account-server/src/main/java/com/czg/controller/admin/AuthorizationController.java @@ -61,6 +61,15 @@ public class AuthorizationController { return CzgResult.success(authorizationService.login(loginDTO)); } + /** + * 退出登录 + */ + @PostMapping("logout") + public CzgResult logout() { + StpKit.USER.logout(); + return CzgResult.success(); + } + @GetMapping("/permission") public CzgResult getPermission() { return CzgResult.success(); diff --git a/cash-api/product-server/src/main/java/com/czg/controller/user/HomeController.java b/cash-api/product-server/src/main/java/com/czg/controller/user/HomeController.java index f01387d5a..47cf634c9 100644 --- a/cash-api/product-server/src/main/java/com/czg/controller/user/HomeController.java +++ b/cash-api/product-server/src/main/java/com/czg/controller/user/HomeController.java @@ -1,8 +1,11 @@ package com.czg.controller.user; import com.alibaba.fastjson2.JSONObject; +import com.czg.account.vo.home.HomePageVO; import com.czg.product.service.HomePageService; +import com.czg.product.vo.RecommendProVO; import com.czg.resp.CzgResult; +import com.mybatisflex.core.paginate.Page; import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -19,8 +22,12 @@ public class HomeController { @Resource private HomePageService homePageService; + /** + * 主页上部分 + * 快捷菜单区域 今日上新 飙升热榜 免单信息 + */ @GetMapping("/homePageUp") - public CzgResult homePageUp() { + public CzgResult homePageUp() { return CzgResult.success(homePageService.getHomeInfo()); } @@ -29,13 +36,13 @@ public class HomeController { * @param lng 纬度 * @param lat 经度 * @param address 城市 - * @param classify 分类 0双人餐 1饮品明细 2咖啡饮品 + * @param categoryId 分类 0双人餐 1饮品明细 2咖啡饮品 * @param orderType 排序规则 0离我最近 1销量优先 2价格优先 - * @param distanceType 1一千米 + * @param distanceType 1000m 2000m * @return 商品列表 */ @GetMapping("/product") - public CzgResult home(String lng, String lat, String address, Integer classify, Integer orderType, Integer distanceType) { - return CzgResult.success(homePageService.getProd(lng, lat, address, classify, orderType, distanceType)); + public CzgResult> home(String lng, String lat, String address, Integer categoryId, Integer orderType, Integer distanceType) { + return CzgResult.success(homePageService.getProd(lng, lat, address, categoryId, orderType, distanceType)); } } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserFlowService.java b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserFlowService.java index c9a1e6b47..f5f186da8 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserFlowService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/account/service/ShopUserFlowService.java @@ -3,6 +3,8 @@ package com.czg.account.service; import com.czg.account.entity.ShopUserFlow; import com.mybatisflex.core.service.IService; +import java.math.BigDecimal; + /** * 用户余额流水 服务层。 * @@ -11,4 +13,5 @@ import com.mybatisflex.core.service.IService; */ public interface ShopUserFlowService extends IService { + void updateRefund(Long id, BigDecimal refundAmount); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/service/HomePageService.java b/cash-common/cash-common-service/src/main/java/com/czg/product/service/HomePageService.java index 883db90bb..da2e2af61 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/product/service/HomePageService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/service/HomePageService.java @@ -1,6 +1,8 @@ package com.czg.product.service; import com.czg.account.vo.home.HomePageVO; +import com.czg.product.vo.RecommendProVO; +import com.mybatisflex.core.paginate.Page; /** * @author Administrator @@ -8,6 +10,6 @@ import com.czg.account.vo.home.HomePageVO; public interface HomePageService { HomePageVO getHomeInfo(); - Object getProd(String lng, String lat, String address, Integer classify, Integer orderType, Integer distanceType); + Page getProd(String lng, String lat, String address, Integer classify, Integer orderType, Integer distanceType); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/product/vo/RecommendProVO.java b/cash-common/cash-common-service/src/main/java/com/czg/product/vo/RecommendProVO.java new file mode 100644 index 000000000..c15d4f10d --- /dev/null +++ b/cash-common/cash-common-service/src/main/java/com/czg/product/vo/RecommendProVO.java @@ -0,0 +1,65 @@ +package com.czg.product.vo; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author Administrator + */ +@Data +public class RecommendProVO { + /** + * 距离单位km + */ + private double distance; + /** + * 商品名称 + */ + private String name; + /** + * 原始价格 + */ + private BigDecimal originPrice; + /** + * 售卖价格 + */ + private BigDecimal salePrice; + /** + * 商品图片 + */ + private String coverImg; + /** + * 店铺名称 + */ + private String shopName; + /** + * 市区 + */ + private String districts; + /** + * 店铺logo + */ + private String logo; + /** + * 商品id + */ + private Long productId; + /** + * skuId + */ + private Long skuId; + /** + * 店铺id + */ + private Long shopId; + /** + * 销售量 + */ + private Long saleNum; + /** + * 折扣 + */ + private float discount; + private Long endTime = 1741391999999L; +} diff --git a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserFlowServiceImpl.java b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserFlowServiceImpl.java index 648d04d27..61449b735 100644 --- a/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserFlowServiceImpl.java +++ b/cash-service/account-service/src/main/java/com/czg/service/account/service/impl/ShopUserFlowServiceImpl.java @@ -3,9 +3,12 @@ package com.czg.service.account.service.impl; import com.czg.account.entity.ShopUserFlow; import com.czg.account.service.ShopUserFlowService; import com.czg.service.account.mapper.ShopUserFlowMapper; +import com.mybatisflex.core.update.UpdateChain; import com.mybatisflex.spring.service.impl.ServiceImpl; import org.apache.dubbo.config.annotation.DubboService; +import java.math.BigDecimal; + /** * 用户余额流水 服务层实现。 * @@ -15,4 +18,11 @@ import org.apache.dubbo.config.annotation.DubboService; @DubboService public class ShopUserFlowServiceImpl extends ServiceImpl implements ShopUserFlowService { + @Override + public void updateRefund(Long id, BigDecimal refundAmount) { + UpdateChain.of(ShopUserFlow.class) + .setRaw(ShopUserFlow::getRefundAmount, "refund_amount + " + refundAmount) + .eq(ShopUserFlow::getId, id) + .update(); + } } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index 027f729ef..6898499e3 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -241,7 +241,7 @@ public class OrderInfoServiceImpl extends ServiceImpl { List selectCouponProBySaleNum(); void updateProductStockNum(@Param("id") Long id, @Param("shopId") Long shopId, @Param("type") String type, @Param("num") BigDecimal num); -} \ No newline at end of file + + List selectRecommendProductList(@Param("lng") String lng, @Param("lat") String lat, @Param("address") String address, + @Param("classify") Integer classify, @Param("orderType") Integer orderType, + @Param("distanceType") Integer distanceType); +} diff --git a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/HomePageServiceImpl.java b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/HomePageServiceImpl.java index ffd211390..bc3e6c483 100644 --- a/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/HomePageServiceImpl.java +++ b/cash-service/product-service/src/main/java/com/czg/service/product/service/impl/HomePageServiceImpl.java @@ -15,10 +15,13 @@ import com.czg.enums.LogoEnum; import com.czg.product.entity.Product; import com.czg.product.service.ProdSkuService; import com.czg.product.service.ProductService; +import com.czg.product.vo.RecommendProVO; import com.czg.service.product.mapper.ProductMapper; import com.czg.utils.JoinQueryWrapper; +import com.czg.utils.PageUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.mybatisflex.core.paginate.Page; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; import org.apache.commons.lang3.StringUtils; @@ -107,14 +110,8 @@ public class HomePageServiceImpl implements HomePageService { } @Override - public Object getProd(String lng, String lat, String address, Integer classify, Integer orderType, Integer distanceType) { - QueryWrapper queryWrapper = new QueryWrapper(); - if (StrUtil.isNotBlank(address)) { - queryWrapper.and(JoinQueryWrapper.column(ShopInfo::getCities).like(address).or(JoinQueryWrapper.column(ShopInfo::getDistricts).like(address))); - } - if (classify != null) { - queryWrapper.eq(Product::getCategoryId, classify); - } - return null; + public Page getProd(String lng, String lat, String address, Integer classify, Integer orderType, Integer distanceType) { + PageHelper.startPage(PageUtil.buildPageHelp()); + return PageUtil.convert(new PageInfo<>(productMapper.selectRecommendProductList(lng, lat, address, classify, orderType, distanceType))); } } diff --git a/cash-service/product-service/src/main/resources/mapper/ProductMapper.xml b/cash-service/product-service/src/main/resources/mapper/ProductMapper.xml index d04cf4556..a707adbdc 100644 --- a/cash-service/product-service/src/main/resources/mapper/ProductMapper.xml +++ b/cash-service/product-service/src/main/resources/mapper/ProductMapper.xml @@ -94,7 +94,7 @@ t1.pack_fee from tb_product t1 left join (select x.product_id, - x.id as sku_id, + x.id as sku_id, MIN(x.sale_price) as sale_price, x.origin_price, x.member_price, @@ -104,7 +104,7 @@ and x.is_grounding = 1 and x.shop_id = #{shopId} group by x.product_id) t2 on t1.id = t2.product_id - left join tb_shop_prod_unit t3 on t1.unit_id = t3.id + left join tb_shop_prod_unit t3 on t1.unit_id = t3.id + update tb_product @@ -169,7 +200,7 @@ set stock_number = stock_number - #{num} where id = #{id} - and is_stock = 1 - and shop_id = #{shopId} + and is_stock = 1 + and shop_id = #{shopId}