超市
This commit is contained in:
@ -139,8 +139,9 @@ public interface ErrorCodeConstants {
|
|||||||
|
|
||||||
ErrorCode STORE_GOODS_INVENTORY_RECORD_NOT_EXISTS = new ErrorCode(1_004_020_001, "商品出入库记录不存在");
|
ErrorCode STORE_GOODS_INVENTORY_RECORD_NOT_EXISTS = new ErrorCode(1_004_020_001, "商品出入库记录不存在");
|
||||||
|
|
||||||
ErrorCode STORE_REFUND_NOT_EXISTS = new ErrorCode(1_004_021_001, "超市订单退款审核不存在");
|
ErrorCode STORE_REFUND_NOT_EXISTS = new ErrorCode(1_004_022_001, "超市订单退款审核不存在");
|
||||||
ErrorCode STORE_REFUND_NOT_STATISTICS_EXISTS = new ErrorCode(1_004_022_001, "太空舱营业不存在");
|
ErrorCode STORE_REFUND_NOT_STATISTICS_EXISTS = new ErrorCode(1_004_023_001, "太空舱营业不存在");
|
||||||
|
|
||||||
|
ErrorCode STATISTICS_SPACE_CAPSULE_ORDER_NOT_EXISTS = new ErrorCode(1_004_021_001, "太空舱订单营业额统计不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5,12 +5,8 @@ import io.swagger.v3.oas.annotations.media.Schema;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 售卖商品分页 Request VO")
|
@Schema(description = "管理后台 - 售卖商品分页 Request VO")
|
||||||
@Data
|
@Data
|
||||||
@ -41,4 +37,6 @@ public class StoreSaleGoodsPageVO extends PageParam {
|
|||||||
|
|
||||||
private Long carteenId;
|
private Long carteenId;
|
||||||
|
|
||||||
|
private Integer goodsId;
|
||||||
|
|
||||||
}
|
}
|
@ -1,11 +1,13 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.storerefund.vo;
|
package cn.iocoder.yudao.module.member.controller.admin.storerefund.vo;
|
||||||
|
|
||||||
import lombok.*;
|
|
||||||
import java.util.*;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||||
import java.math.BigDecimal;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.ToString;
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||||
@ -20,7 +22,7 @@ public class StoreRefundPageReqVO extends PageParam {
|
|||||||
private Long carteenId;
|
private Long carteenId;
|
||||||
|
|
||||||
@Schema(description = "关联订单", example = "31383")
|
@Schema(description = "关联订单", example = "31383")
|
||||||
private Long orderId;
|
private Integer orderId;
|
||||||
|
|
||||||
@Schema(description = "退款金额")
|
@Schema(description = "退款金额")
|
||||||
private BigDecimal money;
|
private BigDecimal money;
|
||||||
|
@ -24,7 +24,7 @@ public class StoreRefundRespVO {
|
|||||||
|
|
||||||
@Schema(description = "关联订单", example = "31383")
|
@Schema(description = "关联订单", example = "31383")
|
||||||
@ExcelProperty("关联订单")
|
@ExcelProperty("关联订单")
|
||||||
private Long orderId;
|
private Integer orderId;
|
||||||
|
|
||||||
@Schema(description = "退款金额")
|
@Schema(description = "退款金额")
|
||||||
@ExcelProperty("退款金额")
|
@ExcelProperty("退款金额")
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.storerefund.vo;
|
package cn.iocoder.yudao.module.member.controller.admin.storerefund.vo;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.*;
|
import lombok.Data;
|
||||||
import java.util.*;
|
|
||||||
import javax.validation.constraints.*;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 超市订单退款审核新增/修改 Request VO")
|
@Schema(description = "管理后台 - 超市订单退款审核新增/修改 Request VO")
|
||||||
@ -17,7 +17,7 @@ public class StoreRefundSaveReqVO {
|
|||||||
private Long carteenId;
|
private Long carteenId;
|
||||||
|
|
||||||
@Schema(description = "关联订单", example = "31383")
|
@Schema(description = "关联订单", example = "31383")
|
||||||
private Long orderId;
|
private Integer orderId;
|
||||||
|
|
||||||
@Schema(description = "退款金额")
|
@Schema(description = "退款金额")
|
||||||
private BigDecimal money;
|
private BigDecimal money;
|
||||||
|
@ -14,7 +14,7 @@ import javax.annotation.Resource;
|
|||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 超市营业统计")
|
@Tag(name = "APP超市 - 超市营业统计")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/member/store-business")
|
@RequestMapping("/member/store-business")
|
||||||
@Validated
|
@Validated
|
||||||
|
@ -2,10 +2,7 @@ package cn.iocoder.yudao.module.member.controller.app.storegoods;
|
|||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreSaleGoodsPageVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsPageReqVO;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreGoodsRespVO;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storegoods.StoreGoodsDO;
|
|
||||||
import cn.iocoder.yudao.module.member.service.storegoods.StoreGoodsService;
|
import cn.iocoder.yudao.module.member.service.storegoods.StoreGoodsService;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
@ -19,7 +16,7 @@ import javax.validation.Valid;
|
|||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 商品")
|
@Tag(name = "APP超市 - 商品")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/member/store-goods")
|
@RequestMapping("/member/store-goods")
|
||||||
@Validated
|
@Validated
|
||||||
@ -31,9 +28,9 @@ public class AppStoreGoodsController {
|
|||||||
|
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
@Operation(summary = "获得商品分页")
|
@Operation(summary = "获得商品分页")
|
||||||
public CommonResult<PageResult<StoreGoodsRespVO>> getStoreGoodsPage(@Valid StoreGoodsPageReqVO pageReqVO) {
|
public CommonResult<PageResult<StoreSaleGoodsPageVO>> getStoreGoodsPage(@Valid StoreSaleGoodsPageVO pageReqVO) {
|
||||||
PageResult<StoreGoodsDO> pageResult = storeGoodsService.getStoreGoodsPage(pageReqVO);
|
PageResult<StoreSaleGoodsPageVO> pageResult = storeGoodsService.getSaleGoodsPage(pageReqVO);
|
||||||
return success(BeanUtils.toBean(pageResult, StoreGoodsRespVO.class));
|
return success(pageResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -33,7 +33,7 @@ import java.util.List;
|
|||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 商品类别")
|
@Tag(name = "APP超市 - 商品类别")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/member/store-goods-type")
|
@RequestMapping("/member/store-goods-type")
|
||||||
@Validated
|
@Validated
|
||||||
@ -91,7 +91,7 @@ public class AppStoreGoodsTypeController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/all")
|
@GetMapping("/all")
|
||||||
@Operation(summary = "获得商品类别分页")
|
@Operation(summary = "获得所有商品类别")
|
||||||
public CommonResult<List<StoreGoodsTypeRespVO>> getAll() {
|
public CommonResult<List<StoreGoodsTypeRespVO>> getAll() {
|
||||||
List<StoreGoodsTypeDO> all = storeGoodsTypeService.getAll();
|
List<StoreGoodsTypeDO> all = storeGoodsTypeService.getAll();
|
||||||
return success(BeanUtils.toBean(all, StoreGoodsTypeRespVO.class));
|
return success(BeanUtils.toBean(all, StoreGoodsTypeRespVO.class));
|
||||||
|
@ -3,11 +3,13 @@ package cn.iocoder.yudao.module.member.controller.app.storeorder;
|
|||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.AddReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderDetailVo;
|
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderDetailVo;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.CardDto;
|
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.CardDto;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeorder.StoreOrderDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.storeorder.StoreOrderDO;
|
||||||
|
import cn.iocoder.yudao.module.member.service.async.MemberAsyncService;
|
||||||
import cn.iocoder.yudao.module.member.service.storeorder.StoreOrderService;
|
import cn.iocoder.yudao.module.member.service.storeorder.StoreOrderService;
|
||||||
import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService;
|
import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService;
|
||||||
import cn.iocoder.yudao.module.system.api.carteen.CarteenApi;
|
import cn.iocoder.yudao.module.system.api.carteen.CarteenApi;
|
||||||
@ -26,7 +28,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 商品订单")
|
@Tag(name = "APP超市 - 商品订单")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/member/store-order")
|
@RequestMapping("/member/store-order")
|
||||||
@Validated
|
@Validated
|
||||||
@ -38,6 +40,8 @@ public class AppStoreOrderController {
|
|||||||
private StoreOrderDetailService orderDetailService;
|
private StoreOrderDetailService orderDetailService;
|
||||||
@Resource
|
@Resource
|
||||||
private CarteenApi carteenApi;
|
private CarteenApi carteenApi;
|
||||||
|
@Resource
|
||||||
|
private MemberAsyncService memberAsyncService;
|
||||||
|
|
||||||
@GetMapping("/page")
|
@GetMapping("/page")
|
||||||
@Operation(summary = "获得商品订单分页")
|
@Operation(summary = "获得商品订单分页")
|
||||||
@ -56,7 +60,10 @@ public class AppStoreOrderController {
|
|||||||
@PostMapping("/appCreate")
|
@PostMapping("/appCreate")
|
||||||
@Operation(summary = "购物车订单")
|
@Operation(summary = "购物车订单")
|
||||||
public CommonResult<Boolean> appCreate(@RequestBody CardDto dto) {
|
public CommonResult<Boolean> appCreate(@RequestBody CardDto dto) {
|
||||||
return success(storeOrderService.appCreate(dto));
|
AddReqVO addReqVO = storeOrderService.appCreate(dto);
|
||||||
|
//记录
|
||||||
|
memberAsyncService.batchRecord(addReqVO);
|
||||||
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/code")
|
@GetMapping("/code")
|
||||||
@ -71,4 +78,19 @@ public class AppStoreOrderController {
|
|||||||
return success(storeOrderService.complete(orderId));
|
return success(storeOrderService.complete(orderId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/cancel")
|
||||||
|
@Operation(summary = "取消订单")
|
||||||
|
public CommonResult<Boolean> cancel(Integer orderId) {
|
||||||
|
AddReqVO cancel = storeOrderService.cancel(orderId);
|
||||||
|
//记录
|
||||||
|
memberAsyncService.batchRecord(cancel);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/refund")
|
||||||
|
@Operation(summary = "退款")
|
||||||
|
public CommonResult<Long> refund(Integer orderId) {
|
||||||
|
return success(storeOrderService.refund(orderId));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -9,4 +9,5 @@ public class AppStoreGoodsDetail {
|
|||||||
private Double weight;
|
private Double weight;
|
||||||
private String goodsName;
|
private String goodsName;
|
||||||
private Integer goodsId;
|
private Integer goodsId;
|
||||||
|
private Long cartId;
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,8 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.app.storeshoppingcart;
|
package cn.iocoder.yudao.module.member.controller.app.storeshoppingcart;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
||||||
import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartPageReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartPageReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartSaveReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartSaveReqVO;
|
||||||
@ -18,7 +14,14 @@ import io.swagger.v3.oas.annotations.Operation;
|
|||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PutMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
@ -28,7 +31,7 @@ import java.util.stream.Collectors;
|
|||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 小程序商品购物车")
|
@Tag(name = "APP超市 - 小程序商品购物车")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/member/store-shopping-cart")
|
@RequestMapping("/member/store-shopping-cart")
|
||||||
@Validated
|
@Validated
|
||||||
@ -84,4 +87,11 @@ public class AppStoreShoppingCartController {
|
|||||||
return success(bean);
|
return success(bean);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@DeleteMapping("/deleteBatch")
|
||||||
|
@Operation(summary = "批量删除小程序商品购物车")
|
||||||
|
public CommonResult<Boolean> deleteStoreShoppingCart(List<Long> ids) {
|
||||||
|
storeShoppingCartService.deleteBatch(ids);
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -36,7 +36,7 @@ public class StoreRefundDO extends BaseDO {
|
|||||||
/**
|
/**
|
||||||
* 关联订单
|
* 关联订单
|
||||||
*/
|
*/
|
||||||
private Long orderId;
|
private Integer orderId;
|
||||||
/**
|
/**
|
||||||
* 退款金额
|
* 退款金额
|
||||||
*/
|
*/
|
||||||
|
@ -13,7 +13,9 @@ import lombok.Getter;
|
|||||||
public enum OutTypeEnum {
|
public enum OutTypeEnum {
|
||||||
|
|
||||||
SELL(1, "售出"),
|
SELL(1, "售出"),
|
||||||
SYSTEM(2, "系统扣减"),
|
SYSTEM_REDUCE(2, "系统扣减"),
|
||||||
|
SYSTEM_ADD(3, "系统增加"),
|
||||||
|
ORDER_ADD(4, "订单增加"),
|
||||||
;
|
;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -27,7 +27,7 @@ public interface DeductionService {
|
|||||||
void refund(Long userId,BigDecimal money,DishOrderDO dishOrderDO);
|
void refund(Long userId,BigDecimal money,DishOrderDO dishOrderDO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 减免
|
* 减免、退款
|
||||||
*/
|
*/
|
||||||
void reduction(Long userId, BigDecimal money, BigDecimal giftAmount, BigDecimal cashAmount, BigDecimal wxAmount);
|
void reduction(Long userId, BigDecimal money, BigDecimal giftAmount, BigDecimal cashAmount, BigDecimal wxAmount);
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.storeorder;
|
package cn.iocoder.yudao.module.member.service.storeorder;
|
||||||
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.AddReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderSaveReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderSaveReqVO;
|
||||||
@ -76,11 +77,15 @@ public interface StoreOrderService {
|
|||||||
|
|
||||||
void reduction(Long orderId, BigDecimal money);
|
void reduction(Long orderId, BigDecimal money);
|
||||||
|
|
||||||
Boolean appCreate(CardDto dto);
|
AddReqVO appCreate(CardDto dto);
|
||||||
|
|
||||||
String customize(StoreOrderDto dto);
|
String customize(StoreOrderDto dto);
|
||||||
|
|
||||||
String code(Integer orderId);
|
String code(Integer orderId);
|
||||||
|
|
||||||
Boolean complete(Integer orderId);
|
Boolean complete(Integer orderId);
|
||||||
|
|
||||||
|
AddReqVO cancel(Integer orderId);
|
||||||
|
|
||||||
|
Long refund(Integer orderId);
|
||||||
}
|
}
|
@ -11,6 +11,7 @@ import cn.iocoder.yudao.module.member.controller.admin.storegoodsinventory.vo.Go
|
|||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderPageVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderSaveReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorder.vo.StoreOrderSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storerefund.vo.StoreRefundSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.store.dto.FacePayDto;
|
import cn.iocoder.yudao.module.member.controller.app.store.dto.FacePayDto;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreGoodsDto;
|
import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreGoodsDto;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreLocalOrderDto;
|
import cn.iocoder.yudao.module.member.controller.app.store.dto.StoreLocalOrderDto;
|
||||||
@ -25,14 +26,16 @@ import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
|||||||
import cn.iocoder.yudao.module.member.dal.mysql.storeorder.StoreOrderMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.storeorder.StoreOrderMapper;
|
||||||
import cn.iocoder.yudao.module.member.enums.InventoryTypeEnum;
|
import cn.iocoder.yudao.module.member.enums.InventoryTypeEnum;
|
||||||
import cn.iocoder.yudao.module.member.enums.OutTypeEnum;
|
import cn.iocoder.yudao.module.member.enums.OutTypeEnum;
|
||||||
|
import cn.iocoder.yudao.module.member.enums.RefundStatusEnum;
|
||||||
import cn.iocoder.yudao.module.member.enums.StoreOrderStatusEnum;
|
import cn.iocoder.yudao.module.member.enums.StoreOrderStatusEnum;
|
||||||
import cn.iocoder.yudao.module.member.service.amount.AmountService;
|
import cn.iocoder.yudao.module.member.service.amount.AmountService;
|
||||||
import cn.iocoder.yudao.module.member.service.amount.DeductionService;
|
import cn.iocoder.yudao.module.member.service.amount.DeductionService;
|
||||||
import cn.iocoder.yudao.module.member.service.async.MemberAsyncService;
|
|
||||||
import cn.iocoder.yudao.module.member.service.card.CardService;
|
import cn.iocoder.yudao.module.member.service.card.CardService;
|
||||||
import cn.iocoder.yudao.module.member.service.storebusiness.StoreBusinessService;
|
import cn.iocoder.yudao.module.member.service.storebusiness.StoreBusinessService;
|
||||||
import cn.iocoder.yudao.module.member.service.storegoodsinventory.StoreGoodsInventoryService;
|
import cn.iocoder.yudao.module.member.service.storegoodsinventory.StoreGoodsInventoryService;
|
||||||
import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService;
|
import cn.iocoder.yudao.module.member.service.storeorderdetail.StoreOrderDetailService;
|
||||||
|
import cn.iocoder.yudao.module.member.service.storerefund.StoreRefundService;
|
||||||
|
import cn.iocoder.yudao.module.member.service.storeshoppingcart.StoreShoppingCartService;
|
||||||
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
|
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
|
||||||
import cn.iocoder.yudao.module.member.util.QRCodeWithJWTUtil;
|
import cn.iocoder.yudao.module.member.util.QRCodeWithJWTUtil;
|
||||||
import cn.iocoder.yudao.module.system.api.cashregisterinfo.CashregisterinfoApi;
|
import cn.iocoder.yudao.module.system.api.cashregisterinfo.CashregisterinfoApi;
|
||||||
@ -50,6 +53,7 @@ import java.time.LocalDateTime;
|
|||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
||||||
@ -85,9 +89,11 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
|||||||
@Resource
|
@Resource
|
||||||
private AmountService amountService;
|
private AmountService amountService;
|
||||||
@Resource
|
@Resource
|
||||||
private MemberAsyncService memberAsyncService;
|
|
||||||
@Resource
|
|
||||||
private StoreGoodsInventoryService storeGoodsInventoryService;
|
private StoreGoodsInventoryService storeGoodsInventoryService;
|
||||||
|
@Resource
|
||||||
|
private StoreRefundService storeRefundService;
|
||||||
|
@Resource
|
||||||
|
private StoreShoppingCartService storeShoppingCartService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private StringRedisTemplate storeOrderRedisTemplate;
|
private StringRedisTemplate storeOrderRedisTemplate;
|
||||||
@ -304,7 +310,7 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Boolean appCreate(CardDto dto) {
|
public AddReqVO appCreate(CardDto dto) {
|
||||||
BigDecimal amount = amountService.getAmount(dto.getUserId());
|
BigDecimal amount = amountService.getAmount(dto.getUserId());
|
||||||
BigDecimal total = BigDecimal.valueOf(dto.getTotalPrice());
|
BigDecimal total = BigDecimal.valueOf(dto.getTotalPrice());
|
||||||
if(amount.compareTo(total) < 0){
|
if(amount.compareTo(total) < 0){
|
||||||
@ -323,8 +329,6 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
|||||||
}
|
}
|
||||||
addReqVO.setList(infos);
|
addReqVO.setList(infos);
|
||||||
storeGoodsInventoryService.createStoreGoodsInventory(addReqVO);
|
storeGoodsInventoryService.createStoreGoodsInventory(addReqVO);
|
||||||
//记录
|
|
||||||
memberAsyncService.batchRecord(addReqVO);
|
|
||||||
|
|
||||||
//创建订单
|
//创建订单
|
||||||
StoreOrderDO storeOrderDO = new StoreOrderDO();
|
StoreOrderDO storeOrderDO = new StoreOrderDO();
|
||||||
@ -348,7 +352,20 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
|||||||
orderDetailService.deleteByOrderNo(storeOrderDO.getOrderId());
|
orderDetailService.deleteByOrderNo(storeOrderDO.getOrderId());
|
||||||
throw exception(AMOUNT_NOT_ENOUGH);
|
throw exception(AMOUNT_NOT_ENOUGH);
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
|
//删购物车
|
||||||
|
List<Long> collect = goodsList.stream().map(AppStoreGoodsDetail::getCartId).collect(Collectors.toList());
|
||||||
|
storeShoppingCartService.deleteBatch(collect);
|
||||||
|
|
||||||
|
//营业数据
|
||||||
|
StatisticsVo statisticsVo = new StatisticsVo();
|
||||||
|
statisticsVo.setCarteenId(storeOrderDO.getCarteenId());
|
||||||
|
statisticsVo.setTotalMoney(BigDecimal.valueOf(storeOrderDO.getTotalPrice()));
|
||||||
|
statisticsVo.setOrderSum(1);
|
||||||
|
statisticsVo.setTime(storeOrderDO.getCreateTime());
|
||||||
|
statisticsVo.setOrderId(storeOrderDO.getOrderId().longValue());
|
||||||
|
storeBusinessService.updateStatistics(statisticsVo);
|
||||||
|
return addReqVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -406,15 +423,80 @@ public class StoreOrderServiceImpl implements StoreOrderService {
|
|||||||
}
|
}
|
||||||
storeOrderDO.setStatus(StoreOrderStatusEnum.COMPLETE.getCode());
|
storeOrderDO.setStatus(StoreOrderStatusEnum.COMPLETE.getCode());
|
||||||
storeOrderMapper.updateById(storeOrderDO);
|
storeOrderMapper.updateById(storeOrderDO);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public AddReqVO cancel(Integer orderId) {
|
||||||
|
StoreOrderDO storeOrderDO = storeOrderMapper.selectById(orderId);
|
||||||
|
if(ObjectUtil.isEmpty(storeOrderDO)){
|
||||||
|
throw exception(STORE_ORDER_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
if(storeOrderDO.getStatus().equals(StoreOrderStatusEnum.COMPLETE.getCode())
|
||||||
|
|| storeOrderDO.getStatus().equals(StoreOrderStatusEnum.REFUND.getCode())){
|
||||||
|
throw exception(STATUS_ERROR);
|
||||||
|
}
|
||||||
|
//修改状态
|
||||||
|
storeOrderDO.setStatus(StoreOrderStatusEnum.CANCEL.getCode());
|
||||||
|
storeOrderMapper.updateById(storeOrderDO);
|
||||||
|
|
||||||
|
//退款
|
||||||
|
deductionService.reduction(storeOrderDO.getUserId(),BigDecimal.valueOf(storeOrderDO.getTotalPrice())
|
||||||
|
,BigDecimal.ZERO,BigDecimal.valueOf(storeOrderDO.getTotalPrice()),BigDecimal.ZERO);
|
||||||
|
|
||||||
|
//更新库存
|
||||||
|
List<StoreOrderDetailDO> listByOrderId = orderDetailService.getListByOrderId(storeOrderDO.getOrderId());
|
||||||
|
|
||||||
|
AddReqVO addReqVO = new AddReqVO();
|
||||||
|
addReqVO.setType(InventoryTypeEnum.IN.getCode());
|
||||||
|
addReqVO.setOutType(OutTypeEnum.ORDER_ADD.getCode());
|
||||||
|
List<GoodsInfoReqVO> infos = new ArrayList<>();
|
||||||
|
for (StoreOrderDetailDO detail : listByOrderId){
|
||||||
|
GoodsInfoReqVO vo = new GoodsInfoReqVO();
|
||||||
|
BeanUtil.copyProperties(detail,vo);
|
||||||
|
vo.setCarteenId(storeOrderDO.getCarteenId());
|
||||||
|
infos.add(vo);
|
||||||
|
}
|
||||||
|
addReqVO.setList(infos);
|
||||||
|
storeGoodsInventoryService.createStoreGoodsInventory(addReqVO);
|
||||||
|
|
||||||
//营业数据
|
//营业数据
|
||||||
StatisticsVo statisticsVo = new StatisticsVo();
|
StatisticsVo statisticsVo = new StatisticsVo();
|
||||||
statisticsVo.setCarteenId(storeOrderDO.getCarteenId());
|
statisticsVo.setCarteenId(storeOrderDO.getCarteenId());
|
||||||
statisticsVo.setTotalMoney(BigDecimal.valueOf(storeOrderDO.getTotalPrice()));
|
statisticsVo.setTotalMoney(BigDecimal.valueOf(storeOrderDO.getTotalPrice()).negate());
|
||||||
statisticsVo.setOrderSum(1);
|
statisticsVo.setOrderSum(-1);
|
||||||
statisticsVo.setTime(storeOrderDO.getCreateTime());
|
statisticsVo.setTime(storeOrderDO.getCreateTime());
|
||||||
statisticsVo.setOrderId(storeOrderDO.getOrderId().longValue());
|
statisticsVo.setOrderId(storeOrderDO.getOrderId().longValue());
|
||||||
storeBusinessService.updateStatistics(statisticsVo);
|
storeBusinessService.updateStatistics(statisticsVo);
|
||||||
return true;
|
|
||||||
|
return addReqVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Long refund(Integer orderId) {
|
||||||
|
|
||||||
|
StoreOrderDO storeOrderDO = storeOrderMapper.selectById(orderId);
|
||||||
|
if(ObjectUtil.isEmpty(storeOrderDO)){
|
||||||
|
throw exception(STORE_ORDER_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
if(storeOrderDO.getStatus().equals(StoreOrderStatusEnum.COMPLETE.getCode())
|
||||||
|
|| storeOrderDO.getStatus().equals(StoreOrderStatusEnum.REFUND.getCode())){
|
||||||
|
throw exception(STATUS_ERROR);
|
||||||
|
}
|
||||||
|
StoreRefundSaveReqVO storeRefundSaveReqVO = new StoreRefundSaveReqVO();
|
||||||
|
storeRefundSaveReqVO.setOrderId(storeOrderDO.getOrderId());
|
||||||
|
storeRefundSaveReqVO.setStatus(RefundStatusEnum.TO_AUDIT.getCode());
|
||||||
|
storeRefundSaveReqVO.setCarteenId(storeOrderDO.getCarteenId());
|
||||||
|
storeRefundSaveReqVO.setOrderMoney(BigDecimal.valueOf(storeOrderDO.getTotalPrice()));
|
||||||
|
|
||||||
|
MemberUserDO user = userService.getUser(storeOrderDO.getUserId());
|
||||||
|
storeRefundSaveReqVO.setUserId(storeOrderDO.getUserId());
|
||||||
|
storeRefundSaveReqVO.setUserName(user.getNickname());
|
||||||
|
storeRefundSaveReqVO.setMobile(user.getMobile());
|
||||||
|
|
||||||
|
return storeRefundService.createStoreRefund(storeRefundSaveReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void test() {
|
public void test() {
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.storeorderdetail;
|
package cn.iocoder.yudao.module.member.service.storeorderdetail;
|
||||||
|
|
||||||
import java.util.*;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import javax.validation.*;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorderdetail.vo.StoreOrderDetailPageReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorderdetail.vo.*;
|
import cn.iocoder.yudao.module.member.controller.admin.storeorderdetail.vo.StoreOrderDetailSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderDetailVo;
|
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderDetailVo;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeorderdetail.StoreOrderDetailDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.storeorderdetail.StoreOrderDetailDO;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品订单详情 Service 接口
|
* 商品订单详情 Service 接口
|
||||||
@ -58,4 +59,6 @@ public interface StoreOrderDetailService {
|
|||||||
List<AppStoreOrderDetailVo> getListByOrderNo(Integer orderId);
|
List<AppStoreOrderDetailVo> getListByOrderNo(Integer orderId);
|
||||||
|
|
||||||
void deleteByOrderNo(Integer orderId);
|
void deleteByOrderNo(Integer orderId);
|
||||||
|
|
||||||
|
List<StoreOrderDetailDO> getListByOrderId(Integer orderId);
|
||||||
}
|
}
|
@ -1,23 +1,22 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.storeorderdetail;
|
package cn.iocoder.yudao.module.member.service.storeorderdetail;
|
||||||
|
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storeorderdetail.vo.StoreOrderDetailPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storeorderdetail.vo.StoreOrderDetailSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderDetailVo;
|
import cn.iocoder.yudao.module.member.controller.app.storeorder.vo.AppStoreOrderDetailVo;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.storeorderdetail.StoreOrderDetailDO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.mysql.storeorderdetail.StoreOrderDetailMapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.*;
|
import javax.annotation.Resource;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeorderdetail.vo.*;
|
import java.util.Collections;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeorderdetail.StoreOrderDetailDO;
|
import java.util.List;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.storeorderdetail.StoreOrderDetailMapper;
|
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STORE_ORDER_DETAIL_NOT_EXISTS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 商品订单详情 Service 实现类
|
* 商品订单详情 Service 实现类
|
||||||
@ -87,4 +86,9 @@ public class StoreOrderDetailServiceImpl implements StoreOrderDetailService {
|
|||||||
public void deleteByOrderNo(Integer orderId) {
|
public void deleteByOrderNo(Integer orderId) {
|
||||||
storeOrderDetailMapper.delete(Wrappers.<StoreOrderDetailDO>lambdaQuery().eq(StoreOrderDetailDO::getOrderId,orderId));
|
storeOrderDetailMapper.delete(Wrappers.<StoreOrderDetailDO>lambdaQuery().eq(StoreOrderDetailDO::getOrderId,orderId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<StoreOrderDetailDO> getListByOrderId(Integer orderId) {
|
||||||
|
return storeOrderDetailMapper.selectList(Wrappers.<StoreOrderDetailDO>lambdaQuery().eq(StoreOrderDetailDO::getOrderId,orderId));
|
||||||
|
}
|
||||||
}
|
}
|
@ -1,11 +1,11 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.storerefund;
|
package cn.iocoder.yudao.module.member.service.storerefund;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import javax.validation.*;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storerefund.vo.*;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storerefund.StoreRefundDO;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
import cn.iocoder.yudao.module.member.controller.admin.storerefund.vo.StoreRefundPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storerefund.vo.StoreRefundSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.storerefund.StoreRefundDO;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 超市订单退款审核 Service 接口
|
* 超市订单退款审核 Service 接口
|
||||||
@ -52,4 +52,6 @@ public interface StoreRefundService {
|
|||||||
*/
|
*/
|
||||||
PageResult<StoreRefundDO> getStoreRefundPage(StoreRefundPageReqVO pageReqVO);
|
PageResult<StoreRefundDO> getStoreRefundPage(StoreRefundPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -1,21 +1,18 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.storerefund;
|
package cn.iocoder.yudao.module.member.service.storerefund;
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storerefund.vo.*;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storerefund.StoreRefundDO;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storerefund.vo.StoreRefundPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storerefund.vo.StoreRefundSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.storerefund.StoreRefundDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.storerefund.StoreRefundMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.storerefund.StoreRefundMapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STORE_REFUND_NOT_EXISTS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 超市订单退款审核 Service 实现类
|
* 超市订单退款审核 Service 实现类
|
||||||
@ -44,6 +41,7 @@ public class StoreRefundServiceImpl implements StoreRefundService {
|
|||||||
validateStoreRefundExists(updateReqVO.getId());
|
validateStoreRefundExists(updateReqVO.getId());
|
||||||
// 更新
|
// 更新
|
||||||
StoreRefundDO updateObj = BeanUtils.toBean(updateReqVO, StoreRefundDO.class);
|
StoreRefundDO updateObj = BeanUtils.toBean(updateReqVO, StoreRefundDO.class);
|
||||||
|
|
||||||
storeRefundMapper.updateById(updateObj);
|
storeRefundMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.storeshoppingcart;
|
package cn.iocoder.yudao.module.member.service.storeshoppingcart;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import javax.validation.*;
|
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.*;
|
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeshoppingcart.StoreShoppingCartDO;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.storeshoppingcart.StoreShoppingCartDO;
|
||||||
|
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小程序商品购物车 Service 接口
|
* 小程序商品购物车 Service 接口
|
||||||
@ -52,4 +53,9 @@ public interface StoreShoppingCartService {
|
|||||||
*/
|
*/
|
||||||
PageResult<StoreShoppingCartDO> getStoreShoppingCartPage(StoreShoppingCartPageReqVO pageReqVO);
|
PageResult<StoreShoppingCartDO> getStoreShoppingCartPage(StoreShoppingCartPageReqVO pageReqVO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*/
|
||||||
|
void deleteBatch(List<Long> ids);
|
||||||
|
|
||||||
}
|
}
|
@ -1,23 +1,21 @@
|
|||||||
package cn.iocoder.yudao.module.member.service.storeshoppingcart;
|
package cn.iocoder.yudao.module.member.service.storeshoppingcart;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartPageReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.StoreShoppingCartSaveReqVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.storeshoppingcart.StoreShoppingCartDO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.mysql.storeshoppingcart.StoreShoppingCartMapper;
|
||||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
|
||||||
|
|
||||||
import java.util.*;
|
import javax.annotation.Resource;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.storeshoppingcart.vo.*;
|
import java.util.List;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.storeshoppingcart.StoreShoppingCartDO;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
||||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
||||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
||||||
|
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.storeshoppingcart.StoreShoppingCartMapper;
|
|
||||||
|
|
||||||
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.*;
|
import static cn.iocoder.yudao.module.member.enums.ErrorCodeConstants.STORE_SHOPPING_CART_NOT_EXISTS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小程序商品购物车 Service 实现类
|
* 小程序商品购物车 Service 实现类
|
||||||
@ -35,12 +33,20 @@ public class StoreShoppingCartServiceImpl implements StoreShoppingCartService {
|
|||||||
public Long createStoreShoppingCart(StoreShoppingCartSaveReqVO createReqVO) {
|
public Long createStoreShoppingCart(StoreShoppingCartSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
Long id ;
|
Long id ;
|
||||||
|
|
||||||
|
|
||||||
List<StoreShoppingCartDO> storeShoppingCartDOS = storeShoppingCartMapper.selectList(Wrappers.<StoreShoppingCartDO>lambdaQuery()
|
List<StoreShoppingCartDO> storeShoppingCartDOS = storeShoppingCartMapper.selectList(Wrappers.<StoreShoppingCartDO>lambdaQuery()
|
||||||
.eq(StoreShoppingCartDO::getUserId, createReqVO.getUserId())
|
.eq(StoreShoppingCartDO::getUserId, createReqVO.getUserId())
|
||||||
.eq(StoreShoppingCartDO::getCarteenId, createReqVO.getCarteenId()));
|
.eq(StoreShoppingCartDO::getCarteenId, createReqVO.getCarteenId())
|
||||||
|
.eq(StoreShoppingCartDO::getGoodsId,createReqVO.getGoodsId()));
|
||||||
|
|
||||||
if(CollectionUtil.isNotEmpty(storeShoppingCartDOS)){
|
if(CollectionUtil.isNotEmpty(storeShoppingCartDOS)){
|
||||||
StoreShoppingCartDO storeShoppingCartDO = storeShoppingCartDOS.get(0);
|
StoreShoppingCartDO storeShoppingCartDO = storeShoppingCartDOS.get(0);
|
||||||
storeShoppingCartDO.setNumber(storeShoppingCartDO.getNumber()+createReqVO.getNumber());
|
if(createReqVO.getNumber() == 0){
|
||||||
|
deleteStoreShoppingCart(storeShoppingCartDO.getId());
|
||||||
|
return storeShoppingCartDO.getId();
|
||||||
|
}
|
||||||
|
storeShoppingCartDO.setNumber(createReqVO.getNumber());
|
||||||
storeShoppingCartMapper.updateById(storeShoppingCartDO);
|
storeShoppingCartMapper.updateById(storeShoppingCartDO);
|
||||||
id = storeShoppingCartDO.getId();
|
id = storeShoppingCartDO.getId();
|
||||||
}else {
|
}else {
|
||||||
@ -85,4 +91,9 @@ public class StoreShoppingCartServiceImpl implements StoreShoppingCartService {
|
|||||||
return storeShoppingCartMapper.selectPage(pageReqVO);
|
return storeShoppingCartMapper.selectPage(pageReqVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteBatch(List<Long> ids) {
|
||||||
|
storeShoppingCartMapper.delete(Wrappers.<StoreShoppingCartDO>lambdaQuery()
|
||||||
|
.in(StoreShoppingCartDO::getId,ids));
|
||||||
|
}
|
||||||
}
|
}
|
@ -10,7 +10,7 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
<select id="getSaleGoodsPage" resultType="cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreSaleGoodsPageVO">
|
<select id="getSaleGoodsPage" resultType="cn.iocoder.yudao.module.member.controller.admin.storegoods.vo.StoreSaleGoodsPageVO">
|
||||||
select sg.id,sg.carteen_id,sg.create_time,ms.category_id,ms.goods_name,ms.img,ms.sales_model,ms.price
|
select sg.id,sg.carteen_id,sg.create_time,ms.category_id,ms.goods_name,ms.img,ms.sales_model,ms.price,sg.goods_id
|
||||||
from member_store_sale_goods sg left join member_store_goods ms on sg.goods_id = ms.goods_id
|
from member_store_sale_goods sg left join member_store_goods ms on sg.goods_id = ms.goods_id
|
||||||
where sg.deleted = false
|
where sg.deleted = false
|
||||||
<if test="vo.categoryId != null ">
|
<if test="vo.categoryId != null ">
|
||||||
|
Reference in New Issue
Block a user