咨询师time列表-用户
This commit is contained in:
parent
196cc52d33
commit
2d1e6f4b26
|
@ -8,6 +8,7 @@ import java.lang.management.ManagementFactory;
|
|||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.*;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
|
@ -195,4 +196,14 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
|||
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
|
||||
return Date.from(zdt.toInstant());
|
||||
}
|
||||
|
||||
public static String getAfter7DaysByNow() {
|
||||
// 获取当前日期
|
||||
LocalDate currentDate = LocalDate.now();
|
||||
// 加上7天
|
||||
LocalDate sevenDaysLater = currentDate.plusDays(7);
|
||||
// 打印日期
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||
return sevenDaysLater.format(formatter);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -124,6 +124,17 @@ public class WxCounselorController extends BaseController {
|
|||
return R.ok(reservationService.selectNotUseDateList(time, counselorId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取咨询师预约日历时间段-客户
|
||||
*
|
||||
* @param counselorId 咨询师
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/reservation/time")
|
||||
public R<List<ReservationDayVo>> getReservationTimeList(Long counselorId) {
|
||||
return R.ok(reservationService.selectTimeListBy7Day(counselorId));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取预约订单
|
||||
*
|
||||
|
|
|
@ -25,4 +25,5 @@ public class ReservationDateVo implements Serializable {
|
|||
private Integer useNum;
|
||||
|
||||
private Integer notUseNum;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,19 +1,14 @@
|
|||
package org.dromara.scale.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.scale.domain.ReservationDay;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.scale.domain.ReservationDay;
|
||||
import org.dromara.scale.domain.ReservationTime;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -23,7 +18,6 @@ import java.util.Date;
|
|||
* @date 2024-08-19
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = ReservationDay.class)
|
||||
public class ReservationDayVo implements Serializable {
|
||||
|
||||
|
@ -31,22 +25,21 @@ public class ReservationDayVo implements Serializable {
|
|||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
*/
|
||||
@ExcelProperty(value = "")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 咨询师id
|
||||
*/
|
||||
@ExcelProperty(value = "咨询师id")
|
||||
private Long counselorId;
|
||||
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@ExcelProperty(value = "日期")
|
||||
private Date dayTime;
|
||||
|
||||
private List<ReservationTime> timeList;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import org.dromara.scale.domain.bo.ReservationDayBo;
|
|||
import org.dromara.scale.domain.bo.SysInterveneRecordBo;
|
||||
import org.dromara.scale.domain.vo.ReservationDateVo;
|
||||
import org.dromara.scale.domain.vo.ReservationCounselorOrderVo;
|
||||
import org.dromara.scale.domain.vo.ReservationDayVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
@ -32,6 +33,8 @@ public interface IReservationService {
|
|||
|
||||
List<ReservationDateVo> selectNotUseDateList(String time, Long counselorId);
|
||||
|
||||
List<ReservationDayVo> selectTimeListBy7Day(Long counselorId);
|
||||
|
||||
List<ReservationCounselorOrderVo> selectOrderList(String time, Long counselorId);
|
||||
|
||||
/**
|
||||
|
|
|
@ -11,6 +11,7 @@ import org.dromara.common.core.utils.MapstructUtils;
|
|||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.scale.constant.StatusEnum;
|
||||
import org.dromara.scale.domain.Counselor;
|
||||
import org.dromara.scale.domain.ReservationOrder;
|
||||
|
@ -101,6 +102,7 @@ public class ReservationOrderServiceImpl implements IReservationOrderService {
|
|||
*/
|
||||
@Override
|
||||
public WxPayMpOrderResult insertByBo(ReservationOrderBo bo) throws Exception {
|
||||
String openId = LoginHelper.getOpenId();
|
||||
ReservationOrder add = MapstructUtils.convert(bo, ReservationOrder.class);
|
||||
ReservationTime reservationTime = timeMapper.selectById(add.getTimeId());
|
||||
Counselor counselor = counselorMapper.selectById(reservationTime.getCounselorId());
|
||||
|
@ -119,9 +121,10 @@ public class ReservationOrderServiceImpl implements IReservationOrderService {
|
|||
orderRequest.setOutTradeNo(add.getId().toString());
|
||||
int totalFee = price.multiply(new BigDecimal(100)).intValue();
|
||||
orderRequest.setTotalFee(totalFee);
|
||||
orderRequest.setNotifyUrl("https://api.ysmental.com/xxx/wx/pay/notify/order/reservation");
|
||||
orderRequest.setNotifyUrl("https://api.ysmental.com/tenant/wx/pay/notify/order/reservation");
|
||||
orderRequest.setTradeType("JSAPI");
|
||||
orderRequest.setSpbillCreateIp(bo.getSpbillCreateIp());
|
||||
orderRequest.setOpenid(openId);
|
||||
return payService.createOrder(orderRequest);
|
||||
}
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.DateUtils;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.TimeBucket;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
@ -16,6 +17,7 @@ import org.dromara.scale.domain.bo.ReservationDayBo;
|
|||
import org.dromara.scale.domain.bo.SysInterveneRecordBo;
|
||||
import org.dromara.scale.domain.vo.ReservationCounselorOrderVo;
|
||||
import org.dromara.scale.domain.vo.ReservationDateVo;
|
||||
import org.dromara.scale.domain.vo.ReservationDayVo;
|
||||
import org.dromara.scale.mapper.ReservationDayMapper;
|
||||
import org.dromara.scale.mapper.ReservationOrderMapper;
|
||||
import org.dromara.scale.mapper.ReservationTimeMapper;
|
||||
|
@ -94,6 +96,22 @@ public class ReservationServiceImpl implements IReservationService {
|
|||
return dayMapper.selectNotUseDateList(time, counselorId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ReservationDayVo> selectTimeListBy7Day(Long counselorId) {
|
||||
String startTime = DateUtils.getDate() + " 00:00:00";
|
||||
String endTime = DateUtils.getAfter7DaysByNow() + " 23:59:59";
|
||||
List<ReservationDayVo> dayList = dayMapper.selectVoList(new LambdaQueryWrapper<ReservationDay>()
|
||||
.between(ReservationDay::getDayTime, startTime, endTime)
|
||||
.eq(ReservationDay::getCounselorId, counselorId));
|
||||
for (ReservationDayVo one : dayList) {
|
||||
List<ReservationTime> timeList = timeMapper.selectList(new LambdaQueryWrapper<ReservationTime>()
|
||||
.eq(ReservationTime::getDayId, one.getId())
|
||||
.orderByAsc(ReservationTime::getStartTime));
|
||||
one.setTimeList(timeList);
|
||||
}
|
||||
return dayList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ReservationCounselorOrderVo> selectOrderList(String time, Long counselorId) {
|
||||
return dayMapper.selectOrderList(time, counselorId);
|
||||
|
|
Loading…
Reference in New Issue