修改
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.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.OrderMoneyRespVO;
|
||||
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.orderdetail.OrderDetailService;
|
||||
@ -111,4 +112,10 @@ public class OrderController {
|
||||
public CommonResult<OrderDetailsRespVO> getOrderDetailsAndUser(@RequestParam("orderId")Long 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;
|
||||
@Schema(description = "时间段", example = "早餐")
|
||||
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;
|
||||
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
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 java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
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")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "套餐名", example = "套餐A")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
private LocalDateTime[] createTime;
|
||||
|
@ -29,6 +29,10 @@ public class RechargeAmountRespVO {
|
||||
@ExcelProperty("状态:0-关闭,1-开启")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "套餐名", example = "套餐A")
|
||||
@ExcelProperty("套餐名")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
@ -1,9 +1,8 @@
|
||||
package cn.iocoder.yudao.module.member.controller.admin.rechargeamount.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
import javax.validation.constraints.*;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Schema(description = "管理后台 - 充值金额配置新增/修改 Request VO")
|
||||
@ -22,4 +21,6 @@ public class RechargeAmountSaveReqVO {
|
||||
@Schema(description = "状态:0-关闭,1-开启", example = "1")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "套餐名", example = "套餐A")
|
||||
private String name;
|
||||
}
|
@ -48,5 +48,9 @@ public class RechargeAmountDO extends BaseDO {
|
||||
* 状态:0-关闭,1-开启
|
||||
*/
|
||||
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.Select;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
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}")
|
||||
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.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.OrderMoneyRespVO;
|
||||
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.AppOrderRespVO;
|
||||
@ -101,4 +102,12 @@ public interface OrderService {
|
||||
BigDecimal getSaleMoney(Long storeId,String time);
|
||||
|
||||
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.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.OrderMoneyRespVO;
|
||||
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.AppOrderRespVO;
|
||||
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.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.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.user.MemberUserMapper;
|
||||
import cn.iocoder.yudao.module.member.enums.CostTypeEnum;
|
||||
@ -64,7 +67,8 @@ public class OrderServiceImpl implements OrderService {
|
||||
private DeviceInfoApi deviceInfoApi;
|
||||
@Resource
|
||||
private CarteenApi carteenApi;
|
||||
|
||||
@Resource
|
||||
private CardMapper cardMapper;
|
||||
@Override
|
||||
public Long createOrder(AppOrderSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -147,12 +151,15 @@ public class OrderServiceImpl implements OrderService {
|
||||
List<Long> userIds=new ArrayList<>();
|
||||
if(ObjUtil.isNotEmpty(reqVO.getUserName())
|
||||
|| ObjUtil.isNotEmpty(reqVO.getUserAccount())
|
||||
|| ObjUtil.isNotEmpty(reqVO.getUserJob())){
|
||||
|| ObjUtil.isNotEmpty(reqVO.getUserJob())
|
||||
|| ObjUtil.isNotEmpty(reqVO.getUserId())
|
||||
){
|
||||
//根据用户属性获取ids
|
||||
userIds = memberUserMapper.selectList(new LambdaQueryWrapperX<MemberUserDO>()
|
||||
.likeIfPresent(MemberUserDO::getNickname, reqVO.getUserName())
|
||||
.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());
|
||||
}
|
||||
Map<String, LocalDateTime> timePeriod = this.getTimePeriod(reqVO.getTimePeriod());
|
||||
@ -269,4 +276,28 @@ public class OrderServiceImpl implements OrderService {
|
||||
}
|
||||
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