From f721ee13dc5f95f607bb25b09f73cae6a7123ed9 Mon Sep 17 00:00:00 2001 From: DESKTOP-71BH0QO\L、ming <172680469@qq.com> Date: 星期六, 17 四月 2021 17:56:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopUserAddressService.java | 31 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopGoodsDAO.java | 46 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java | 191 +++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/OrderStatisticsVO.java | 26 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopCartService.java | 33 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderQueryDTO.java | 21 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopUserAddressDO.java | 8 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopStoreService.java | 7 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopStoreDTO.java | 11 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java | 48 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderPreviewDTO.java | 63 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java | 82 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartStoreVO.java | 42 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopGoodsAttrVO.java | 77 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopEditNubCartDTO.java | 21 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOperLogServiceImpl.java | 62 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPreviewVO.java | 48 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ShopApi.java | 210 +++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopApi.java | 241 ++++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/OrderNoUtils.java | 58 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ShopOperLogVO.java | 78 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopUserAddressDAO.java | 11 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopUserAddressServiceImpl.java | 101 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderCreateGoodsDTO.java | 24 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopGoodsDO.java | 25 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java | 41 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComOrderListDTO.java | 26 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderDO.java | 61 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/interfaces/ShopOperLog.java | 32 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/auth/TokenService.java | 9 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOperLogDO.java | 114 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/PageShopStoreVO.java | 14 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopCartDTO.java | 39 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopGoodsDTO.java | 33 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopStoreDO.java | 9 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java | 513 ++++++++ springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java | 185 +++ springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOperLogDAO.java | 16 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartListVO.java | 30 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartVO.java | 71 + springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/LoginService.java | 8 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopGoodsVO.java | 114 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderOperateDO.java | 11 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopAddressDTO.java | 24 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderVO.java | 19 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopUserAddressVO.java | 90 + springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java | 11 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopGoodsService.java | 15 springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java | 20 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderCreateDTO.java | 47 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderGoodsVO.java | 47 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java | 71 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopAddressDTO.java | 52 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOrderService.java | 70 + springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOperLogService.java | 29 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java | 75 + springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/IdCardUtil.java | 6 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java | 42 58 files changed, 3,500 insertions(+), 9 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ShopApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ShopApi.java new file mode 100644 index 0000000..b396012 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/ShopApi.java @@ -0,0 +1,210 @@ +package com.panzhihua.applets.api; + +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.shop.*; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.shop.*; +import com.panzhihua.common.service.community.CommunityService; +import io.swagger.annotations.*; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @auther lyq + * @create 2021-04-14 15:02:49 + * @describe 商城模块API + */ +@Slf4j +@RestController +@RequestMapping("/shop/") +@Api(tags = {"商城服务"}) +public class ShopApi extends BaseController { + + @Resource + private CommunityService communityService; + + @ApiOperation(value = "分页查询店铺" , response = ComShopStoreVO.class) + @PostMapping("pageshopstore") + public R pageShopStore(@RequestBody PageComShopStoreDTO comShopStoreDTO) { + return communityService.pageShopStore(comShopStoreDTO); + } + + @ApiOperation(value = "查询店铺详情" , response = ComShopStoreVO.class) + @PostMapping("shopstoredetail") + public R shopStoreDetail(@RequestBody PageComShopStoreDTO comShopStoreDTO) { + if(comShopStoreDTO == null || comShopStoreDTO.getStoreId() == null){ + return R.fail("参数错误"); + } + return communityService.shopStoreDetail(comShopStoreDTO); + } + + @ApiOperation(value = "分页查询商品列表" , response = ComShopGoodsVO.class) + @PostMapping("pageShopGoods") + public R pageShopGoods(@RequestBody ComShopGoodsDTO comShopGoodsDTO) { + return communityService.pageShopGoods(comShopGoodsDTO); + } + + @ApiOperation(value = "查询商品详情" , response = ComShopGoodsVO.class) + @PostMapping("shopGoodsDetail") + @ApiImplicitParam(name = "goodsId",value = "商品id",required = true) + public R shopGoodsDetail(@RequestParam("goodsId") Long goodsId) { + return communityService.shopGoodsDetail(goodsId); + } + + @ApiOperation(value = "查询用户购物车列表" , response = ComShopCartVO.class) + @PostMapping("shopCartList") + public R shopCartList() { + Long userId = this.getUserId(); + if(userId == null){ + return R.fail("请重新登陆"); + } + return communityService.shopCartList(userId); + } + + @ApiOperation(value = "购物车添加") + @PostMapping("shopAddCart") + public R shopAddCart(@RequestBody ComShopCartDTO comShopCartDTO) { + Long userId = this.getUserId(); + if(userId == null){ + return R.fail("请重新登陆"); + } + comShopCartDTO.setUserId(userId); + return communityService.shopAddCart(comShopCartDTO); + } + + @ApiOperation(value = "购物车修改") + @PostMapping("shopEditNubCart") + public R shopEditNubCart(@RequestBody ComShopEditNubCartDTO shopEditNubCartDTO) { + return communityService.shopEditNubCart(shopEditNubCartDTO); + } + + @ApiOperation(value = "购物车删除") + @PostMapping("shopDelCart") + public R shopDelCart(@RequestBody List<Long> Ids) { + return communityService.shopDelCart(Ids); + } + + @ApiOperation(value = "查询用户收货地址列表" , response = ComShopUserAddressVO.class) + @PostMapping("shopUserAddressList") + public R shopUserAddressList(@RequestBody PageComShopAddressDTO comShopAddressDTO) { + Long userId = this.getUserId(); + if(userId == null){ + return R.fail("请重新登陆"); + } + comShopAddressDTO.setUserId(userId); + return communityService.shopUserAddressList(comShopAddressDTO); + } + + @ApiOperation(value = "添加用户收货地址列表") + @PostMapping("shopAddUserAddress") + public R shopAddUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) { + Long userId = this.getUserId(); + if(userId == null){ + return R.fail("请重新登陆"); + } + comShopAddressDTO.setUserId(userId); + return communityService.shopAddUserAddress(comShopAddressDTO); + } + + @ApiOperation(value = "修改用户收货地址列表") + @PostMapping("shopEditUserAddress") + public R shopEditUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) { + Long userId = this.getUserId(); + if(userId == null){ + return R.fail("请重新登陆"); + } + comShopAddressDTO.setUserId(userId); + return communityService.shopEditUserAddress(comShopAddressDTO); + } + + @ApiOperation(value = "删除用户收货地址列表") + @PostMapping("shopDelUserAddress") + @ApiImplicitParam(name = "addressId",value = "收货地址id",required = true) + public R shopDelUserAddress(@RequestParam("addressId") Long addressId) { + return communityService.shopDelUserAddress(addressId); + } + + @ApiOperation(value = "订单预览", response = ComShopOrderPreviewVO.class) + @PostMapping("orderPreview") + public R orderPreview(@RequestBody ComShopOrderPreviewDTO orderPreviewDTO) { + Long userId = this.getUserId(); + if(userId == null){ + return R.fail("请重新登陆"); + } + orderPreviewDTO.setUserId(userId); + return communityService.orderPreview(orderPreviewDTO); + } + + @ApiOperation(value = "创建订单", response = ComShopOrderVO.class) + @PostMapping("orderCreate") + public R orderCreate(@RequestBody ComShopOrderCreateDTO orderCreateDTO) { + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + if(loginUserInfo == null){ + return R.fail("请重新登陆"); + } + orderCreateDTO.setUserId(loginUserInfo.getUserId()); + orderCreateDTO.setPhone(loginUserInfo.getPhone()); + return communityService.orderCreate(orderCreateDTO); + } + + @ApiOperation(value = "分页查询订单列表", response = ComShopOrderPageVO.class) + @PostMapping("pageOrderList") + public R pageOrderList(@RequestBody PageComOrderListDTO comOrderListDTO) { + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + if(loginUserInfo == null){ + return R.fail("请重新登陆"); + } + comOrderListDTO.setUserId(loginUserInfo.getUserId()); + return communityService.pageOrderList(comOrderListDTO); + } + + @ApiOperation(value = "查询订单详情", response = ComShopOrderPageVO.class) + @PostMapping("orderDetail") + @ApiImplicitParam(name = "orderId",value = "订单id",required = true) + public R orderDetail(@RequestParam("orderId") Long orderId) { + return communityService.orderDetail(orderId); + } + + @ApiOperation(value = "取消订单") + @PostMapping("orderCancel") + public R orderCancel(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) { + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + if(loginUserInfo == null){ + return R.fail("请重新登陆"); + } + return communityService.orderCancel(comShopOrderQueryDTO); + } + + @ApiOperation(value = "删除订单") + @PostMapping("orderDelete") + @ApiImplicitParam(name = "orderId",value = "订单id",required = true) + public R orderDelete(@RequestParam("orderId") Long orderId) { + return communityService.orderDelete(orderId); + } + + @ApiOperation(value = "订单确认收货") + @PostMapping("orderConfirm") + public R orderConfirm(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) { + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + if(loginUserInfo == null){ + return R.fail("请重新登陆"); + } + return communityService.orderConfirm(comShopOrderQueryDTO); + } + + @ApiOperation(value = "统计当前用户订单", response = OrderStatisticsVO.class) + @PostMapping("orderStatistics") + public R orderStatistics() { + LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); + if(loginUserInfo == null){ + return R.fail("请重新登陆"); + } + return communityService.orderStatistics(loginUserInfo.getUserId()); + } + +} + diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java index 46a11cf..8fda0a7 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/api/LoginApi.java @@ -107,5 +107,16 @@ return R.ok(loginReturnVO); } + /** + * 商家后台登录 + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginShopBackStage") + public R loginShopBackStage(@RequestParam("account") String account, @RequestParam("password")String password){ + LoginReturnVO loginReturnVO =loginService.loginShopBackStage(account,password); + return R.ok(loginReturnVO); + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/LoginService.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/LoginService.java index 0c574b7..f2655a8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/LoginService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/LoginService.java @@ -39,4 +39,12 @@ * @return 登录结果 */ LoginReturnVO loginCommunityBackage(String account, String password); + + /** + * 商家后台登录 + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + LoginReturnVO loginShopBackStage(String account, String password); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java index 4736754..d513939 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/service/impl/LoginServiceImpl.java @@ -104,5 +104,25 @@ return loginReturnVO; } + /** + * 商家后台登录 + * + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @Override + public LoginReturnVO loginShopBackStage(String account, String password) { + Authentication authentication = null; + authentication = authenticationManager + .authenticate(new UsernamePasswordAuthenticationToken(account+"_5", password)); + LoginUserInfoVO loginUser = (LoginUserInfoVO) authentication.getPrincipal(); + String token = JWTTokenUtil.generateToken(loginUser); + String refeshToken = JWTTokenUtil.generateRefeshToken(loginUser); + LoginReturnVO loginReturnVO=new LoginReturnVO(); + loginReturnVO.setToken(token); + loginReturnVO.setRefreshToken(refeshToken); + return loginReturnVO; + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/interfaces/ShopOperLog.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/interfaces/ShopOperLog.java new file mode 100644 index 0000000..ad0ac4e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/interfaces/ShopOperLog.java @@ -0,0 +1,32 @@ +package com.panzhihua.common.interfaces; + +import java.lang.annotation.*; + +/** + * 商城后台操作日志注解 + * @author wu + */ +@Target(ElementType.METHOD) //注解放置的目标位置,METHOD是可注解在方法级别上 +@Retention(RetentionPolicy.RUNTIME) //注解在哪个阶段执行 +@Documented +public @interface ShopOperLog { + String operModul() default "shop"; + /** + * 操作类型 + * 1.登录 + * 2.修改密码 + * 3.添加商品 + * 4.编辑商品 + * 5.下架商品 + * 6.上架商品 + * 7.删除商品 + * 8.取消订单 + * 9.发货 + * 10.配送 + * 11.查看订单详情 + * 12.导出订单 + * 13.导出资金流水 + * @return + */ + int operType() default 0; +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopAddressDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopAddressDTO.java new file mode 100644 index 0000000..774d4d3 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopAddressDTO.java @@ -0,0 +1,52 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 分页查询店铺 + */ +@Data +@ApiModel("分页查询店铺") +public class ComShopAddressDTO { + + @ApiModelProperty(value = "用户id",hidden = true) + private Long userId; + + @ApiModelProperty("用户收货地址id") + private Long addressId; + + @ApiModelProperty("收货人名称") + private String name; + + @ApiModelProperty("收货人手机号") + private String phone; + + @ApiModelProperty("收货人省份编码") + private String provinceCode; + + @ApiModelProperty("收货人城市编码") + private String cityCode; + + @ApiModelProperty("收货人区县编码") + private String districtCode; + + @ApiModelProperty("收货人详细地址") + private String detailAddress; + + @ApiModelProperty("是否是默认地址(1.是 2.否)") + private Integer isDefault; + + @ApiModelProperty("收货人省份名称") + private String provinceName; + + @ApiModelProperty("收货人城市名称") + private String cityName; + + @ApiModelProperty("收货人区/县名称") + private String districtName; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopCartDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopCartDTO.java new file mode 100644 index 0000000..3aec325 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopCartDTO.java @@ -0,0 +1,39 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 购物车 + */ +@Data +@ApiModel("购物车") +public class ComShopCartDTO { + + /** + * 商品id + */ + @ApiModelProperty(value = "商品名称",required = true) + private Long goodsId; + + /** + * 商品规格id + */ + @ApiModelProperty(value = "商品规格id",required = true) + private Long goodsAttrId; + + /** + * 数量 + */ + @ApiModelProperty(value = "数量",required = true) + private Integer number; + + /** + * 用户id + */ + @ApiModelProperty(value = "用户id",hidden = true) + private Long userId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopEditNubCartDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopEditNubCartDTO.java new file mode 100644 index 0000000..56680b8 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopEditNubCartDTO.java @@ -0,0 +1,21 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 购物车修改 + */ +@Data +@ApiModel("购物车修改") +public class ComShopEditNubCartDTO { + + @ApiModelProperty(value = "购物车id",required = true) + private Long cartId; + + @ApiModelProperty(value = "购物车商品数量",required = true) + private Integer number; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopGoodsDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopGoodsDTO.java new file mode 100644 index 0000000..074b47d --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopGoodsDTO.java @@ -0,0 +1,33 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 查询商品请求参数 + */ +@Data +@ApiModel("查询商品请求参数") +public class ComShopGoodsDTO { + + @ApiModelProperty(value = "分页-当前页数",example = "1") + private Long pageNum = 1L; + + @ApiModelProperty(value = "分页-每页记录数",example = "10") + private Long pageSize = 10L; + + @ApiModelProperty("商品名称") + private String name; + + @ApiModelProperty("店铺id") + private Long storeId; + + @ApiModelProperty("商品状态(1.出售中 2.已下架 3.回收站)") + private Integer status; + + @ApiModelProperty("配送方式(1.商家配送 2.快递物流)") + private Integer deliveryType; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderCreateDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderCreateDTO.java new file mode 100644 index 0000000..410477e --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderCreateDTO.java @@ -0,0 +1,47 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 创建订单请求参数 + */ +@Data +@ApiModel("创建订单请求参数") +public class ComShopOrderCreateDTO { + + @ApiModelProperty(value = "用户id",hidden = true) + private Long userId; + + @ApiModelProperty(value = "用户手机号",hidden = true) + private String phone; + + @ApiModelProperty(value = "用户收货地址id",required = true) + private Long receiverId; + + @ApiModelProperty(value = "订单备注") + private String remark; + + @ApiModelProperty(value = "提交订单商品列表",required = true) + private List<ComShopOrderCreateGoodsDTO> orderGoodsList; + + @ApiModelProperty(value = "提交类型(1.商品详情提交 2.购物车提交)",required = true) + private Integer submitType; + + @ApiModelProperty(value = "购物车记录id集合(当提交类型为2时,此字段必填)") + private List<Long> cartIds; + + /** + * 提交类型(1.商品详情提交 2.购物车提交) + */ + public interface submitType{ + int details = 1; + int cart = 2; + } + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderCreateGoodsDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderCreateGoodsDTO.java new file mode 100644 index 0000000..6421b2b --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderCreateGoodsDTO.java @@ -0,0 +1,24 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 创建订单商品信息请求参数 + */ +@Data +@ApiModel("创建订单商品信息请求参数") +public class ComShopOrderCreateGoodsDTO { + + @ApiModelProperty(value = "商品id") + private Long goodsId; + + @ApiModelProperty(value = "商品规格id") + private Long goodsAttrId; + + @ApiModelProperty(value = "购买数量") + private Integer num; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderPreviewDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderPreviewDTO.java new file mode 100644 index 0000000..03d9d3f --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderPreviewDTO.java @@ -0,0 +1,63 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 订单预览请求参数 + */ +@Data +@ApiModel("订单预览请求参数") +public class ComShopOrderPreviewDTO { + + /** + * 提交类型(1.商品详情提交 2.购物车提交) + */ + @ApiModelProperty(value = "提交类型(1.商品详情提交 2.购物车提交)",required = true) + private Integer submitType; + + /** + * 商品id(当提交类型为1时,此字段必填) + */ + @ApiModelProperty(value = "商品id(当提交类型为1时,此字段必填)") + private Long goodsId; + + /** + * 商品规格id(当提交类型为1时,此字段必填) + */ + @ApiModelProperty(value = "商品规格id(当提交类型为1时,此字段必填)") + private Long goodsAttrId; + + /** + * 购买数量(当提交类型为1时,此字段必填) + */ + @ApiModelProperty(value = "购买数量(当提交类型为1时,此字段必填)") + private Integer buyNum; + + /** + * 购物车记录id集合(当提交类型为2时,此字段必填) + */ + @ApiModelProperty(value = "提交类型(1.商品详情提交 2.购物车提交)") + private List<Long> cartIds; + + /** + * 用户id + */ + @ApiModelProperty(value = "用户id",hidden = true) + private Long userId; + + /** + * 提交类型(1.商品详情提交 2.购物车提交) + */ + public interface submitType{ + int details = 1; + int cart = 2; + } + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderQueryDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderQueryDTO.java new file mode 100644 index 0000000..bc1f5b0 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/ComShopOrderQueryDTO.java @@ -0,0 +1,21 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 请求参数 + */ +@Data +@ApiModel("请求参数") +public class ComShopOrderQueryDTO { + + @ApiModelProperty(value = "订单id") + private Long orderId; + + @ApiModelProperty(value = "手机号",hidden = true) + private String phone; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComOrderListDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComOrderListDTO.java new file mode 100644 index 0000000..97ecfc2 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComOrderListDTO.java @@ -0,0 +1,26 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 分页查询订单列表 + */ +@Data +@ApiModel("分页查询订单列表") +public class PageComOrderListDTO { + + @ApiModelProperty(value = "分页-当前页数",example = "1") + private Long pageNum = 1L; + @ApiModelProperty(value = "分页-每页记录数",example = "10") + private Long pageSize = 10L; + + @ApiModelProperty(value = "订单状态(1.待付款 2.代发货 3.待收货 4.待评价 5.已完成 6.已取消)") + private Integer status; + + @ApiModelProperty(value = "用户id",hidden = true) + private Long userId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopAddressDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopAddressDTO.java new file mode 100644 index 0000000..2509585 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopAddressDTO.java @@ -0,0 +1,24 @@ +package com.panzhihua.common.model.dtos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 分页查询店铺 + */ +@Data +@ApiModel("分页查询店铺") +public class PageComShopAddressDTO { + + @ApiModelProperty(value = "分页-当前页数",example = "1") + private Long pageNum = 1L; + + @ApiModelProperty(value = "分页-每页记录数",example = "10") + private Long pageSize = 10L; + + @ApiModelProperty(value = "用户id",hidden = true) + private Long userId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java new file mode 100644 index 0000000..15a7401 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopOrderSearchDTO.java @@ -0,0 +1,41 @@ +package com.panzhihua.common.model.dtos.shop; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Date; + +/** + * @ClasssName OrderSearchDTO + * @Description 订单搜索DTO + * @Author cedoo + * @Date 2021/4/16 + * @Version 1.0 + **/ +@Data +public class PageComShopOrderSearchDTO { + @ApiModelProperty(value = "订单编号",example = "316356541616") + private String orderNo; + @ApiModelProperty(value = "用户账号") + private String userAccount; + @ApiModelProperty(value = "收货人",example = "张三") + private String receiverAccount; + @ApiModelProperty(value = "收货人电话",example = "13123456789") + private String receiverPhone; + @ApiModelProperty(value = "商品",example = "鞋") + private String goodsName; + @ApiModelProperty(value = "订单状态(1.待付款 2.代发货 3.待收货 4.待评价 5.已完成 6.已取消)",example = "1") + private Date status; + @ApiModelProperty(value = "下单时间-开始",example = "1") + private String createAtStart; + @ApiModelProperty(value = "下单时间-结束",example = "1") + private Date createAtEnd; + @ApiModelProperty(value = "分页-当前页数",example = "1", required = true) + private Long pageNum; + @ApiModelProperty(value = "分页-每页记录数",example = "10", required = true) + private Long pageSize; + @JsonIgnore + private Long userId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopStoreDTO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopStoreDTO.java index acf661c..3ded3b1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopStoreDTO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/shop/PageComShopStoreDTO.java @@ -12,6 +12,9 @@ @Data @ApiModel("分页查询店铺") public class PageComShopStoreDTO { + + @ApiModelProperty(value = "分页-当前页数",example = "1") + private Long pageNum = 1L; @ApiModelProperty(value = "商家姓名") private String contacts; @ApiModelProperty(value = "商家账号") @@ -22,10 +25,10 @@ private Integer deliveryType; @ApiModelProperty(value = "店铺状态(1.启用 2.禁用)") private Integer status; - @ApiModelProperty(value = "分页-当前页数", example = "1") - private Long pageNum; - @ApiModelProperty(value = "分页-每页记录数", example = "10") - private Long pageSize; + @ApiModelProperty(value = "分页-每页记录数",example = "10") + private Long pageSize = 10L; + @ApiModelProperty("店铺id") + private Long storeId; } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartListVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartListVO.java new file mode 100644 index 0000000..bcf1d18 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartListVO.java @@ -0,0 +1,30 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 购物车列表信息 + */ +@Data +@ApiModel("购物车列表信息") +public class ComShopCartListVO { + + /** + * 有效宝贝购物车信息 + */ + @ApiModelProperty("有效宝贝购物车信息") + private List<ComShopCartStoreVO> cartList; + + /** + * 失效宝贝购物车信息 + */ + @ApiModelProperty("失效宝贝购物车信息") + private List<ComShopCartVO> invalidCartList; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartStoreVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartStoreVO.java new file mode 100644 index 0000000..c21d350 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartStoreVO.java @@ -0,0 +1,42 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 有效购物车信息 + */ +@Data +@ApiModel("有效购物车信息") +public class ComShopCartStoreVO { + + /** + * 店铺id + */ + @ApiModelProperty("店铺id") + private Long storeId; + + /** + * 店铺名称 + */ + @ApiModelProperty("店铺名称") + private String storeName; + + /** + * 店铺logo + */ + @ApiModelProperty("店铺logo") + private String storeLogo; + + /** + * 店铺下购物车信息 + */ + @ApiModelProperty("店铺下购物车信息") + private List<ComShopCartVO> cartList; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartVO.java new file mode 100644 index 0000000..48015e1 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopCartVO.java @@ -0,0 +1,71 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 购物车信息 + */ +@Data +@ApiModel("购物车信息") +public class ComShopCartVO { + + /** + * 购物车id + */ + @ApiModelProperty("购物车id") + private Long id; + + /** + * 商品id + */ + @ApiModelProperty("商品id") + private Long goodsId; + + /** + * 商品名字 + */ + @ApiModelProperty("商品名字") + private String goodsName; + + /** + * 店铺id + */ + @ApiModelProperty("店铺id") + private Long storeId; + + /** + * 商品规格id + */ + @ApiModelProperty("商品规格id") + private Long goodsAttrId; + + /** + * 商品规格信息 + */ + @ApiModelProperty("商品规格信息") + private String goodsAttr; + + /** + * 商品规格图 + */ + @ApiModelProperty("商品规格图") + private String goodsAttrPic; + + /** + * 商品数量 + */ + @ApiModelProperty("商品数量") + private Integer amount; + + /** + * 商品价格 + */ + @ApiModelProperty("商品价格") + private BigDecimal price; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopGoodsAttrVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopGoodsAttrVO.java new file mode 100644 index 0000000..7e3f136 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopGoodsAttrVO.java @@ -0,0 +1,77 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 商品规格信息 + */ +@Data +@ApiModel("商品规格信息") +public class ComShopGoodsAttrVO { + + /** + * 商品规格id + */ + @ApiModelProperty("商品规格id") + private Long id; + + /** + * 商品id + */ + @ApiModelProperty("商品id") + private Long goodsId; + + /** + * 店铺id + */ + @ApiModelProperty("店铺id") + private Long storeId; + + /** + * 商品名称 + */ + @ApiModelProperty("商品名称") + private String goodsName; + + /** + * 商品规格 + */ + @ApiModelProperty("商品规格") + private String goodsAttr; + + /** + * 商品规格库存 + */ + @ApiModelProperty("商品规格库存") + private Integer stock; + + /** + * 商品规格销量 + */ + @ApiModelProperty("商品规格销量") + private Integer sale; + + /** + * 商品规格图 + */ + @ApiModelProperty("商品规格图") + private String attrPic; + + /** + * 是否是默认规格(1.是 2.否) + */ + @ApiModelProperty("是否是默认规格(1.是 2.否)") + private Integer isDefault; + + /** + * 规格价格 + */ + @ApiModelProperty("规格价格") + private BigDecimal price; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopGoodsVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopGoodsVO.java new file mode 100644 index 0000000..54cd6d0 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopGoodsVO.java @@ -0,0 +1,114 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 商品信息 + */ +@Data +@ApiModel("商品信息") +public class ComShopGoodsVO { + + /** + * 商品id + */ + @ApiModelProperty("商品id") + private Long id; + + /** + * 商品名称 + */ + @ApiModelProperty("商品名称") + private String name; + + /** + * 店铺id + */ + @ApiModelProperty("店铺id") + private Long storeId; + + /** + * 商品主图 + */ + @ApiModelProperty("商品主图") + private String goodsPic; + + /** + * 商品展示图 + */ + @ApiModelProperty("商品展示图") + private String images; + + /** + * 商品状态(1.出售中 2.已下架 3.回收站) + */ + @ApiModelProperty("商品状态(1.出售中 2.已下架 3.回收站)") + private Integer status; + + /** + * 商品销量 + */ + @ApiModelProperty("商品销量") + private Integer sale; + + /** + * 商品原价 + */ + @ApiModelProperty("商品原价") + private BigDecimal originalPrice; + + /** + * 商品现价 + */ + @ApiModelProperty("商品现价") + private BigDecimal price; + + /** + * 商品单位 + */ + @ApiModelProperty("商品单位") + private String unit; + + /** + * 商品排序 + */ + @ApiModelProperty("商品排序") + private Integer order; + + /** + * 商品总库存 + */ + @ApiModelProperty("商品总库存") + private Integer stock; + + /** + * 商品详情 + */ + @ApiModelProperty("商品详情") + private String details; + + /** + * 配送方式(1.商家配送 2.快递物流) + */ + @ApiModelProperty("配送方式(1.商家配送 2.快递物流)") + private Integer deliveryType; + + /** + * 商品规格列表 + */ + @ApiModelProperty("商品规格列表") + private List<ComShopGoodsAttrVO> goodsAttrList; + + /** + * 店铺信息 + */ + @ApiModelProperty("商品店铺信息") + private ComShopStoreVO shopStoreVO; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderGoodsVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderGoodsVO.java index 1db8555..f575388 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderGoodsVO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderGoodsVO.java @@ -1,13 +1,54 @@ package com.panzhihua.common.model.vos.shop; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; + /** - * @auther llming - * @describe + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 订单预览商品参数 */ @Data -@ApiModel("商品") +@ApiModel("订单预览商品参数") public class ComShopOrderGoodsVO { + + /** + * 商品名称 + */ + @ApiModelProperty(value = "商品名称") + private String goodsName; + + /** + * 商品图片 + */ + @ApiModelProperty(value = "商品图片") + private String goodsPic; + + /** + * 商品价格 + */ + @ApiModelProperty(value = "商品价格") + private BigDecimal price; + + /** + * 商品数量 + */ + @ApiModelProperty(value = "商品数量") + private Integer num; + + /** + * 商品id + */ + @ApiModelProperty(value = "商品id") + private Long goodsId; + + /** + * 商品规格id + */ + @ApiModelProperty(value = "商品规格id") + private Long goodsAttrId; + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java new file mode 100644 index 0000000..4bc9cda --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPageVO.java @@ -0,0 +1,75 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + +@Data +@ApiModel("订单信息") +public class ComShopOrderPageVO { + + @ApiModelProperty(value = "订单号") + private String orderNo; + + @ApiModelProperty(value = "订单金额") + private BigDecimal orderTotal; + + @ApiModelProperty(value = "店铺id") + private Long storeId; + + @ApiModelProperty(value = "订单状态(1.待付款 2.代发货 3.待收货 4.待评价 5.已完成 6.已取消)") + private Integer status; + + @ApiModelProperty(value = "支付状态(1.未支付 2.已支付)") + private Integer payStatus; + + @ApiModelProperty(value = "用户收货地址id") + private Long receiverId; + + @ApiModelProperty(value = "支付金额") + private BigDecimal payAmount; + + @ApiModelProperty(value = "配送方式") + private Integer deliveryType; + + @ApiModelProperty(value = "订单备注") + private String remark; + + @ApiModelProperty(value = "支付方式(1.微信支付)") + private Integer payType; + + @ApiModelProperty(value = "支付时间") + private Date payTime; + + @ApiModelProperty(value = "订单发货状态(1.未发货 2.已发货)") + private Integer deliveryStatus; + + @ApiModelProperty(value = "物流公司") + private String logisticsCompany; + + @ApiModelProperty(value = "物流单号") + private String logisticsNo; + + @ApiModelProperty(value = "下单时间") + private Date createAt; + + @ApiModelProperty(value = "支付单号") + private String payNo; + + @ApiModelProperty(value = "发货时间") + private Date deliveryTime; + + @ApiModelProperty(value = "订单下商品信息") + private List<ComShopOrderGoodsVO> orderGoodsVOList; + + @ApiModelProperty(value = "订单下店铺信息") + private ComShopStoreVO shopStoreVO; + + @ApiModelProperty(value = "用户收货地址id") + private ComShopUserAddressVO userAddressVO; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPreviewVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPreviewVO.java new file mode 100644 index 0000000..735aa73 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderPreviewVO.java @@ -0,0 +1,48 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 订单预览返回参数 + */ +@Data +@ApiModel("订单预览返回参数") +public class ComShopOrderPreviewVO { + + /** + * 用户默认收货地址 + */ + @ApiModelProperty(value = "用户默认收货地址") + private ComShopUserAddressVO userAddressVO; + + /** + * 店铺信息 + */ + @ApiModelProperty(value = "店铺信息") + private ComShopStoreVO shopStoreVO; + + /** + * 待购买商品列表 + */ + @ApiModelProperty(value = "待购买商品列表") + private List<ComShopOrderGoodsVO> orderGoodsList; + + /** + * 订单总金额 + */ + @ApiModelProperty(value = "订单总金额") + private BigDecimal orderTotal; + + /** + * 订单商品总数量 + */ + @ApiModelProperty(value = "订单商品总数量") + private Integer orderGoodsTotal; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java new file mode 100644 index 0000000..039b1ef --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderSearchVO.java @@ -0,0 +1,82 @@ +package com.panzhihua.common.model.vos.shop; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + + +/** + * @auther lyq + * @create 2021-04-14 15:03:01 + * @describe 订单表实体类 + */ + +@Data +@ApiModel("商品订单") +public class ComShopOrderSearchVO implements Serializable { + + @ApiModelProperty("订单id") + private Long id; + + @ApiModelProperty("店铺id") + private Long storeId; + + @ApiModelProperty("用户id") + private Long userId; + + @ApiModelProperty("订单号") + private String orderNo; + + @ApiModelProperty("支付单号") + private String payNo; + + @ApiModelProperty("微信交易单号") + private String wxTardeNo; + + @ApiModelProperty("订单状态(1.待付款 2.代发货 3.待收货 4.待评价 5.已完成 6.已取消)") + private Integer status; + + @ApiModelProperty("支付状态(1.未支付 2.已支付)") + private Integer payStatus; + + @ApiModelProperty("订单收货人id") + private Long receiverId; + + @ApiModelProperty("订单总金额") + private BigDecimal totalAmount; + + @ApiModelProperty("优惠总金额") + private BigDecimal discountAmount; + + @ApiModelProperty("支付总金额") + private BigDecimal payAmount; + + @ApiModelProperty("支付方式(1.微信支付)") + private Integer payType; + + @ApiModelProperty("支付时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date payTime; + + @ApiModelProperty("配送方式(1.商家配送 2.快递物流)") + private Integer deliveryType; + + @ApiModelProperty("订单发货状态(1.未发货 2.已发货)") + private Integer deliveryStatus; + + @ApiModelProperty("物流公司") + private String logisticsCompany; + + @ApiModelProperty("物流单号") + private String logisticsNo; + + @ApiModelProperty("下单时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createAt; + +} \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderVO.java new file mode 100644 index 0000000..69b5446 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopOrderVO.java @@ -0,0 +1,19 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel("订单创建返回参数") +public class ComShopOrderVO { + + @ApiModelProperty(value = "订单号") + private String orderNo; + + @ApiModelProperty(value = "订单金额") + private BigDecimal orderTotal; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopUserAddressVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopUserAddressVO.java new file mode 100644 index 0000000..8cdf69a --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ComShopUserAddressVO.java @@ -0,0 +1,90 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 用户收获地址信息 + */ +@Data +@ApiModel("用户收获地址信息") +public class ComShopUserAddressVO { + + /** + * 主键id + */ + @ApiModelProperty("用户收获地址id") + private Long id; + + /** + * 用户id + */ + @ApiModelProperty("用户id") + private Long userId; + + /** + * 收货人名称 + */ + @ApiModelProperty("收货人名称") + private String name; + + /** + * 收货人手机号 + */ + @ApiModelProperty("收货人手机号") + private String phone; + + /** + * 收货人省份编码 + */ + @ApiModelProperty("收货人省份编码") + private String provinceCode; + + /** + * 收货人省份名称 + */ + @ApiModelProperty("收货人省份名称") + private String provinceName; + + /** + * 收货人城市编码 + */ + @ApiModelProperty("收货人城市编码") + private String cityCode; + + /** + * 收货人城市名称 + */ + @ApiModelProperty("收货人城市名称") + private String cityName; + + /** + * 收货人区县编码 + */ + @ApiModelProperty("收货人区县编码") + private String districtCode; + + /** + * 收货人区县名称 + */ + @ApiModelProperty("收货人区县名称") + private String districtName; + + /** + * 收货人详细地址 + */ + @ApiModelProperty("收货人详细地址") + private String detailAddress; + + /** + * 是否是默认地址(1.是 2.否) + */ + @ApiModelProperty("是否是默认地址(1.是 2.否)") + private Integer isDefault; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/OrderStatisticsVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/OrderStatisticsVO.java new file mode 100644 index 0000000..d3d4689 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/OrderStatisticsVO.java @@ -0,0 +1,26 @@ +package com.panzhihua.common.model.vos.shop; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @auther lyq + * @create 2021-04-14 15:02:14 + * @describe 订单统计结果 + */ +@Data +@ApiModel("订单统计结果") +public class OrderStatisticsVO { + + @ApiModelProperty(value = "待付款订单数") + private Integer paymentNum = 0; + + @ApiModelProperty(value = "待发货订单数") + private Integer deliverNum = 0; + + @ApiModelProperty(value = "待收货订单数") + private Integer receivingNum = 0; + + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/PageShopStoreVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/PageShopStoreVO.java index 9184b5e..7bcbd04 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/PageShopStoreVO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/PageShopStoreVO.java @@ -7,6 +7,8 @@ import java.util.Date; +import java.util.List; + /** * @auther lyq @@ -46,4 +48,16 @@ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; + @ApiModelProperty("店铺详情") + private String storeDetail; + + @ApiModelProperty("店铺描述") + private String storeDescribe; + + @ApiModelProperty("店铺销量") + private Integer sale; + + @ApiModelProperty("店内商品列表") + private List<ComShopGoodsVO> goodsList; + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ShopOperLogVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ShopOperLogVO.java new file mode 100644 index 0000000..0b0d095 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/shop/ShopOperLogVO.java @@ -0,0 +1,78 @@ +package com.panzhihua.common.model.vos.shop; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.Date; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: 商城后台操作日志 + * @author: cedoo + * @create: 2021-4-17 10:11:45 + **/ +@Data +@ApiModel("操作日志") +public class ShopOperLogVO { + + @ApiModelProperty("日志主键") + private Long operId; + + @ApiModelProperty("模块标题") + private String title; + + @ApiModelProperty("业务类型(0其它 1新增 2修改 3删除)") + private Integer businessType; + + @ApiModelProperty("方法名称") + private String method; + + @ApiModelProperty("请求方式") + private String requestMethod; + + @ApiModelProperty("操作类别(0其它 1后台用户 2手机端用户)") + private Integer operatorType; + + @ApiModelProperty("操作人员") + private String operName; + + @ApiModelProperty("部门名称") + private String deptName; + + @ApiModelProperty("请求url") + private String operUrl; + + @ApiModelProperty("主机地址") + private String operIp; + + @ApiModelProperty("操作地点") + private String operLocation; + + @ApiModelProperty("请求参数") + private String operParam; + + @ApiModelProperty("返回参数") + private String jsonResult; + + @ApiModelProperty("操作状态(0正常 1异常)") + private Integer status; + + @ApiModelProperty("错误消息") + private String errorMsg; + + @ApiModelProperty("操作时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date operTime; + + @ApiModelProperty("社区id") + private Long communityId; + + @ApiModelProperty("操作账户") + private String account; + + @ApiModelProperty("用户ID") + private Long userId; + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/auth/TokenService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/auth/TokenService.java index d577e03..b967100 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/auth/TokenService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/auth/TokenService.java @@ -54,4 +54,13 @@ */ @PostMapping("/refreshToken") R refreshToken(@RequestParam("refreshToken")String refreshToken); + + /** + * 商家后台登录 + * @param account 账户 + * @param password 密码 + * @return 登录结果 + */ + @PostMapping("/loginShopBackStage") + R loginShopBackStage(@RequestParam("account") String account, @RequestParam("password")String password); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java index f1b5ed7..f6f80ae 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/community/CommunityService.java @@ -1,9 +1,12 @@ package com.panzhihua.common.service.community; import com.panzhihua.common.model.dtos.AppletesBackstageConfigDTO; +import com.panzhihua.common.model.dtos.PageDTO; import com.panzhihua.common.model.dtos.advertisement.ComOpsAdvDTO; import com.panzhihua.common.model.dtos.advertisement.PageComOpsAdvDTO; import com.panzhihua.common.model.dtos.community.*; +import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO; +import com.panzhihua.common.model.dtos.shop.*; import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO; import com.panzhihua.common.model.dtos.shop.PageComShopStoreDTO; import com.panzhihua.common.model.vos.R; @@ -12,6 +15,7 @@ import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo; import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO; import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO; +import com.panzhihua.common.model.vos.shop.ShopOperLogVO; import com.panzhihua.common.model.vos.shop.AddShopGoodsVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.common.model.vos.user.UserPhoneVO; @@ -1834,4 +1838,185 @@ */ @PostMapping("/shop/changeShopGoodsStatus") R changeStatus(@RequestParam("id") Long id,@RequestParam("status")Integer status); + /** + * 结果 + * @param shopOperlog 商城后台操作日志 + */ + @PostMapping("/shop/addShopOperLog") + R addShopOperLog(@RequestBody ShopOperLogVO shopOperlog); + + /** + * 分页查询 商家后台操作日志 + * @param pageDTO 分页数据 + * @return 分页日志 + */ + @PostMapping("/shop/pageShopOperLog") + R pageShopOperLog(@RequestBody PageDTO pageDTO); + + /** + * 分页查询 商家后台操作日志 + * @param pageComShopOrderSearchDTO 分页数据 + * @return 分页日志 + */ + @PostMapping("/shop/order/page") + R pageShopOrder(@RequestBody PageComShopOrderSearchDTO pageComShopOrderSearchDTO); + /** + * 分页查询店铺列表 + * @param comShopStoreDTO 请求参数 + * @return 店铺列表 + */ + @PostMapping("/shop/pageShopStore") + R pageShopStore(@RequestBody PageComShopStoreDTO comShopStoreDTO); + + /** + * 根据id查询店铺详情 + * @param comShopStoreDTO 请求参数 + * @return 店铺详情 + */ + @PostMapping("/shop/shopStoreDetail") + R shopStoreDetail(@RequestBody PageComShopStoreDTO comShopStoreDTO); + + /** + * 分页查询商品列表 + * @param comShopGoodsDTO 请求参数 + * @return 商品列表 + */ + @PostMapping("/shop/pageShopGoods") + R pageShopGoods(@RequestBody ComShopGoodsDTO comShopGoodsDTO); + + /** + * 根据商品id查询商品信息 + * @param goodsId 商品id + * @return 商品信息 + */ + @PostMapping("/shop/shopGoodsDetail") + R shopGoodsDetail(@RequestParam("goodsId") Long goodsId); + + /** + * 查询用户购物车列表 + * @param userId 用户id + * @return 购物车列表 + */ + @PostMapping("/shop/shopCartList") + R shopCartList(@RequestParam("userId") Long userId); + + /** + * 购物车添加 + * @param comShopCartDTO 请求参数 + * @return 购物车列表 + */ + @PostMapping("/shop/shopAddCart") + R shopAddCart(@RequestBody ComShopCartDTO comShopCartDTO); + + /** + * 购物车内商品数量修改 + * @param shopEditNubCartDTO 请求参数 + * @return 修改结果 + */ + @PostMapping("/shop/shopEditNubCart") + R shopEditNubCart(@RequestBody ComShopEditNubCartDTO shopEditNubCartDTO); + + /** + * 删除购物车记录 + * @param Ids 购物车id集合 + * @return 删除结果 + */ + @PostMapping("/shop/shopDelCart") + R shopDelCart(@RequestBody List<Long> Ids); + + /** + * 分页查询用户收货地址列表 + * @param comShopAddressDTO 请求参数 + * @return 用户收货地址列表 + */ + @PostMapping("/shop/shopUserAddressList") + R shopUserAddressList(@RequestBody PageComShopAddressDTO comShopAddressDTO); + + /** + * 用户添加收货地址 + * @param comShopAddressDTO 请求参数 + * @return 添加结果 + */ + @PostMapping("/shop/shopAddUserAddress") + R shopAddUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO); + + /** + * 用户修改收货地址 + * @param comShopAddressDTO 请求参数 + * @return 修改结果 + */ + @PostMapping("/shop/shopEditUserAddress") + R shopEditUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO); + + /** + * 用户删除收货地址 + * @param addressId 收货地址id + * @return 删除结果 + */ + @PostMapping("/shop/shopDelUserAddress") + R shopDelUserAddress(@RequestParam("addressId") Long addressId); + + /** + * 订单预览 + * @param orderPreviewDTO 请求参数 + * @return 订单预览数据 + */ + @PostMapping("/shop/orderPreview") + R orderPreview(@RequestBody ComShopOrderPreviewDTO orderPreviewDTO); + + /** + * 创建订单 + * @param orderCreateDTO 创建订单请求参数 + * @return 创建结果 + */ + @PostMapping("/shop/orderCreate") + R orderCreate(@RequestBody ComShopOrderCreateDTO orderCreateDTO); + + /** + * 分页查询用户订单列表 + * @param comOrderListDTO 请求参数 + * @return 查询结果 + */ + @PostMapping("/shop/pageOrderList") + R pageOrderList(@RequestBody PageComOrderListDTO comOrderListDTO); + + /** + * 根据订单id查询订单详情 + * @param orderId 订单id + * @return 订单详情 + */ + @PostMapping("/shop/orderDetail") + R orderDetail(@RequestParam("orderId") Long orderId); + + /** + * 根据订单id取消订单 + * @param comShopOrderQueryDTO 请求参数 + * @return 取消结果 + */ + @PostMapping("/shop/orderCancel") + R orderCancel(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO); + + /** + * 根据订单id删除订单 + * @param orderId 订单id + * @return 删除结果 + */ + @PostMapping("/shop/orderDelete") + R orderDelete(@RequestParam("orderId") Long orderId); + + /** + * 根据订单id确认收货 + * @param comShopOrderQueryDTO 请求参数 + * @return 确认结果 + */ + @PostMapping("/shop/orderConfirm") + R orderConfirm(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO); + + /** + * 统计用户订单数量 + * @param userId 用户id + * @return 统计结果 + */ + @PostMapping("/shop/orderStatistics") + R orderStatistics(@RequestParam("userId") Long userId); } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/IdCardUtil.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/IdCardUtil.java index f3ecd0c..189d264 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/IdCardUtil.java +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/IdCardUtil.java @@ -166,4 +166,10 @@ return getVerifyCode(idNumber).equalsIgnoreCase(idNumber.substring(17)); } + public static void main(String[] args) { + String cardNo = "510403201602230324"; + Boolean isok = strongVerifyIdNumber(cardNo); + System.out.println(); + } + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/OrderNoUtils.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/OrderNoUtils.java new file mode 100644 index 0000000..dfb4279 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/OrderNoUtils.java @@ -0,0 +1,58 @@ +package com.panzhihua.common.utlis; + +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class OrderNoUtils { + private static int sn = 0; + + public static String NextOrderNo(Long userId) { + if (sn == 999) + sn = 0; + else + sn++; + DateFormat df = new SimpleDateFormat("MMddHHmmss"); + return df.format(new Date()) + padRight(String.valueOf(userId), 5, '0') + padRight(String.valueOf(sn), 3, '0') + getRandomNumber(); + } + + public static String padLeft(String src, int len, char ch) { + int diff = len - src.length(); + if (diff <= 0) { + return src; + } + + char[] charr = new char[len]; + System.arraycopy(src.toCharArray(), 0, charr, 0, src.length()); + for (int i = src.length(); i < len; i++) { + charr[i] = ch; + } + return new String(charr); + } + + public static String padRight(String src, int len, char ch) { + int diff = len - src.length(); + if (diff <= 0) { + return src; + } + + char[] charr = new char[len]; + System.arraycopy(src.toCharArray(), 0, charr, diff, src.length()); + for (int i = 0; i < diff; i++) { + charr[i] = ch; + } + return new String(charr); + } + + // 防止创建类的实例 + private OrderNoUtils() { + } + + /** + * 获取三位随机数 + * @return 三位随机数 + */ + private static String getRandomNumber(){ + return String.valueOf(new Double((Math.random() * 9 + 1) * (Math.pow(10, 3 - 1))).intValue()); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopApi.java index 3585bef..374f67a 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/ShopApi.java @@ -1,17 +1,27 @@ package com.panzhihua.service_community.api; import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO; +import com.panzhihua.common.model.dtos.shop.*; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.PageDTO; +import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO; import com.panzhihua.common.model.dtos.shop.PageComShopStoreDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.shop.AddShopGoodsVO; +import com.panzhihua.service_community.service.*; +import com.panzhihua.common.model.vos.shop.ShopOperLogVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.service_community.service.ComShopGoodsService; +import com.panzhihua.service_community.service.ComShopOperLogService; +import com.panzhihua.service_community.service.ComShopOrderService; import com.panzhihua.service_community.service.ComShopStoreService; import lombok.extern.slf4j.Slf4j; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; +import javax.validation.constraints.NotNull; @Slf4j @RestController @@ -22,6 +32,16 @@ private ComShopStoreService comShopStoreService; @Resource private ComShopGoodsService comShopGoodsService; + @Resource + private ComShopOperLogService comShopOperLogService; + @Resource + private ComShopOrderService comShopOrderService; + @Resource + private ComShopGoodsService comShopGoodsService; + @Resource + private ComShopCartService comShopCartService; + @Resource + private ComShopUserAddressService comShopUserAddressService; /** * 店铺列表-分页查询 @@ -78,6 +98,227 @@ return comShopStoreService.getOneInfo(id); } + /** + * 添加商城后台日志 + * + * @param shopOperlog 商城日志 + * @return 添加结果 + */ + @PostMapping("/addShopOperLog") + public R addShopOperLog(@RequestBody ShopOperLogVO shopOperlog) { + return comShopOperLogService.saveLog(shopOperlog); + } + + + /** + * 分页查询 商家后台操作日志 + * @param pageDTO 分页数据 + * @return 分页日志 + */ + @PostMapping("/pageShopOperLog") + public R pageShopOperLog(@RequestBody PageDTO pageDTO) { + return comShopOperLogService.pageShopOperLog(pageDTO); + } + + + /** + * 分页查询 商家订单 + * @param pageComShopOrderSearchDTO 分页数据 + * @return 分页订单 + */ + @PostMapping("/order/page") + public R pageShopOrder(@RequestBody PageComShopOrderSearchDTO pageComShopOrderSearchDTO) { + return comShopOrderService.pageShopOrder(pageComShopOrderSearchDTO); + } + /** + * 根据店铺id查询店铺详情 + * @param comShopStoreDTO 请求参数 + * @return 店铺详情 + */ + @PostMapping("shopStoreDetail") + public R shopStoreDetail(@RequestBody PageComShopStoreDTO comShopStoreDTO){ + return comShopStoreService.shopStoreDetail(comShopStoreDTO); + } + + /** + * 分页查询商品列表 + * @param comShopGoodsDTO 请求参数 + * @return 商品列表 + */ + @PostMapping("pageShopGoods") + public R pageShopGoods(@RequestBody ComShopGoodsDTO comShopGoodsDTO) { + return comShopGoodsService.pageShopGoods(comShopGoodsDTO); + } + + /** + * 根据商品id查询商品详情 + * @param goodsId 商品id + * @return 商品信息 + */ + @PostMapping("shopGoodsDetail") + public R shopGoodsDetail(@RequestParam("goodsId") Long goodsId){ + return comShopGoodsService.shopGoodsDetail(goodsId); + } + + /** + * 根据用户id查询购物车列表 + * @param userId 用户id + * @return 购物车列表信息 + */ + @PostMapping("shopCartList") + public R shopCartList(@RequestParam("userId") Long userId) { + return comShopCartService.shopCartList(userId); + } + + /** + * 购物车添加 + * @param comShopCartDTO 请求参数 + * @return 添加结果 + */ + @PostMapping("shopAddCart") + public R shopAddCart(@RequestBody ComShopCartDTO comShopCartDTO) { + return comShopCartService.shopAddCart(comShopCartDTO); + } + + /** + * 购物车内商品数量添加 + * @param shopEditNubCartDTO 请求参数 + * @return 修改结果 + */ + @PostMapping("shopEditNubCart") + public R shopEditNubCart(@RequestBody ComShopEditNubCartDTO shopEditNubCartDTO) { + return comShopCartService.shopEditNubCart(shopEditNubCartDTO); + } + + /** + * 删除购物车记录 + * @param Ids 购物车id集合 + * @return 删除结果 + */ + @PostMapping("shopDelCart") + public R shopDelCart(@RequestBody List<Long> Ids) { + return comShopCartService.shopDelCart(Ids); + } + + /** + * 查询用户收货地址列表 + * @param comShopAddressDTO 请求参数 + * @return 用户收获地址列表 + */ + @PostMapping("shopUserAddressList") + public R shopUserAddressList(@RequestBody PageComShopAddressDTO comShopAddressDTO) { + return comShopUserAddressService.shopUserAddressList(comShopAddressDTO); + } + + /** + * 用户添加书货地址 + * @param comShopAddressDTO 请求参数 + * @return 添加结果 + */ + @PostMapping("shopAddUserAddress") + public R shopAddUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) { + return comShopUserAddressService.shopAddUserAddress(comShopAddressDTO); + } + + /** + * 用户修改收货地址 + * @param comShopAddressDTO 请求参数 + * @return 修改结果 + */ + @PostMapping("shopEditUserAddress") + public R shopEditUserAddress(@RequestBody ComShopAddressDTO comShopAddressDTO) { + return comShopUserAddressService.shopEditUserAddress(comShopAddressDTO); + } + + /** + * 用户删除收货地址 + * @param addressId 收货地址id + * @return 删除结果 + */ + @PostMapping("shopDelUserAddress") + public R shopDelUserAddress(@RequestParam("addressId") Long addressId) { + return comShopUserAddressService.shopDelUserAddress(addressId); + } + + /** + * 订单预览 + * @param orderPreviewDTO 请求参数 + * @return 订单预览数据 + */ + @PostMapping("orderPreview") + public R orderPreview(@RequestBody ComShopOrderPreviewDTO orderPreviewDTO) { + return comShopOrderService.orderPreview(orderPreviewDTO); + } + + /** + * 创建订单 + * @param orderCreateDTO 创建订单请求参数 + * @return 创建结果 + */ + @PostMapping("orderCreate") + public R orderCreate(@RequestBody ComShopOrderCreateDTO orderCreateDTO) { + return comShopOrderService.orderCreate(orderCreateDTO); + } + + /** + * 分页查询用户订单列表 + * @param comOrderListDTO 请求参数 + * @return 查询结果 + */ + @PostMapping("pageOrderList") + public R pageOrderList(@RequestBody PageComOrderListDTO comOrderListDTO){ + return comShopOrderService.pageOrderList(comOrderListDTO); + } + + /** + * 根据订单id查询订单详情 + * @param orderId 订单id + * @return 订单详情 + */ + @PostMapping("orderDetail") + public R orderDetail(@RequestParam("orderId") Long orderId) { + return comShopOrderService.orderDetail(orderId); + } + + /** + * 根据订单id取消订单 + * @param comShopOrderQueryDTO 请求参数 + * @return 取消结果 + */ + @PostMapping("orderCancel") + public R orderCancel(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) { + return comShopOrderService.orderCancel(comShopOrderQueryDTO.getOrderId(),comShopOrderQueryDTO.getPhone()); + } + + /** + * 根据订单id删除订单 + * @param orderId 订单id + * @return 删除结果 + */ + @PostMapping("orderDelete") + public R orderDelete(@RequestParam("orderId") Long orderId) { + return comShopOrderService.orderDelete(orderId); + } + + /** + * 根据订单id确认收货 + * @param comShopOrderQueryDTO 请求参数 + * @return 确认结果 + */ + @PostMapping("orderConfirm") + public R orderConfirm(@RequestBody ComShopOrderQueryDTO comShopOrderQueryDTO) { + return comShopOrderService.orderConfirm(comShopOrderQueryDTO.getOrderId(),comShopOrderQueryDTO.getPhone()); + } + + /** + * 统计用户订单数量 + * @param userId 用户id + * @return 统计结果 + */ + @PostMapping("orderStatistics") + public R orderStatistics(@RequestParam("userId") Long userId) { + return comShopOrderService.orderStatistics(userId); + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopGoodsDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopGoodsDAO.java index c7d7ec5..e4c3c05 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopGoodsDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopGoodsDAO.java @@ -3,6 +3,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.dtos.shop.ComShopGoodsDTO; +import com.panzhihua.common.model.dtos.shop.PageComShopStoreDTO; +import com.panzhihua.common.model.vos.shop.ComShopGoodsVO; +import com.panzhihua.common.model.vos.shop.ComShopStoreVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO; import com.panzhihua.common.model.vos.shop.PageShopGoodsVO; import com.panzhihua.common.model.vos.shop.PageShopStoreVO; @@ -36,4 +42,44 @@ "</script>") IPage<PageShopGoodsVO> pageShopGoods(Page page, @Param("pageComShopGoodsDTO") PageComShopGoodsDTO pageComShopGoodsDTO); + /** + * 根据店铺id查询商品列表 + * @param page 分页参数 + * @param pageComShopStoreDTO 请求参数 + * @return 分页商品列表 + */ + @Select("<script> " + + "select id,`name`,store_id,goods_pic,images,`status`,sale,original_price,price" + + ",unit,`order`,stock,details,delivery_type from com_shop_goods" + + " where store_id = #{pageComShopStoreDTO.storeId} and delete_status = 1 and status = 1" + + " order by sale desc,create_at desc "+ + "</script> ") + IPage<ComShopGoodsVO> pageShopGoodsByStoreId(Page page, @Param("pageComShopStoreDTO") PageComShopStoreDTO pageComShopStoreDTO); + + /** + * 分页查询商品列表 + * @param page 分页参数 + * @param comShopGoodsDTO 请求参数 + * @return 商品列表 + */ + @Select("<script> " + + "select id,`name`,store_id,goods_pic,images,`status`,sale,original_price,price,unit" + + ",`order`,stock,details,delivery_type from com_shop_goods as csg " + + " where 1=1 and csg.delete_status = 1 and csg.status = 1" + + "<if test='comShopGoodsDTO.name != null and comShopGoodsDTO.name !=""'>" + + " AND csg.`name` like concat('%',#{comShopGoodsDTO.name},'%') " + + " </if> " + + "<if test='comShopGoodsDTO.storeId != null '>" + + " AND csg.store_id = #{comShopGoodsDTO.storeId} " + + " </if> " + + "<if test='comShopGoodsDTO.status != null '>" + + " AND csg.status = #{comShopGoodsDTO.status} " + + " </if> " + + "<if test='comShopGoodsDTO.deliveryType != null '>" + + " AND csg.delivery_type = #{comShopGoodsDTO.deliveryType} " + + " </if> " + + " order by sale desc,create_at desc " + + " </script>") + IPage<ComShopGoodsVO> pageShopGoods(Page page, @Param("comShopGoodsDTO") ComShopGoodsDTO comShopGoodsDTO); + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOperLogDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOperLogDAO.java new file mode 100644 index 0000000..1b682b7 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOperLogDAO.java @@ -0,0 +1,16 @@ +package com.panzhihua.service_community.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.panzhihua.service_community.model.dos.ComShopOperLogDO; +import com.panzhihua.service_community.model.dos.ComShopOrderDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * @author cedoo + * @create 2021-4-17 10:55:15 + * @describe 订单日志mapper类 + */ +@Mapper +public interface ComShopOperLogDAO extends BaseMapper<ComShopOperLogDO> { + +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java index cc07aec..1f6f16c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopOrderDAO.java @@ -1,15 +1,59 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.dtos.shop.PageComOrderListDTO; +import com.panzhihua.common.model.vos.shop.ComShopOrderPageVO; +import com.panzhihua.common.model.vos.shop.ComShopOrderVO; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.panzhihua.common.model.dtos.PageDTO; +import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO; +import com.panzhihua.common.model.vos.shop.ComShopOrderVO; +import com.panzhihua.common.model.vos.shop.ComShopStoreVO; import com.panzhihua.service_community.model.dos.ComShopOrderDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Select; /** - * @auther lyq - * @create 2021-04-14 15:03:01 + * @auther cedoo + * @create 2021-4-17 17:35:51 * @describe 订单表mapper类 */ @Mapper public interface ComShopOrderDAO extends BaseMapper<ComShopOrderDO> { + @Select("<script> " + + "select order_no,store_id,`status`,pay_status,receiver_id,total_amount as orderTotal,pay_amount,delivery_type,remark,create_at from com_shop_order as cso" + + " where 1=1 and cso.delete_status = 1 and cso.user_id = #{comOrderListDTO.userId}" + + "<if test='comOrderListDTO.status != null'>" + + " AND cso.status = #{comOrderListDTO.status} " + + " </if> " + + " order by create_at desc " + + " </script>") + IPage<ComShopOrderPageVO> pageOrderList(Page page,@Param("comOrderListDTO") PageComOrderListDTO comOrderListDTO); + + @Select("<script> " + + "SELECT\n" + + "id,\n" + + "`name`,\n" + + "photo_path,\n" + + "phone,\n" + + "integral,\n" + + "create_at \n" + + "FROM\n" + + "com_mng_volunteer_mng \n" + + " where state=2 and community_id=#{comMngVolunteerMngVO.communityId}" + + "<if test='comMngVolunteerMngVO.name != null and comMngVolunteerMngVO.name.trim() != ""'>" + + " and name like concat(#{comMngVolunteerMngVO.name},'%') \n" + + " </if> " + + "<if test='comMngVolunteerMngVO.phone != null and comMngVolunteerMngVO.phone.trim() != ""'>" + + "AND phone like concat(#{comMngVolunteerMngVO.phone},'%') " + + " </if> " + + " order by integral desc,create_at desc"+ + "</script>") + IPage<ComShopOrderVO> pageOrderBy(PageDTO page, PageComShopOrderSearchDTO pageComShopOrderSearchDTO); + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopUserAddressDAO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopUserAddressDAO.java index d9ad25b..7462399 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopUserAddressDAO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComShopUserAddressDAO.java @@ -1,8 +1,14 @@ package com.panzhihua.service_community.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.panzhihua.common.model.vos.shop.ComShopUserAddressVO; import com.panzhihua.service_community.model.dos.ComShopUserAddressDO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; /** * @auther lyq @@ -12,4 +18,9 @@ @Mapper public interface ComShopUserAddressDAO extends BaseMapper<ComShopUserAddressDO> { + @Select("select id,`name`,phone,province_code,province_name,city_code,city_name" + + ",district_code,district_name,detail_address,is_default " + + " from com_shop_user_address where user_id = #{userId} order by create_at desc") + List<ComShopUserAddressVO> pageUserAddressList(Page page, @Param("userId") Long userId); + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopGoodsDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopGoodsDO.java index 49eb9c4..2fcd17a 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopGoodsDO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopGoodsDO.java @@ -126,6 +126,31 @@ @TableField(fill = FieldFill.UPDATE) private Date updateAt; + /** + * 商品状态(1.出售中 2.已下架 3.回收站) + */ + public interface status{ + int sell = 1; + int lower = 2; + int recovery = 3; + } + + /** + * 删除状态(1.未删除 2.已删除) + */ + public interface deleteStatus{ + int no = 1; + int yes = 2; + } + + /** + * 配送方式(1.商家配送 2.快递物流) + */ + public interface deliveryType{ + int store = 1; + int express = 2; + } + @Override public String toString() { return "ComShopGoodsDO{" + diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOperLogDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOperLogDO.java new file mode 100644 index 0000000..ee1c461 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOperLogDO.java @@ -0,0 +1,114 @@ +package com.panzhihua.service_community.model.dos; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * @program: springcloud_k8s_panzhihuazhihuishequ + * @description: 操作日志 + * @author: huang.hongfa weixin hhf9596 qq 959656820 + * @create: 2020-12-25 10:34 + **/ +@Data +@TableName("com_shop_oper_log") +public class ComShopOperLogDO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 日志主键 + */ + private Long operId; + + /** + * 模块标题 + */ + private String title; + + /** + * 业务类型(0其它 1新增 2修改 3删除) + */ + private Integer businessType; + + /** + * 方法名称 + */ + private String method; + + /** + * 请求方式 + */ + private String requestMethod; + + /** + * 操作类别(0其它 1后台用户 2手机端用户) + */ + private Integer operatorType; + + /** + * 操作人员 + */ + private String operName; + + /** + * 部门名称 + */ + private String deptName; + + /** + * 请求url + */ + private String operUrl; + + /** + * 主机地址 + */ + private String operIp; + + /** + * 操作地点 + */ + private String operLocation; + + /** + * 请求参数 + */ + private String operParam; + + /** + * 返回参数 + */ + private String jsonResult; + + /** + * 操作状态(0正常 1异常) + */ + private Integer status; + + /** + * 错误消息 + */ + private String errorMsg; + + /** + * 操作时间 + */ + private Date operTime; + + /** + * 操作社区id 0 标识运营后台 + */ + private Long communityId; + + /** + * 操作账户 + */ + private String account; + /** + * 操作用户ID + */ + private Long userId; +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderDO.java index 5635da3..7f1e6d1 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderDO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderDO.java @@ -117,6 +117,16 @@ private String logisticsNo; /** + * 订单备注 + */ + private String remark; + + /** + * 发货时间 + */ + private Date deliveryTime; + + /** * 下单时间 */ @TableField(fill = FieldFill.INSERT) @@ -128,6 +138,57 @@ @TableField(fill = FieldFill.UPDATE) private Date updateAt; + /** + * 订单状态(1.待付款 2.代发货 3.待收货 4.待评价 5.已完成 6.已取消) + */ + public interface status{ + int dfk = 1; + int dfh = 2; + int dsh = 3; + int dpj = 4; + int ywc = 5; + int yqx = 6; + } + + /** + * 支付状态(1.未支付 2.已支付) + */ + public interface payStatus{ + int no = 1; + int yes = 2; + } + + /** + * 删除状态(1.未删除 2.已删除) + */ + public interface deleteStatus{ + int no = 1; + int yes = 2; + } + + /** + * 支付方式(1.微信支付) + */ + public interface payType{ + int wx = 1; + } + + /** + * 配送方式(1.商家配送 2.快递物流) + */ + public interface deliveryType{ + int store = 1; + int express = 2; + } + + /** + * 订单发货状态(1.未发货 2.已发货) + */ + public interface deliveryStatus{ + int no = 1; + int yes = 2; + } + @Override public String toString() { return "ComShopOrderDO{" + diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderOperateDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderOperateDO.java index c2f9eaa..d31bc5f 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderOperateDO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopOrderOperateDO.java @@ -56,6 +56,17 @@ @TableField(fill = FieldFill.INSERT) private Date createAt; + /** + * 操作类型(1.创建订单 2.取消订单 3.订单支付 4.订单发货 5.订单完成) + */ + public interface operationType{ + int create = 1; + int cancel = 2; + int pay = 3; + int deliver = 4; + int complete = 5; + } + @Override public String toString() { return "ComShopOrderOperateDO{" + diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopStoreDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopStoreDO.java index d09776e..43b4137 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopStoreDO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopStoreDO.java @@ -121,6 +121,15 @@ * 管理后台用户id */ private Long sysUserId; + + /** + * 店铺状态(1.启用 2.禁用) + */ + public interface status{ + int yes = 1; + int no = 2; + } + @Override public String toString() { return "ComShopStoreDO{" + diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopUserAddressDO.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopUserAddressDO.java index 37f56e6..9eed938 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopUserAddressDO.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/model/dos/ComShopUserAddressDO.java @@ -111,4 +111,12 @@ ", updateAt=" + updateAt + "}"; } + + /** + * 是否是默认地址(1.是 2.否) + */ + public interface isDefault{ + int yes = 1; + int no = 2; + } } \ No newline at end of file diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopCartService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopCartService.java index d486039..9318e9d 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopCartService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopCartService.java @@ -1,7 +1,12 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.dtos.shop.ComShopCartDTO; +import com.panzhihua.common.model.dtos.shop.ComShopEditNubCartDTO; +import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComShopCartDO; + +import java.util.List; /** * @auther lyq @@ -10,6 +15,34 @@ */ public interface ComShopCartService extends IService<ComShopCartDO> { + /** + * 根据用户id查询购物车列表信息 + * @param userId 用户id + * @return 购物车列表信息 + */ + R shopCartList(Long userId); + + /** + * 购物车添加 + * @param comShopCartDTO 请求参数 + * @return 添加结果 + */ + R shopAddCart(ComShopCartDTO comShopCartDTO); + + /** + * 购物车内商品数量修改 + * @param shopEditNubCartDTO 请求参数 + * @return 修改结果 + */ + R shopEditNubCart(ComShopEditNubCartDTO shopEditNubCartDTO); + + /** + * 删除购物车记录 + * @param Ids 购物车id集合 + * @return 删除结果 + */ + R shopDelCart(List<Long> Ids); + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopGoodsService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopGoodsService.java index cd06d95..8d84056 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopGoodsService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopGoodsService.java @@ -1,6 +1,7 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.dtos.shop.ComShopGoodsDTO; import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.shop.AddShopGoodsVO; @@ -14,6 +15,20 @@ public interface ComShopGoodsService extends IService<ComShopGoodsDO> { /** + * 分页查询商品列表 + * @param comShopGoodsDTO 请求参数 + * @return 商品列表 + */ + R pageShopGoods(ComShopGoodsDTO comShopGoodsDTO); + + /** + * 根据商品id查询商品信息 + * @param goodsId 商品id + * @return 商品信息 + */ + R shopGoodsDetail(Long goodsId); + + /** * 添加商品 * @param addShopGoodsVO * @return diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOperLogService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOperLogService.java new file mode 100644 index 0000000..dac6403 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOperLogService.java @@ -0,0 +1,29 @@ +package com.panzhihua.service_community.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.dtos.PageDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.shop.ShopOperLogVO; +import com.panzhihua.service_community.model.dos.ComShopOperLogDO; +import com.panzhihua.service_community.model.dos.ComShopUserAddressDO; + +/** + * @author cedoo + * @create 2021-4-16 10:49:12 + * @describe 商城后台操作日志 + */ +public interface ComShopOperLogService extends IService<ComShopOperLogDO> { + /** + * 通过VO添加日志 + * @param shopOperlog 商城后台日志VO + * @return + */ + R saveLog(ShopOperLogVO shopOperlog); + + /** + * 查询商城后台操作日志 + * @param pageDTO + * @return + */ + R pageShopOperLog(PageDTO pageDTO); +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOrderService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOrderService.java index f926da5..3bb04c6 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOrderService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopOrderService.java @@ -1,6 +1,12 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.dtos.shop.ComShopOrderCreateDTO; +import com.panzhihua.common.model.dtos.shop.ComShopOrderPreviewDTO; +import com.panzhihua.common.model.dtos.shop.PageComOrderListDTO; +import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComShopOrderDO; /** @@ -10,4 +16,68 @@ */ public interface ComShopOrderService extends IService<ComShopOrderDO> { + /** + * 分页搜索订单记录 + * @param pageComShopOrderSearchDTO 分页数据 + * @return 分页订单 + */ + R pageShopOrder(PageComShopOrderSearchDTO pageComShopOrderSearchDTO); + /** + * 订单预览 + * @param orderPreviewDTO 请求参数 + * @return 订单预览数据 + */ + R orderPreview(ComShopOrderPreviewDTO orderPreviewDTO); + + /** + * 创建订单 + * @param orderCreateDTO 创建订单请求参数 + * @return 创建结果 + */ + R orderCreate(ComShopOrderCreateDTO orderCreateDTO); + + /** + * 分页查询用户订单列表 + * @param comOrderListDTO 请求参数 + * @return 查询结果 + */ + R pageOrderList(PageComOrderListDTO comOrderListDTO); + + /** + * 根据订单id查询订单详情 + * @param orderId 订单id + * @return 订单详情 + */ + R orderDetail(Long orderId); + + /** + * 根据订单id取消订单 + * @param orderId 订单id + * @param phone 操作用户手机号 + * @return 取消结果 + */ + R orderCancel(Long orderId,String phone); + + /** + * 根据订单id删除订单 + * @param orderId 订单id + * @return 删除结果 + */ + R orderDelete(Long orderId); + + /** + * 根据订单id确认收货 + * @param orderId 订单id + * @param phone 手机号 + * @return 确认结果 + */ + R orderConfirm(Long orderId, String phone); + + /** + * 统计用户订单数量 + * @param userId 用户id + * @return 统计结果 + */ + R orderStatistics(Long userId); + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopStoreService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopStoreService.java index e901849..58c5276 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopStoreService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopStoreService.java @@ -21,6 +21,13 @@ R pageStoreList(PageComShopStoreDTO pageComShopStoreDTO); /** + * 根据店铺id查询店铺详情 + * @param comShopStoreDTO 请求参数 + * @return 店铺详情 + */ + R shopStoreDetail(PageComShopStoreDTO comShopStoreDTO); + + /** * 保存店铺 * @param storeVO * @return diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopUserAddressService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopUserAddressService.java index 27c4b1f..70f679c 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopUserAddressService.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComShopUserAddressService.java @@ -1,6 +1,9 @@ package com.panzhihua.service_community.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.panzhihua.common.model.dtos.shop.ComShopAddressDTO; +import com.panzhihua.common.model.dtos.shop.PageComShopAddressDTO; +import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.model.dos.ComShopUserAddressDO; /** @@ -10,4 +13,32 @@ */ public interface ComShopUserAddressService extends IService<ComShopUserAddressDO> { + /** + * 查询用户收获地址列表 + * @param comShopAddressDTO 请求参数 + * @return 用户收货地址列表 + */ + R shopUserAddressList(PageComShopAddressDTO comShopAddressDTO); + + /** + * 用户添加书货地址 + * @param comShopAddressDTO 请求参数 + * @return 添加结果 + */ + R shopAddUserAddress(ComShopAddressDTO comShopAddressDTO); + + /** + * 用户修改收货地址 + * @param comShopAddressDTO 请求参数 + * @return 修改结果 + */ + R shopEditUserAddress(ComShopAddressDTO comShopAddressDTO); + + /** + * 用户删除收货地址 + * @param addressId 收货地址id + * @return 删除结果 + */ + R shopDelUserAddress(Long addressId); + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java index 087ec2f..3f7cfa9 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopCartServiceImpl.java @@ -1,11 +1,31 @@ package com.panzhihua.service_community.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.shop.ComShopCartDTO; +import com.panzhihua.common.model.dtos.shop.ComShopEditNubCartDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.shop.ComShopCartListVO; +import com.panzhihua.common.model.vos.shop.ComShopCartStoreVO; +import com.panzhihua.common.model.vos.shop.ComShopCartVO; import com.panzhihua.service_community.dao.ComShopCartDAO; +import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO; +import com.panzhihua.service_community.dao.ComShopGoodsDAO; +import com.panzhihua.service_community.dao.ComShopStoreDAO; import com.panzhihua.service_community.model.dos.ComShopCartDO; +import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO; +import com.panzhihua.service_community.model.dos.ComShopGoodsDO; +import com.panzhihua.service_community.model.dos.ComShopStoreDO; import com.panzhihua.service_community.service.ComShopCartService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @auther lyq @@ -16,4 +36,175 @@ @Service public class ComShopCartServiceImpl extends ServiceImpl<ComShopCartDAO, ComShopCartDO> implements ComShopCartService { + @Resource + private ComShopGoodsDAO shopGoodsDAO; + @Resource + private ComShopStoreDAO shopStoreDAO; + @Resource + private ComShopGoodsAttrDAO shopGoodsAttrDAO; + + + /** + * 根据用户id查询购物车列表 + * @param userId 用户id + * @return 购物车列表 + */ + @Override + public R shopCartList(Long userId){ + //返回参数 + ComShopCartListVO comShopCart = new ComShopCartListVO(); + //失效宝贝集合 + List<ComShopCartVO> invalidCartList = new ArrayList<>(); + //有效宝贝集合 + List<ComShopCartStoreVO> cartList = new ArrayList<>(); + + List<ComShopCartDO> shopCartDOList = this.baseMapper.selectList(new QueryWrapper<ComShopCartDO>().eq("user_id",userId)); + if(!shopCartDOList.isEmpty()){ + shopCartDOList.forEach(shopCart->{ + //查询当前商品是否是有效商品 + ComShopGoodsDO goodsDO = shopGoodsDAO.selectOne(new QueryWrapper<ComShopGoodsDO>() + .eq("id",shopCart.getGoodsId()).eq("delete_status",ComShopGoodsDO.deleteStatus.no) + .eq("status",ComShopGoodsDO.status.sell)); + if(goodsDO == null){ + ComShopCartVO invalidCart = new ComShopCartVO(); + BeanUtils.copyProperties(shopCart,invalidCart); + invalidCartList.add(invalidCart); + } + + //有效商品区分店铺 + if(cartList.isEmpty()){ + ComShopCartStoreVO cartStoreVO = new ComShopCartStoreVO(); + //查询商品所属店铺 + ComShopStoreDO shopStoreDO = shopStoreDAO.selectById(goodsDO.getStoreId()); + if(shopStoreDO != null){ + cartStoreVO.setStoreId(shopStoreDO.getId()); + cartStoreVO.setStoreName(shopStoreDO.getName()); + cartStoreVO.setStoreLogo(shopStoreDO.getLogo()); + } + List<ComShopCartVO> cartsList = new ArrayList<>(); + ComShopCartVO cartVO = new ComShopCartVO(); + BeanUtils.copyProperties(shopCart,cartVO); + cartsList.add(cartVO); + cartStoreVO.setCartList(cartsList); + cartList.add(cartStoreVO); + }else{ + boolean isOk = true; + for (ComShopCartStoreVO vo:cartList) { + if(vo.getStoreId().equals(goodsDO.getStoreId())){ + isOk = false; + ComShopCartVO cartVO = new ComShopCartVO(); + BeanUtils.copyProperties(shopCart,cartVO); + vo.getCartList().add(cartVO); + } + } + + if(isOk){ + ComShopCartStoreVO cartStoreVO = new ComShopCartStoreVO(); + //查询商品所属店铺 + ComShopStoreDO shopStoreDO = shopStoreDAO.selectById(goodsDO.getStoreId()); + if(shopStoreDO != null){ + cartStoreVO.setStoreId(shopStoreDO.getId()); + cartStoreVO.setStoreName(shopStoreDO.getName()); + cartStoreVO.setStoreLogo(shopStoreDO.getLogo()); + } + List<ComShopCartVO> cartsList = new ArrayList<>(); + ComShopCartVO cartVO = new ComShopCartVO(); + BeanUtils.copyProperties(shopCart,cartVO); + cartsList.add(cartVO); + cartStoreVO.setCartList(cartsList); + cartList.add(cartStoreVO); + } + + } + + + }); + //设置返回参数 + comShopCart.setInvalidCartList(invalidCartList); + comShopCart.setCartList(cartList); + } + return R.ok(comShopCart); + } + + /** + * 购物车添加 + * @param comShopCartDTO 请求参数 + * @return 添加结果 + */ + @Override + public R shopAddCart(ComShopCartDTO comShopCartDTO){ + //查询当前商品是否已经在购物车中 + ComShopCartDO shopCartDO = this.baseMapper.selectOne(new QueryWrapper<ComShopCartDO>().eq("user_id",comShopCartDTO.getUserId()) + .eq("goods_id",comShopCartDTO.getGoodsId()).eq("goods_attr_id",comShopCartDTO.getGoodsAttrId())); + if(shopCartDO == null){//购物车表里未有该商品的记录 + shopCartDO = new ComShopCartDO(); + shopCartDO.setUserId(comShopCartDTO.getUserId()); + shopCartDO.setAmount(comShopCartDTO.getNumber()); + //查询商品 + ComShopGoodsDO shopGoodsDO = shopGoodsDAO.selectById(comShopCartDTO.getGoodsId()); + if(shopGoodsDO == null){ + return R.fail("未查询到商品信息"); + } + shopCartDO.setGoodsName(shopGoodsDO.getName()); + shopCartDO.setGoodsId(shopGoodsDO.getId()); + shopCartDO.setStoreId(shopGoodsDO.getStoreId()); + //查询商品规格 + ComShopGoodsAttrDO shopGoodsAttrDO = shopGoodsAttrDAO.selectById(comShopCartDTO.getGoodsAttrId()); + if(shopGoodsAttrDO == null){ + return R.fail("未查询到商品规格"); + } + shopCartDO.setGoodsAttrId(shopGoodsAttrDO.getId()); + shopCartDO.setGoodsAttr(shopGoodsAttrDO.getGoodsAttr()); + shopCartDO.setGoodsAttrPic(shopGoodsAttrDO.getAttrPic()); + shopCartDO.setPrice(shopGoodsAttrDO.getPrice()); + //执行添加操作 + if(this.baseMapper.insert(shopCartDO) > 0){ + return R.ok(); + }else{ + return R.fail("添加购物车失败"); + } + }else{//购物车已有该商品 + shopCartDO.setAmount(shopCartDO.getAmount() + comShopCartDTO.getNumber()); + //执行修改操作 + if(this.baseMapper.updateById(shopCartDO) > 0){ + return R.ok(); + }else{ + return R.fail("添加购物车失败"); + } + } + } + + /** + * 购物车内商品数量修改 + * @param shopEditNubCartDTO 请求参数 + * @return 修改结果 + */ + @Override + public R shopEditNubCart(ComShopEditNubCartDTO shopEditNubCartDTO){ + //查询购物车记录 + ComShopCartDO shopCartDO = this.baseMapper.selectById(shopEditNubCartDTO.getCartId()); + if(shopCartDO == null){ + return R.fail("未查询到购物车记录"); + } + shopCartDO.setAmount(shopEditNubCartDTO.getNumber()); + //执行修改操作 + if(this.baseMapper.updateById(shopCartDO) > 0){ + return R.ok(); + }else{ + return R.fail("修改失败"); + } + } + + /** + * 删除购物车记录 + * @param Ids 购物车id集合 + * @return 删除结果 + */ + public R shopDelCart(List<Long> Ids){ + if(this.baseMapper.deleteBatchIds(Ids) > 0){ + return R.ok(); + }else{ + return R.fail("修改失败"); + } + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java index ec7b758..fee1058 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopGoodsServiceImpl.java @@ -2,6 +2,8 @@ import java.math.BigDecimal; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,14 +11,25 @@ import com.google.common.collect.Lists; import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO; +import com.panzhihua.common.model.dtos.shop.ComShopGoodsDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.shop.AddShopGoodsAttrVO; import com.panzhihua.common.model.vos.shop.PageShopGoodsVO; import com.panzhihua.common.model.vos.shop.AddShopGoodsVO; import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO; +import com.panzhihua.common.model.vos.shop.ComShopGoodsAttrVO; +import com.panzhihua.common.model.vos.shop.ComShopGoodsVO; +import com.panzhihua.common.model.vos.shop.ComShopStoreVO; +import com.panzhihua.service_community.dao.ComShopGoodsAttrDAO; +import com.panzhihua.common.model.dtos.shop.PageComShopGoodsDTO; +import com.panzhihua.common.model.vos.shop.ComShopStoreVO; +import com.panzhihua.common.model.vos.shop.ShopGoodsVO; import com.panzhihua.service_community.dao.ComShopGoodsDAO; import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO; +import com.panzhihua.service_community.dao.ComShopStoreDAO; +import com.panzhihua.service_community.model.dos.ComShopGoodsAttrDO; import com.panzhihua.service_community.model.dos.ComShopGoodsDO; +import com.panzhihua.service_community.model.dos.ComShopStoreDO; import com.panzhihua.service_community.service.ComShopGoodsService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; @@ -28,6 +41,10 @@ import java.util.List; import java.util.stream.Collectors; +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + /** * @auther lyq * @create 2021-04-14 15:02:35 @@ -38,6 +55,10 @@ public class ComShopGoodsServiceImpl extends ServiceImpl<ComShopGoodsDAO, ComShopGoodsDO> implements ComShopGoodsService { @Resource private ComShopGoodsAttrServiceImpl goodsAttrService; + @Resource + private ComShopGoodsAttrDAO shopGoodsAttrDAO; + @Resource + private ComShopStoreDAO shopStoreDAO; @Override public R saveShopGoods(AddShopGoodsVO addShopGoodsVO) { @@ -157,4 +178,54 @@ this.baseMapper.updateById(shopGoodsDO); return R.ok(); } + /** + * 分页查询商品列表 + * @param comShopGoodsDTO 请求参数 + * @return 商品列表 + */ + @Override + public R pageShopGoods(ComShopGoodsDTO comShopGoodsDTO){ + Page page = new Page<>(comShopGoodsDTO.getPageNum(),comShopGoodsDTO.getPageSize()); + return R.ok(this.baseMapper.pageShopGoods(page,comShopGoodsDTO)); + } + + /** + * 根据商品id查询商品信息 + * @param goodsId 商品id + * @return 商品信息 + */ + @Override + public R shopGoodsDetail(Long goodsId){ + + //根据id查询商品信息 + ComShopGoodsDO goodsDO = this.baseMapper.selectById(goodsId); + if(goodsDO == null || goodsDO.getDeleteStatus().equals(ComShopGoodsDO.deleteStatus.yes)){ + return R.fail(403,"商品不存在"); + } + if(!goodsDO.getStatus().equals(ComShopGoodsDO.status.sell)){ + return R.fail(405,"商品已下架"); + } + + //根据商品id查询商品规格信息 + List<ComShopGoodsAttrVO> goodsAttrList = new ArrayList<>(); + List<ComShopGoodsAttrDO> goodsAttrDOS = shopGoodsAttrDAO.selectList(new QueryWrapper<ComShopGoodsAttrDO>().eq("goods_id",goodsId)); + goodsAttrDOS.forEach(attrDO->{ + ComShopGoodsAttrVO goodsAttrVO = new ComShopGoodsAttrVO(); + BeanUtils.copyProperties(attrDO,goodsAttrVO); + goodsAttrList.add(goodsAttrVO); + }); + + //查询商品店铺信息 + ComShopStoreDO shopStoreDO = shopStoreDAO.selectById(goodsDO.getStoreId()); + ComShopStoreVO shopStoreVO = new ComShopStoreVO(); + BeanUtils.copyProperties(shopStoreDO,shopStoreVO); + + //设置值 + ComShopGoodsVO shopGoods = new ComShopGoodsVO(); + BeanUtils.copyProperties(goodsDO,shopGoods); + shopGoods.setGoodsAttrList(goodsAttrList); + shopGoods.setShopStoreVO(shopStoreVO); + return R.ok(shopGoods); + } + } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOperLogServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOperLogServiceImpl.java new file mode 100644 index 0000000..5feda49 --- /dev/null +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOperLogServiceImpl.java @@ -0,0 +1,62 @@ +package com.panzhihua.service_community.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.PageDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.shop.ComShopStoreVO; +import com.panzhihua.common.model.vos.shop.ShopOperLogVO; +import com.panzhihua.service_community.dao.ComShopOperLogDAO; +import com.panzhihua.service_community.dao.ComShopOrderDAO; +import com.panzhihua.service_community.model.dos.ComShopOperLogDO; +import com.panzhihua.service_community.model.dos.ComShopOrderDO; +import com.panzhihua.service_community.model.dos.ComShopStoreDO; +import com.panzhihua.service_community.service.ComShopOperLogService; +import com.panzhihua.service_community.service.ComShopOrderService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +/** + * @auther cedoo + * @create 2021-4-17 10:51:12 + * @describe 日志服务 + */ +@Slf4j +@Service +public class ComShopOperLogServiceImpl extends ServiceImpl<ComShopOperLogDAO, ComShopOperLogDO> implements ComShopOperLogService { + + @Override + public R saveLog(ShopOperLogVO shopOperLogVO) { + if (shopOperLogVO == null) { + return R.ok("500", "数据为空!"); + } + ComShopOperLogDO theDo = new ComShopOperLogDO(); + BeanUtils.copyProperties(shopOperLogVO, theDo); + this.baseMapper.insert(theDo); + return R.ok(); + } + + @Override + public R pageShopOperLog(PageDTO pageDTO) { + Page page = new Page<>(pageDTO.getPageNum(), pageDTO.getPageSize()); + IPage<ComShopOperLogDO> comShopOperLogDOIPage = + this.baseMapper.selectPage(page, new LambdaQueryWrapper<ComShopOperLogDO>().eq(ComShopOperLogDO::getUserId, pageDTO.getUserId())); + + IPage<ShopOperLogVO> comShopOperLogVOIPage = + comShopOperLogDOIPage.convert(comShopOperLogDO -> { + ShopOperLogVO shopOperLogVO = new ShopOperLogVO(); + BeanUtils.copyProperties(comShopOperLogDO, shopOperLogVO); + /** + * 隐藏敏感信息 + */ + shopOperLogVO.setJsonResult("****"); + shopOperLogVO.setOperParam("****"); + return shopOperLogVO; + }); + return R.ok(comShopOperLogVOIPage); + } +} diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java index 265f044..e3b28ad 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopOrderServiceImpl.java @@ -1,11 +1,36 @@ package com.panzhihua.service_community.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.PageDTO; +import com.panzhihua.common.model.dtos.shop.PageComShopOrderSearchDTO; +import com.panzhihua.common.model.vos.R; import com.panzhihua.service_community.dao.ComShopOrderDAO; import com.panzhihua.service_community.model.dos.ComShopOrderDO; +import com.panzhihua.common.model.dtos.shop.ComShopOrderCreateDTO; +import com.panzhihua.common.model.dtos.shop.ComShopOrderCreateGoodsDTO; +import com.panzhihua.common.model.dtos.shop.ComShopOrderPreviewDTO; +import com.panzhihua.common.model.dtos.shop.PageComOrderListDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.shop.*; +import com.panzhihua.common.utlis.OrderNoUtils; +import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.service_community.dao.*; +import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.ComShopOrderService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; /** * @auther lyq @@ -16,4 +41,492 @@ @Service public class ComShopOrderServiceImpl extends ServiceImpl<ComShopOrderDAO, ComShopOrderDO> implements ComShopOrderService { + @Resource + private ComShopGoodsDAO comShopGoodsDAO; + @Resource + private ComShopGoodsAttrDAO comShopGoodsAttrDAO; + @Resource + private ComShopCartDAO comShopCartDAO; + @Resource + private ComShopStoreDAO comShopStoreDAO; + @Resource + private ComShopUserAddressDAO comShopUserAddressDAO; + @Resource + private ComShopOrderOperateDAO comShopOrderOperateDAO; + @Resource + private ComShopOrderGoodsDAO comShopOrderGoodsDAO; + + /** + * 订单预览 + * @param orderPreviewDTO 请求参数 + * @return 订单预览数据 + */ + @Override + public R orderPreview(ComShopOrderPreviewDTO orderPreviewDTO){ + + //返回参数 + ComShopOrderPreviewVO orderPreviewVO = new ComShopOrderPreviewVO(); + //返回商品列表 + List<ComShopOrderGoodsVO> orderGoodsList = new ArrayList<>(); + Long storeId = 0L; + BigDecimal orderTotal = BigDecimal.ZERO; + Integer orderGoodsTotal = 0; + //判断提交方式 + if(orderPreviewDTO.getSubmitType().equals(ComShopOrderPreviewDTO.submitType.details)){//详情页提交 + //查询商品信息 + ComShopGoodsDO goodsDO = comShopGoodsDAO.selectOne(new QueryWrapper<ComShopGoodsDO>().eq("id",orderPreviewDTO.getGoodsId()) + .eq("status",ComShopGoodsDO.status.sell).eq("delete_status",ComShopGoodsDO.deleteStatus.no)); + if(goodsDO == null){ + return R.fail("商品已下架或已删除"); + } + //设置店铺id + storeId = goodsDO.getStoreId(); + + //查询商品规格信息 + ComShopGoodsAttrDO goodsAttrDO = comShopGoodsAttrDAO.selectById(orderPreviewDTO.getGoodsAttrId()); + if(goodsAttrDO == null){ + return R.fail("商品规格不存在"); + } + + orderTotal = goodsAttrDO.getPrice().multiply(BigDecimal.valueOf(orderPreviewDTO.getBuyNum())); + orderGoodsTotal = orderPreviewDTO.getBuyNum(); + //商品信息赋值 + ComShopOrderGoodsVO orderGoodsVO = new ComShopOrderGoodsVO(); + orderGoodsVO.setGoodsName(goodsDO.getName()); + orderGoodsVO.setGoodsId(goodsDO.getId()); + orderGoodsVO.setGoodsAttrId(goodsAttrDO.getId()); + orderGoodsVO.setGoodsPic(goodsAttrDO.getAttrPic()); + orderGoodsVO.setPrice(goodsAttrDO.getPrice()); + orderGoodsVO.setNum(orderPreviewDTO.getBuyNum()); + orderGoodsList.add(orderGoodsVO); + }else if(orderPreviewDTO.getSubmitType().equals(ComShopOrderPreviewDTO.submitType.cart)){//购物车提交 + List<ComShopCartDO> cartList = comShopCartDAO.selectBatchIds(orderPreviewDTO.getCartIds()); + if(cartList.isEmpty()){ + return R.fail("未找到购物车商品信息"); + } + //设置店铺id + storeId = cartList.get(0).getStoreId(); + //循环遍历购物车商品信息 + for (ComShopCartDO cartDO:cartList) { + //商品信息赋值 + ComShopOrderGoodsVO orderGoodsVO = new ComShopOrderGoodsVO(); + orderGoodsVO.setGoodsId(cartDO.getGoodsId()); + orderGoodsVO.setGoodsAttrId(cartDO.getGoodsAttrId()); + orderGoodsVO.setGoodsPic(cartDO.getGoodsAttrPic()); + orderGoodsVO.setNum(cartDO.getAmount()); + orderGoodsVO.setGoodsName(cartDO.getGoodsName()); + //查询商品规格 + ComShopGoodsAttrDO goodsAttrDO = comShopGoodsAttrDAO.selectById(cartDO.getGoodsAttrId()); + if(goodsAttrDO != null){ + orderGoodsVO.setPrice(goodsAttrDO.getPrice()); + }else{ + orderGoodsVO.setPrice(BigDecimal.ZERO); + } + orderTotal = orderTotal.add(orderGoodsVO.getPrice().multiply(BigDecimal.valueOf(cartDO.getAmount()))); + orderGoodsTotal += cartDO.getAmount(); + orderGoodsList.add(orderGoodsVO); + } + } + orderPreviewVO.setOrderTotal(orderTotal); + orderPreviewVO.setOrderGoodsTotal(orderGoodsTotal); + orderPreviewVO.setOrderGoodsList(orderGoodsList); + + //查询店铺信息 + ComShopStoreDO storeDO = comShopStoreDAO.selectById(storeId); + if(storeDO != null){ + ComShopStoreVO shopStoreVO = new ComShopStoreVO(); + BeanUtils.copyProperties(storeDO,shopStoreVO); + orderPreviewVO.setShopStoreVO(shopStoreVO); + } + + //查询默认收货地址 + //查询上次购买记录的收货地址 + List<ComShopOrderDO> shopOrders = this.baseMapper.selectList(new QueryWrapper<ComShopOrderDO>() + .eq("user_id",orderPreviewDTO.getUserId()).orderByDesc("create_at")); + if(shopOrders.isEmpty()){//未查询到用户上一笔订单 + //查询用户收货地址中的默认地址 + ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectOne(new QueryWrapper<ComShopUserAddressDO>() + .eq("user_id",orderPreviewDTO.getUserId()).eq("is_default",ComShopUserAddressDO.isDefault.yes)); + if(userAddressDO != null){ + ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); + BeanUtils.copyProperties(userAddressDO,userAddressVO); + orderPreviewVO.setUserAddressVO(userAddressVO); + }else{ + List<ComShopUserAddressDO> userAddressDOList = comShopUserAddressDAO.selectList(new QueryWrapper<ComShopUserAddressDO>() + .eq("user_id",orderPreviewDTO.getUserId()).orderByDesc("create_at")); + if(!userAddressDOList.isEmpty()){ + ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); + BeanUtils.copyProperties(userAddressDOList.get(0),userAddressVO); + orderPreviewVO.setUserAddressVO(userAddressVO); + } + } + }else{//查询到用户上一笔订单 + ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(shopOrders.get(0).getReceiverId()); + ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); + BeanUtils.copyProperties(userAddressDO,userAddressVO); + orderPreviewVO.setUserAddressVO(userAddressVO); + } + + return R.ok(orderPreviewVO); + } + + /** + * 创建订单 + * @param orderCreateDTO 创建订单请求参数 + * @return 创建结果 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public R orderCreate(ComShopOrderCreateDTO orderCreateDTO){ + //创建返回参数 + ComShopOrderVO shopOrderVO = new ComShopOrderVO(); + + //查询用户收货地址 + ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(orderCreateDTO.getReceiverId()); + if(userAddressDO == null){ + return R.fail("收货地址不存在"); + } + //用户id + Long userId = orderCreateDTO.getUserId(); + //店铺id + Long storeId = 0L; + //生成订单号 + String orderNo = OrderNoUtils.NextOrderNo(userId); + //配送方式 + Integer deliveryType = 0; + + //订单总金额 + BigDecimal orderTotal = BigDecimal.ZERO; + + //创建订单商品信息 + List<ComShopOrderGoodsDO> orderGoodsDOList = new ArrayList<>(); + if(!orderCreateDTO.getOrderGoodsList().isEmpty()){ + for (ComShopOrderCreateGoodsDTO createGoodsDTO:orderCreateDTO.getOrderGoodsList()) { + //查询当前商品信息 + ComShopGoodsDO goodsDO = comShopGoodsDAO.selectOne(new QueryWrapper<ComShopGoodsDO>() + .eq("id",createGoodsDTO.getGoodsId()).eq("delete_status",ComShopGoodsDO.deleteStatus.no) + .eq("status",ComShopGoodsDO.status.sell)); + if(goodsDO == null){ + log.error("未查询到商品信息,商品已下架活已删除,商品id" + createGoodsDTO.getGoodsId()); + continue; + } + storeId = goodsDO.getStoreId(); + deliveryType = goodsDO.getDeliveryType(); + ComShopOrderGoodsDO orderGoodsDO = new ComShopOrderGoodsDO(); + orderGoodsDO.setGoodsId(goodsDO.getId()); + orderGoodsDO.setGoodsName(goodsDO.getName()); + orderGoodsDO.setStoreId(storeId); + orderGoodsDO.setUserId(userId); + orderGoodsDO.setAmount(createGoodsDTO.getNum()); + orderGoodsDO.setOrderNo(orderNo); + //查询当前商品规格 + ComShopGoodsAttrDO goodsAttrDO = comShopGoodsAttrDAO.selectById(createGoodsDTO.getGoodsAttrId()); + if(goodsAttrDO == null){ + log.error("未查询到商品规格信息,商品id" + createGoodsDTO.getGoodsId() + "商品规格id:" + createGoodsDTO.getGoodsAttrId()); + continue; + } + orderGoodsDO.setGoodsAttrId(goodsAttrDO.getId()); + orderGoodsDO.setGoodsAttrPrice(goodsAttrDO.getPrice()); + orderGoodsDO.setGoodsAttrPic(goodsAttrDO.getAttrPic()); + orderGoodsDOList.add(orderGoodsDO); + //将商品金额计算到订单总金额 + orderTotal = orderTotal.add(orderGoodsDO.getGoodsAttrPrice().multiply(BigDecimal.valueOf(orderGoodsDO.getAmount()))); + } + } + + //如果是购物车提交,需要将购物车内商品移除 + if(orderCreateDTO.getSubmitType().equals(ComShopOrderCreateDTO.submitType.cart)){ + comShopCartDAO.deleteBatchIds(orderCreateDTO.getCartIds()); + } + + //创建订单信息 + ComShopOrderDO shopOrderDO = new ComShopOrderDO(); + shopOrderDO.setOrderNo(orderNo); + shopOrderDO.setStoreId(storeId); + shopOrderDO.setUserId(userId); + shopOrderDO.setStatus(ComShopOrderDO.status.dfk); + shopOrderDO.setPayStatus(ComShopOrderDO.payStatus.no); + shopOrderDO.setReceiverId(orderCreateDTO.getReceiverId()); + shopOrderDO.setDeleteStatus(ComShopOrderDO.deleteStatus.no); + shopOrderDO.setTotalAmount(orderTotal); + shopOrderDO.setDiscountAmount(BigDecimal.ZERO); + shopOrderDO.setDeliveryType(deliveryType); + if(StringUtils.isNotEmpty(orderCreateDTO.getRemark())){ + shopOrderDO.setRemark(orderCreateDTO.getRemark()); + } + this.baseMapper.insert(shopOrderDO); + + if(!orderGoodsDOList.isEmpty()){ + orderGoodsDOList.forEach(orderGoods ->{ + orderGoods.setOrderId(shopOrderDO.getId()); + comShopOrderGoodsDAO.insert(orderGoods); + }); + } + + //创建订单操作记录 + ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); + orderOperateDO.setOrderNo(orderNo); + + orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.create); + orderOperateDO.setOperationTime(new Date()); + if(StringUtils.isNotEmpty(orderCreateDTO.getPhone())){ + orderOperateDO.setOperationContent("用户" + orderCreateDTO.getPhone() + "下单"); + orderOperateDO.setOperationBy("用户" + orderCreateDTO.getPhone()); + }else { + orderOperateDO.setOperationContent("用户下单"); + orderOperateDO.setOperationBy("用户"); + } + comShopOrderOperateDAO.insert(orderOperateDO); + + shopOrderVO.setOrderNo(orderNo); + shopOrderVO.setOrderTotal(orderTotal); + return R.ok(shopOrderVO); + } + + /** + * 分页查询用户订单列表 + * @param comOrderListDTO 请求参数 + * @return 查询结果 + */ + @Override + public R pageOrderList(PageComOrderListDTO comOrderListDTO){ + Page page = new Page<>(comOrderListDTO.getPageNum(),comOrderListDTO.getPageSize()); + IPage<ComShopOrderPageVO> orderPageVOIPage = this.baseMapper.pageOrderList(page,comOrderListDTO); + if(!orderPageVOIPage.getRecords().isEmpty()){ + orderPageVOIPage.getRecords().forEach(orderVo -> { + List<ComShopOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); + //查询订单下商品信息 + List<ComShopOrderGoodsDO> orderGoodsDOList = comShopOrderGoodsDAO.selectList(new QueryWrapper<ComShopOrderGoodsDO>() + .eq("order_no",orderVo.getOrderNo())); + if(!orderGoodsDOList.isEmpty()){ + orderGoodsDOList.forEach(orderGoods -> { + ComShopOrderGoodsVO orderGoodsVO = new ComShopOrderGoodsVO(); + BeanUtils.copyProperties(orderGoods,orderGoodsVO); + orderGoodsVO.setNum(orderGoods.getAmount()); + orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); + orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); + orderGoodsVOS.add(orderGoodsVO); + }); + } + orderVo.setOrderGoodsVOList(orderGoodsVOS); + + ComShopStoreVO shopStoreVO = new ComShopStoreVO(); + //查询店铺信息 + ComShopStoreDO shopStoreDO = comShopStoreDAO.selectById(orderVo.getStoreId()); + if(shopStoreDO != null){ + BeanUtils.copyProperties(shopStoreDO,shopStoreVO); + } + orderVo.setShopStoreVO(shopStoreVO); + }); + } + return R.ok(orderPageVOIPage); + } + + /** + * 根据订单id查询订单详情 + * @param orderId 订单id + * @return 订单详情 + */ + @Override + public R orderDetail(Long orderId) { + + ComShopOrderPageVO orderVO = new ComShopOrderPageVO(); + //查询订单信息 + ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); + if(shopOrderDO == null){ + return R.fail("未查询到订单"); + } + BeanUtils.copyProperties(shopOrderDO,orderVO); + orderVO.setOrderTotal(shopOrderDO.getTotalAmount()); + + ComShopStoreVO shopStoreVO = new ComShopStoreVO(); + //查询店铺信息 + ComShopStoreDO shopStoreDO = comShopStoreDAO.selectById(shopOrderDO.getStoreId()); + if(shopStoreDO != null){ + BeanUtils.copyProperties(shopStoreDO,shopStoreVO); + } + orderVO.setShopStoreVO(shopStoreVO); + + List<ComShopOrderGoodsVO> orderGoodsVOS = new ArrayList<>(); + //查询订单下商品信息 + List<ComShopOrderGoodsDO> orderGoodsDOList = comShopOrderGoodsDAO.selectList(new QueryWrapper<ComShopOrderGoodsDO>() + .eq("order_no",shopOrderDO.getOrderNo())); + if(!orderGoodsDOList.isEmpty()){ + orderGoodsDOList.forEach(orderGoods -> { + ComShopOrderGoodsVO orderGoodsVO = new ComShopOrderGoodsVO(); + BeanUtils.copyProperties(orderGoods,orderGoodsVO); + orderGoodsVO.setNum(orderGoods.getAmount()); + orderGoodsVO.setGoodsPic(orderGoods.getGoodsAttrPic()); + orderGoodsVO.setPrice(orderGoods.getGoodsAttrPrice()); + orderGoodsVOS.add(orderGoodsVO); + }); + } + orderVO.setOrderGoodsVOList(orderGoodsVOS); + + ComShopUserAddressVO userAddressVO = new ComShopUserAddressVO(); + //查询用户收货地址 + ComShopUserAddressDO userAddressDO = comShopUserAddressDAO.selectById(shopOrderDO.getReceiverId()); + if(userAddressDO != null){ + BeanUtils.copyProperties(userAddressDO,userAddressVO); + orderVO.setUserAddressVO(userAddressVO); + } + + return R.ok(orderVO); + } + + /** + * 根据订单id取消订单 + * @param orderId 订单id + * @param phone 操作用户手机号 + * @return 取消结果 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public R orderCancel(Long orderId,String phone){ + //查询订单 + ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); + if(shopOrderDO == null){ + return R.fail("未查询到订单"); + } + if(!shopOrderDO.getStatus().equals(ComShopOrderDO.status.dfk)){ + return R.fail("已支付订单不可取消"); + } + //取消订单 + shopOrderDO.setStatus(ComShopOrderDO.status.yqx); + if(this.baseMapper.updateById(shopOrderDO) > 0){ + //添加订单操作记录 + ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); + orderOperateDO.setOrderNo(shopOrderDO.getOrderNo()); + orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.cancel); + orderOperateDO.setOperationTime(new Date()); + if(StringUtils.isNotEmpty(phone)){ + orderOperateDO.setOperationContent("用户" + phone + "取消订单"); + orderOperateDO.setOperationBy("用户" + phone); + }else { + orderOperateDO.setOperationContent("用户取消订单"); + orderOperateDO.setOperationBy("用户"); + } + comShopOrderOperateDAO.insert(orderOperateDO); + return R.ok(); + }else{ + return R.fail("取消订单失败"); + } + + } + + /** + * 根据订单id删除订单 + * @param orderId 订单id + * @return 删除结果 + */ + @Override + public R orderDelete(Long orderId){ + //查询订单 + ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); + if(shopOrderDO == null){ + return R.fail("未查询到订单"); + } + if(!shopOrderDO.getStatus().equals(ComShopOrderDO.status.ywc) && !shopOrderDO.getStatus().equals(ComShopOrderDO.status.yqx)){ + return R.fail("该订单状态不可删除"); + } + + shopOrderDO.setDeleteStatus(ComShopOrderDO.deleteStatus.yes); + if(this.baseMapper.updateById(shopOrderDO) > 0){ + return R.ok(); + }else{ + return R.fail("取消订单失败"); + } + } + + /** + * 根据订单id确认收货 + * @param orderId 订单id + * @param phone 手机号 + * @return 确认结果 + */ + @Transactional(rollbackFor = Exception.class) + @Override + public R orderConfirm(Long orderId, String phone){ + //查询订单 + ComShopOrderDO shopOrderDO = this.baseMapper.selectById(orderId); + if(shopOrderDO == null){ + return R.fail("未查询到订单"); + } + if(!shopOrderDO.getStatus().equals(ComShopOrderDO.status.dsh)){ + return R.fail("该订单状态不可确认收货"); + } + //订单确认收货 + shopOrderDO.setStatus(ComShopOrderDO.status.ywc); + if(this.baseMapper.updateById(shopOrderDO) > 0){ + //添加订单操作记录 + ComShopOrderOperateDO orderOperateDO = new ComShopOrderOperateDO(); + orderOperateDO.setOrderNo(shopOrderDO.getOrderNo()); + orderOperateDO.setOperationType(ComShopOrderOperateDO.operationType.complete); + orderOperateDO.setOperationTime(new Date()); + if(StringUtils.isNotEmpty(phone)){ + orderOperateDO.setOperationContent("用户" + phone + "确认收货"); + orderOperateDO.setOperationBy("用户" + phone); + }else { + orderOperateDO.setOperationContent("用户确认收货"); + orderOperateDO.setOperationBy("用户"); + } + comShopOrderOperateDAO.insert(orderOperateDO); + return R.ok(); + }else{ + return R.fail("确认收货失败"); + } + } + + /** + * 统计用户订单数量 + * @param userId 用户id + * @return 统计结果 + */ + @Override + public R orderStatistics(Long userId){ + OrderStatisticsVO orderStatisticsVO = new OrderStatisticsVO(); + //待付款订单数 + Integer paymentNum = 0; + //待发货订单数 + Integer deliverNum = 0; + //待收货订单数 + Integer receivingNum = 0; + List<ComShopOrderDO> shopOrderList = this.baseMapper.selectList(new QueryWrapper<ComShopOrderDO>() + .eq("user_id",userId).eq("delete_status",ComShopOrderDO.deleteStatus.no)); + if(!shopOrderList.isEmpty()){ + for (ComShopOrderDO orderDO:shopOrderList) { + if(orderDO.getStatus().equals(ComShopOrderDO.status.dfk)){ + paymentNum++; + }else if(orderDO.getStatus().equals(ComShopOrderDO.status.dfh)){ + deliverNum++; + }else if(orderDO.getStatus().equals(ComShopOrderDO.status.dsh)){ + receivingNum++; + } + } + } + orderStatisticsVO.setPaymentNum(paymentNum); + orderStatisticsVO.setDeliverNum(deliverNum); + orderStatisticsVO.setReceivingNum(receivingNum); + return R.ok(orderStatisticsVO); + } + + @Override + public R pageShopOrder(PageComShopOrderSearchDTO pageComShopOrderSearchDTO) { + + Long pageNum = pageComShopOrderSearchDTO.getPageNum(); + Long pageSize = pageComShopOrderSearchDTO.getPageSize(); + PageDTO page = new PageDTO(); + + page.setPageNum(pageNum); + page.setPageSize(pageSize); + if(pageNum==null||new Long(0).equals(pageNum.longValue())){ + page.setPageNum(1l); + } + if(pageSize==null||new Long(0).equals(pageSize.longValue())){ + page.setPageSize(10l); + } + + this.baseMapper.pageOrderBy(page, pageComShopOrderSearchDTO); + return null; + } } diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java index 1eec7c5..b5335c5 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopStoreServiceImpl.java @@ -7,6 +7,10 @@ import com.panzhihua.common.model.dtos.shop.PageComShopStoreDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.shop.PageShopStoreVO; +import com.panzhihua.common.model.vos.shop.ComShopStoreVO; +import com.panzhihua.service_community.dao.ComShopGoodsDAO; +import com.panzhihua.common.model.vos.shop.ComShopStoreVO; +import com.panzhihua.common.model.vos.shop.ShopGoodsVO; import com.panzhihua.common.model.vos.shop.ShopStoreVO; import com.panzhihua.service_community.dao.ComShopStoreDAO; import com.panzhihua.service_community.model.dos.ComShopStoreDO; @@ -14,6 +18,8 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; + +import javax.annotation.Resource; /** * @auther lyq @@ -23,6 +29,16 @@ @Slf4j @Service public class ComShopStoreServiceImpl extends ServiceImpl<ComShopStoreDAO, ComShopStoreDO> implements ComShopStoreService { + + @Resource + private ComShopGoodsDAO shopGoodsDAO; + + /** + * 查询店铺列表 + * @param comShopStoreDTO 请求参数 + * @return 店铺列表 + */ + @Override public R pageStoreList(PageComShopStoreDTO pageComShopStoreDTO) { Page page = new Page<>(pageComShopStoreDTO.getPageNum(), pageComShopStoreDTO.getPageSize()); @@ -30,6 +46,32 @@ return R.ok(comShopStoreVOIPage); } + /** + * 查询店铺详情 + * @param comShopStoreDTO 请求参数 + * @return 店铺详情 + */ + @Override + public R shopStoreDetail(PageComShopStoreDTO comShopStoreDTO) { + //查询店铺 + ComShopStoreDO storeDO = this.baseMapper.selectById(comShopStoreDTO.getStoreId()); + if (storeDO == null) { + return R.fail(401,"店铺不存在"); + } + if(storeDO.getStatus().equals(ComShopStoreDO.status.no)){ + return R.fail(402,"店铺已被禁用"); + } + ComShopStoreVO shopStoreVO = new ComShopStoreVO(); + BeanUtils.copyProperties(storeDO, shopStoreVO); + + //查询店铺下商品信息 + Page page = new Page<>(comShopStoreDTO.getPageNum(), comShopStoreDTO.getPageSize()); + shopStoreVO.setGoodsList(shopGoodsDAO.pageShopGoodsByStoreId(page, comShopStoreDTO).getRecords()); + + return R.ok(shopStoreVO); + + } + @Override public R saveStore(ShopStoreVO storeVO) { if (storeVO == null) { diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopUserAddressServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopUserAddressServiceImpl.java index 62d80f9..b5bdcd8 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopUserAddressServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComShopUserAddressServiceImpl.java @@ -1,11 +1,19 @@ package com.panzhihua.service_community.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.model.dtos.shop.ComShopAddressDTO; +import com.panzhihua.common.model.dtos.shop.PageComShopAddressDTO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.utlis.StringUtils; import com.panzhihua.service_community.dao.ComShopUserAddressDAO; import com.panzhihua.service_community.model.dos.ComShopUserAddressDO; import com.panzhihua.service_community.service.ComShopUserAddressService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * @auther lyq @@ -16,4 +24,97 @@ @Service public class ComShopUserAddressServiceImpl extends ServiceImpl<ComShopUserAddressDAO, ComShopUserAddressDO> implements ComShopUserAddressService { + /** + * 查询用户收获地址列表 + * @param comShopAddressDTO 请求参数 + * @return 用户收货地址列表 + */ + @Override + public R shopUserAddressList(PageComShopAddressDTO comShopAddressDTO){ + Page page = new Page<>(comShopAddressDTO.getPageNum(),comShopAddressDTO.getPageSize()); + return R.ok(this.baseMapper.pageUserAddressList(page,comShopAddressDTO.getUserId())); + } + + /** + * 用户添加收货地址 + * @param comShopAddressDTO 请求参数 + * @return 添加结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R shopAddUserAddress(ComShopAddressDTO comShopAddressDTO){ + ComShopUserAddressDO userAddressDO = new ComShopUserAddressDO(); + BeanUtils.copyProperties(comShopAddressDTO,userAddressDO); + + //如果新增的地址为默认地址,需要修改原来的默认地址为不默认 + if(userAddressDO.getIsDefault().equals(ComShopUserAddressDO.isDefault.yes)){ + ComShopUserAddressDO oldUserAddressDO = this.baseMapper.selectOne(new QueryWrapper<ComShopUserAddressDO>() + .eq("user_id",comShopAddressDTO.getUserId()).eq("is_default",ComShopUserAddressDO.isDefault.yes)); + if(oldUserAddressDO != null){ + oldUserAddressDO.setIsDefault(ComShopUserAddressDO.isDefault.no); + this.baseMapper.updateById(oldUserAddressDO); + } + } + + if(this.baseMapper.insert(userAddressDO) > 0){ + return R.ok(); + }else{ + return R.fail("添加收货地址失败"); + } + } + + /** + * 用户修改收货地址 + * @param comShopAddressDTO 请求参数 + * @return 修改结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R shopEditUserAddress(ComShopAddressDTO comShopAddressDTO){ + + //查询用户收货地址 + ComShopUserAddressDO userAddressDO = this.baseMapper.selectById(comShopAddressDTO.getAddressId()); + if(userAddressDO == null){ + return R.fail("未查询到用户收货地址信息"); + } + + BeanUtils.copyProperties(comShopAddressDTO,userAddressDO); + //如果要修改的地址为默认地址,需要修改原来的默认地址为不默认 + if(comShopAddressDTO.getIsDefault().equals(ComShopUserAddressDO.isDefault.yes)){ + ComShopUserAddressDO oldUserAddressDO = this.baseMapper.selectOne(new QueryWrapper<ComShopUserAddressDO>() + .eq("user_id",comShopAddressDTO.getUserId()).eq("is_default",ComShopUserAddressDO.isDefault.yes)); + if(oldUserAddressDO != null){ + //判断当前要修改的默认地址是否本来就是默认地址 + if(!oldUserAddressDO.getId().equals(userAddressDO.getId())){ + oldUserAddressDO.setIsDefault(ComShopUserAddressDO.isDefault.no); + this.baseMapper.updateById(oldUserAddressDO); + } + } + } + + if(this.baseMapper.updateById(userAddressDO) > 0){ + return R.ok(); + }else{ + return R.fail("添加收货地址失败"); + } + } + + /** + * 用户删除收货地址 + * @param addressId 收货地址id + * @return 删除结果 + */ + public R shopDelUserAddress(Long addressId){ + //查询用户收货地址 + ComShopUserAddressDO userAddressDO = this.baseMapper.selectById(addressId); + if(userAddressDO == null){ + return R.fail("未查询到用户收货地址信息"); + } + if(this.baseMapper.deleteById(addressId) > 0){ + return R.ok(); + }else{ + return R.fail("删除收货地址失败"); + } + } + } -- Gitblit v1.7.1