修改
This commit is contained in:
@ -4,6 +4,7 @@ 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.module.member.controller.admin.order.vo.OrderDetailsReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsRespVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderMoneyRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.orderdetail.vo.AppOrderDetailRespVO;
|
import cn.iocoder.yudao.module.member.controller.app.orderdetail.vo.AppOrderDetailRespVO;
|
||||||
import cn.iocoder.yudao.module.member.service.order.OrderService;
|
import cn.iocoder.yudao.module.member.service.order.OrderService;
|
||||||
import cn.iocoder.yudao.module.member.service.orderdetail.OrderDetailService;
|
import cn.iocoder.yudao.module.member.service.orderdetail.OrderDetailService;
|
||||||
@ -111,4 +112,10 @@ public class OrderController {
|
|||||||
public CommonResult<OrderDetailsRespVO> getOrderDetailsAndUser(@RequestParam("orderId")Long orderId){
|
public CommonResult<OrderDetailsRespVO> getOrderDetailsAndUser(@RequestParam("orderId")Long orderId){
|
||||||
return CommonResult.success(orderService.getOrderDetailsAndUser(orderId));
|
return CommonResult.success(orderService.getOrderDetailsAndUser(orderId));
|
||||||
}
|
}
|
||||||
|
@GetMapping("/user/money")
|
||||||
|
@Operation(summary = "根据会员编号,获得会员余额,充值金额,消费金额")
|
||||||
|
@PreAuthorize("@ss.hasPermission('member:order:query')")
|
||||||
|
public CommonResult<OrderMoneyRespVO> getUserMeney(@RequestParam("userId")Long userId){
|
||||||
|
return CommonResult.success(orderService.getUserMeney(userId));
|
||||||
|
}
|
||||||
}
|
}
|
@ -45,4 +45,6 @@ public class OrderDetailsReqVO extends PageParam {
|
|||||||
private String payMethods;
|
private String payMethods;
|
||||||
@Schema(description = "时间段", example = "早餐")
|
@Schema(description = "时间段", example = "早餐")
|
||||||
private String timePeriod;
|
private String timePeriod;
|
||||||
|
@Schema(description = "会员id", example = "早餐")
|
||||||
|
private Long userId;
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
package cn.iocoder.yudao.module.member.controller.admin.order.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author:qjq
|
||||||
|
* @Date:2024/4/24 上午9:48
|
||||||
|
*/
|
||||||
|
@Schema(description = "管理后台 - 用户钱包明细")
|
||||||
|
@Data
|
||||||
|
public class OrderMoneyRespVO {
|
||||||
|
//会员编号
|
||||||
|
private Long userId;
|
||||||
|
//当前余额
|
||||||
|
private BigDecimal currentMoney;
|
||||||
|
//充值金额
|
||||||
|
private BigDecimal rechargeMoney;
|
||||||
|
//消费金额
|
||||||
|
private BigDecimal consumeMoney;
|
||||||
|
}
|
@ -1,11 +1,13 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.rechargeamount.vo;
|
package cn.iocoder.yudao.module.member.controller.admin.rechargeamount.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;
|
||||||
@ -25,6 +27,9 @@ public class RechargeAmountPageReqVO extends PageParam {
|
|||||||
@Schema(description = "状态:0-关闭,1-开启", example = "1")
|
@Schema(description = "状态:0-关闭,1-开启", example = "1")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
@Schema(description = "套餐名", example = "套餐A")
|
||||||
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "创建时间")
|
@Schema(description = "创建时间")
|
||||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||||
private LocalDateTime[] createTime;
|
private LocalDateTime[] createTime;
|
||||||
|
@ -29,6 +29,10 @@ public class RechargeAmountRespVO {
|
|||||||
@ExcelProperty("状态:0-关闭,1-开启")
|
@ExcelProperty("状态:0-关闭,1-开启")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
@Schema(description = "套餐名", example = "套餐A")
|
||||||
|
@ExcelProperty("套餐名")
|
||||||
|
private String name;
|
||||||
|
|
||||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("创建时间")
|
@ExcelProperty("创建时间")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package cn.iocoder.yudao.module.member.controller.admin.rechargeamount.vo;
|
package cn.iocoder.yudao.module.member.controller.admin.rechargeamount.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 java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
@Schema(description = "管理后台 - 充值金额配置新增/修改 Request VO")
|
@Schema(description = "管理后台 - 充值金额配置新增/修改 Request VO")
|
||||||
@ -22,4 +21,6 @@ public class RechargeAmountSaveReqVO {
|
|||||||
@Schema(description = "状态:0-关闭,1-开启", example = "1")
|
@Schema(description = "状态:0-关闭,1-开启", example = "1")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
@Schema(description = "套餐名", example = "套餐A")
|
||||||
|
private String name;
|
||||||
}
|
}
|
@ -48,5 +48,9 @@ public class RechargeAmountDO extends BaseDO {
|
|||||||
* 状态:0-关闭,1-开启
|
* 状态:0-关闭,1-开启
|
||||||
*/
|
*/
|
||||||
private String status;
|
private String status;
|
||||||
|
/**
|
||||||
|
* 套餐名
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
}
|
}
|
@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Mapper;
|
|||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -43,4 +44,6 @@ public interface CardMapper extends BaseMapperX<CardDO> {
|
|||||||
|
|
||||||
@Select("select IFNULL(sum(change_money),0) as money,count(*) as count FROM member_card where user_id = #{userId} and flag = #{flag} and create_time BETWEEN #{startTime} and #{endTime}")
|
@Select("select IFNULL(sum(change_money),0) as money,count(*) as count FROM member_card where user_id = #{userId} and flag = #{flag} and create_time BETWEEN #{startTime} and #{endTime}")
|
||||||
AppCardMonthVO selectMonth(@Param("userId") Long userId,@Param("flag") String flag, @Param("startTime") LocalDateTime startTime, @Param("endTime")LocalDateTime endTime);
|
AppCardMonthVO selectMonth(@Param("userId") Long userId,@Param("flag") String flag, @Param("startTime") LocalDateTime startTime, @Param("endTime")LocalDateTime endTime);
|
||||||
|
@Select("select SUM(change_money) from member_card where user_id= #{userId} and flag= #{flag}")
|
||||||
|
BigDecimal selectAddMoney(@Param("userId") Long userId,@Param("flag") String flag);
|
||||||
}
|
}
|
@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.member.service.order;
|
|||||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsRespVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderMoneyRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.CarTeenInfoVO;
|
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.CarTeenInfoVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderPageReqVO;
|
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderPageReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderRespVO;
|
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderRespVO;
|
||||||
@ -101,4 +102,12 @@ public interface OrderService {
|
|||||||
BigDecimal getSaleMoney(Long storeId,String time);
|
BigDecimal getSaleMoney(Long storeId,String time);
|
||||||
|
|
||||||
List<CarTeenInfoVO> getCarTeenInfo();
|
List<CarTeenInfoVO> getCarTeenInfo();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 根据会员编号,获得会员余额,充值金额,消费金额
|
||||||
|
* @Author: qjq
|
||||||
|
* @Date: 2024/4/24 上午9:52
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
OrderMoneyRespVO getUserMeney(Long userId);
|
||||||
}
|
}
|
@ -8,14 +8,17 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|||||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsReqVO;
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsRespVO;
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderDetailsRespVO;
|
||||||
|
import cn.iocoder.yudao.module.member.controller.admin.order.vo.OrderMoneyRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.CarTeenInfoVO;
|
import cn.iocoder.yudao.module.member.controller.admin.screen.vo.CarTeenInfoVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderPageReqVO;
|
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderPageReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderRespVO;
|
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderRespVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderSaveReqVO;
|
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppOrderSaveReqVO;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppPageVo;
|
import cn.iocoder.yudao.module.member.controller.app.order.vo.AppPageVo;
|
||||||
import cn.iocoder.yudao.module.member.controller.app.orderdetail.vo.AppOrderDetailRespVO;
|
import cn.iocoder.yudao.module.member.controller.app.orderdetail.vo.AppOrderDetailRespVO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.dataobject.card.CardDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.order.DishOrderDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.order.DishOrderDO;
|
||||||
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
|
||||||
|
import cn.iocoder.yudao.module.member.dal.mysql.card.CardMapper;
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.order.DishOrderMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.order.DishOrderMapper;
|
||||||
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
|
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
|
||||||
import cn.iocoder.yudao.module.member.enums.CostTypeEnum;
|
import cn.iocoder.yudao.module.member.enums.CostTypeEnum;
|
||||||
@ -64,7 +67,8 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
private DeviceInfoApi deviceInfoApi;
|
private DeviceInfoApi deviceInfoApi;
|
||||||
@Resource
|
@Resource
|
||||||
private CarteenApi carteenApi;
|
private CarteenApi carteenApi;
|
||||||
|
@Resource
|
||||||
|
private CardMapper cardMapper;
|
||||||
@Override
|
@Override
|
||||||
public Long createOrder(AppOrderSaveReqVO createReqVO) {
|
public Long createOrder(AppOrderSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
@ -147,12 +151,15 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
List<Long> userIds=new ArrayList<>();
|
List<Long> userIds=new ArrayList<>();
|
||||||
if(ObjUtil.isNotEmpty(reqVO.getUserName())
|
if(ObjUtil.isNotEmpty(reqVO.getUserName())
|
||||||
|| ObjUtil.isNotEmpty(reqVO.getUserAccount())
|
|| ObjUtil.isNotEmpty(reqVO.getUserAccount())
|
||||||
|| ObjUtil.isNotEmpty(reqVO.getUserJob())){
|
|| ObjUtil.isNotEmpty(reqVO.getUserJob())
|
||||||
|
|| ObjUtil.isNotEmpty(reqVO.getUserId())
|
||||||
|
){
|
||||||
//根据用户属性获取ids
|
//根据用户属性获取ids
|
||||||
userIds = memberUserMapper.selectList(new LambdaQueryWrapperX<MemberUserDO>()
|
userIds = memberUserMapper.selectList(new LambdaQueryWrapperX<MemberUserDO>()
|
||||||
.likeIfPresent(MemberUserDO::getNickname, reqVO.getUserName())
|
.likeIfPresent(MemberUserDO::getNickname, reqVO.getUserName())
|
||||||
.eqIfPresent(MemberUserDO::getMobile, reqVO.getUserAccount())
|
.eqIfPresent(MemberUserDO::getMobile, reqVO.getUserAccount())
|
||||||
.eqIfPresent(MemberUserDO::getCardId, reqVO.getUserJob()))
|
.eqIfPresent(MemberUserDO::getCardId, reqVO.getUserJob())
|
||||||
|
.eqIfPresent(MemberUserDO::getId, reqVO.getUserId()))
|
||||||
.stream().map(MemberUserDO::getId).collect(Collectors.toList());
|
.stream().map(MemberUserDO::getId).collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
Map<String, LocalDateTime> timePeriod = this.getTimePeriod(reqVO.getTimePeriod());
|
Map<String, LocalDateTime> timePeriod = this.getTimePeriod(reqVO.getTimePeriod());
|
||||||
@ -269,4 +276,28 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param userId
|
||||||
|
* @return
|
||||||
|
* @Description: 根据会员编号,获得会员余额,充值金额,消费金额
|
||||||
|
* @Author: qjq
|
||||||
|
* @Date: 2024/4/24 上午9:52
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public OrderMoneyRespVO getUserMeney(Long userId) {
|
||||||
|
OrderMoneyRespVO orderMoneyRespVO = new OrderMoneyRespVO();
|
||||||
|
//获取充值的金额
|
||||||
|
BigDecimal add = cardMapper.selectAddMoney(userId, CardDO.ADD);
|
||||||
|
|
||||||
|
orderMoneyRespVO.setRechargeMoney(add);
|
||||||
|
//消费的金额
|
||||||
|
BigDecimal minus = cardMapper.selectAddMoney(userId, CardDO.MINUS);
|
||||||
|
orderMoneyRespVO.setConsumeMoney(minus);
|
||||||
|
//获取会员余额
|
||||||
|
BigDecimal subtract = add.subtract(minus);
|
||||||
|
orderMoneyRespVO.setCurrentMoney(subtract);
|
||||||
|
orderMoneyRespVO.setUserId(userId);
|
||||||
|
return orderMoneyRespVO;
|
||||||
|
}
|
||||||
}
|
}
|
Reference in New Issue
Block a user