lisy
2023-07-19 9eb13929c8574e2b994db1e06f600d44f14af4a1
使用明细:充值明细的场地预约记录查询
3个文件已修改
3个文件已添加
268 ■■■■■ 已修改文件
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/SiteBooking.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/SiteClient.java
New file
@@ -0,0 +1,22 @@
package com.dsh.account.feignclient.other;
import com.dsh.account.feignclient.other.model.SiteBooking;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@FeignClient("mb-cloud-other")
public interface SiteClient {
    @PostMapping("/base/site/queryPaymentSiteDetail")
    List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId);
    @PostMapping("/base/site/queryPlaypaiGoldSiteDetail")
    List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId);
}
cloud-server-account/src/main/java/com/dsh/account/feignclient/other/model/SiteBooking.java
New file
@@ -0,0 +1,125 @@
package com.dsh.account.feignclient.other.model;
import lombok.Data;
import java.util.Date;
/**
 * @author zhibing.pu
 * @date 2023/7/13 16:11
 */
@Data
public class SiteBooking {
    /**
     * 主键
     */
    private Integer id;
    /**
     * 业务流水号
     */
    private String orderNo;
    /**
     * 省
     */
    private String province;
    /**
     * 省编号
     */
    private String provinceCode;
    /**
     * 市名称
     */
    private String city;
    /**
     * 市编号
     */
    private String cityCode;
    /**
     * 门店id
     */
    private Integer storeId;
    /**
     * 场地id
     */
    private Integer siteId;
    /**
     * 用户id
     */
    private Integer appUserId;
    /**
     * 预约时段
     */
    private String times;
    /**
     * 预约开始时间
     */
    private Date startTime;
    /**
     * 预约结束
     */
    private Date endTime;
    /**
     * 预约人
     */
    private String booker;
    /**
     * 联系方式
     */
    private String phone;
    /**
     * 支付方式(1=微信,2=支付宝,3=玩湃比,4=手动支付)
     */
    private Integer payType;
    /**
     * 支付时间
     */
    private Date payTime;
    /**
     * 支付金额
     */
    private Double payMoney;
    /**
     * 优惠券id
     */
    private Long userCouponId;
    /**
     * 状态(0=待支付,1=待核销,2=已到店,3=已完成,4=已过期,5=已取消)
     */
    private Integer status;
    /**
     * 第三方支付流水号
     */
    private String payOrderNo;
    /**
     * 手动支付操作用户id
     */
    private Integer payUserId;
    /**
     * 取消用户id
     */
    private Integer cancelUserId;
    /**
     * 取消凭证
     */
    private String voucher;
    /**
     * 取消备注
     */
    private String remark;
    /**
     * 取消时间
     */
    private Date cancelTime;
    /**
     * 第三方取消退款流水号
     */
    private String refundOrderNo;
    /**
     * 状态(1=正常,2=冻结,3=删除)
     */
    private Integer state;
    /**
     * 添加时间
     */
    private Date insertTime;
}
cloud-server-account/src/main/java/com/dsh/account/service/impl/RechargeRecordsServiceImpl.java
@@ -10,6 +10,8 @@
import com.dsh.account.feignclient.course.CoursePaymentClient;
import com.dsh.account.feignclient.course.model.TCoursePackagePayment;
import com.dsh.account.feignclient.other.RechargeConfigClient;
import com.dsh.account.feignclient.other.SiteClient;
import com.dsh.account.feignclient.other.model.SiteBooking;
import com.dsh.account.mapper.RechargeRecordsMapper;
import com.dsh.account.mapper.TAppUserMapper;
import com.dsh.account.model.vo.userBenefitDetail.RechargeDetailsVo;
@@ -25,11 +27,9 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * <p>
@@ -57,6 +57,9 @@
    @Autowired
    private PayMoneyUtil payMoneyUtil;
    @Resource
    private SiteClient stClient;
    @Resource
@@ -108,8 +111,16 @@
            }
        }
//            3.场地预约
        // TODO: 2023/7/14  充值明细的场地预约查询
        List<SiteBooking> siteBookings = stClient.wanpaiGoldSiteBookingList(appUserId);
        if (siteBookings.size() > 0 ){
            for (SiteBooking booking : siteBookings) {
                RechargeDetailsVo.RechargesDetail consumeDetail = new RechargeDetailsVo.RechargesDetail();
                consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.name());
                consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getInsertTime()));
                consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
                details.add(consumeDetail);
            }
        }
//            4.智慧球场
//            5.充值
@@ -126,6 +137,21 @@
                details.add(consumeDetail);
            }
        }
        if (details.size() > 0 ){
            Collections.sort(details, new Comparator<RechargeDetailsVo.RechargesDetail>() {
                @Override
                public int compare(RechargeDetailsVo.RechargesDetail o1, RechargeDetailsVo.RechargesDetail o2) {
                    try {
                        Date date1 = simpleDateFormat.parse(o1.getConsumeTime());
                        Date date2 = simpleDateFormat.parse(o2.getConsumeTime());
                        return date2.compareTo(date1); // 降序排序
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                    return 0;
                }
            });
        }
        vo.setDetailList(details);
        return vo;
    }
cloud-server-account/src/main/java/com/dsh/account/service/impl/TAppUserServiceImpl.java
@@ -17,7 +17,9 @@
import com.dsh.account.feignclient.course.model.*;
import com.dsh.account.feignclient.other.ImgConfigClient;
import com.dsh.account.feignclient.other.RechargeConfigClient;
import com.dsh.account.feignclient.other.SiteClient;
import com.dsh.account.feignclient.other.StoreClient;
import com.dsh.account.feignclient.other.model.SiteBooking;
import com.dsh.account.feignclient.other.model.Store;
import com.dsh.account.feignclient.other.model.StoreDetailOfCourse;
import com.dsh.account.feignclient.other.model.TImgConfig;
@@ -119,8 +121,11 @@
    @Resource
    private CoursePackageConfigClient cpconClient;
    @Autowired
    @Resource
    private PayMoneyUtil payMoneyUtil;
    @Resource
    private SiteClient stClient;
    @Override
    public ClassInfoVo queryUserOfStus(Integer id,String latitude,String longitude) {
@@ -545,7 +550,22 @@
            }
        }
//            4.场地预约
        // TODO: 2023/7/14 账单的场地预约查询
        List<SiteBooking> allSiteBookingList = stClient.getAllSiteBookingList(appUserId);
        if (allSiteBookingList.size() >  0){
            for (SiteBooking booking : allSiteBookingList) {
                BillingDetailsVo.ConsumeDetail consumeDetail = new BillingDetailsVo.ConsumeDetail();
                if (booking.getStatus() != 5){
                    consumeDetail.setConsumeName(RechargeRecordEnum.VENUE_RESERVATION.getMsg());
                    consumeDetail.setConsumeAmount("-" + booking.getPayMoney());
                    consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getPayTime()));
                }else {
                    consumeDetail.setConsumeName(RechargeRecordEnum.CANCEL_VENUE_RESERVATION.getMsg());
                    consumeDetail.setConsumeAmount("+" + booking.getPayMoney());
                    consumeDetail.setConsumeTime(simpleDateFormat.format(booking.getCancelTime()));
                }
                details.add(consumeDetail);
            }
        }
//            5.智慧球场
//            6.年度会员
cloud-server-other/src/main/java/com/dsh/other/controller/SiteController.java
@@ -22,6 +22,7 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -353,5 +354,43 @@
        }
    }
    /**
     * 查询所有现金支付的预约记录
     * @param appUserId
     * @return
     */
    @PostMapping("/base/site/queryPaymentSiteDetail")
    public List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId){
        ArrayList<Integer> integers = new ArrayList<>();
        integers.add(1);
        integers.add(2);
        integers.add(3);
        integers.add(4);
        integers.add(5);
        return siteBookingService.list(new QueryWrapper<SiteBooking>()
                .in("status",integers)
                .ne("payType",3)
                .eq("appUserId",appUserId));
    }
    /**
     * 查询所有玩湃币支付的预约记录
     * @param appUserId
     * @return
     */
    @PostMapping("/base/site/queryPlaypaiGoldSiteDetail")
    public List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId){
        ArrayList<Integer> integers = new ArrayList<>();
        integers.add(1);
        integers.add(2);
        integers.add(3);
        integers.add(4);
        integers.add(5);
        return siteBookingService.list(new QueryWrapper<SiteBooking>()
                .in("status",integers)
                .eq("payType",3)
                .eq("appUserId",appUserId));
    }
}
cloud-server-other/src/main/java/com/dsh/other/feignclient/SiteClient.java
New file
@@ -0,0 +1,20 @@
package com.dsh.other.feignclient;
import com.dsh.other.entity.SiteBooking;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@FeignClient("mb-cloud-other")
public interface SiteClient {
    @PostMapping("/base/site/queryPaymentSiteDetail")
    List<SiteBooking> getAllSiteBookingList(@RequestBody Integer appUserId);
    @PostMapping("/base/site/queryPlaypaiGoldSiteDetail")
    List<SiteBooking> wanpaiGoldSiteBookingList(@RequestBody Integer appUserId);
}