package cn.stylefeng.rest.modular.order.controller; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import cn.stylefeng.guns.modular.business.dto.request.CreateOrderConsultOneRequest; import cn.stylefeng.guns.modular.business.dto.request.CreateOrderMentalTestRequest; import cn.stylefeng.guns.modular.business.entity.MentalAnalysisTime; import cn.stylefeng.guns.modular.business.entity.MentalAppointment; import cn.stylefeng.guns.modular.business.entity.OrderConsultOne; import cn.stylefeng.guns.modular.business.entity.OrderMentalTest; import cn.stylefeng.guns.modular.business.service.IMentalAnalysisTimeService; import cn.stylefeng.guns.modular.business.service.IMentalAppointmentService; import cn.stylefeng.guns.modular.business.service.IOrderConsultOneService; import cn.stylefeng.guns.modular.business.service.IOrderMentalTestService; import cn.stylefeng.rest.modular.order.service.MentalTestOrderBizService; import cn.stylefeng.roses.kernel.rule.pojo.request.BaseIdRequest; import cn.stylefeng.roses.kernel.rule.pojo.response.ResponseData; import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; import cn.stylefeng.roses.kernel.scanner.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.GetResource; import cn.stylefeng.roses.kernel.scanner.api.annotation.PostResource; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.List; @Slf4j @Api(tags = "心理测试接口") @RestController @ApiResource(name = "心理测试接口") @RequestMapping("/mentalTest") public class MentalTestOrderController { @Resource private IOrderMentalTestService orderMentalTestService; @Resource private IOrderConsultOneService orderConsultOneService; @Resource private IMentalAppointmentService mentalAppointmentService; @Resource private MentalTestOrderBizService mentalTestOrderBizService; @Resource private IMentalAnalysisTimeService mentalAnalysisTimeService; @ApiOperation(value = "心理测试下单", notes = "订单状态,为0需支付(为1无需支付),开始心理测试答题") @PostResource(name = "心理测试下单", path = "/createOrderMentalTest") public ResponseData createOrderMentalTest(@RequestBody CreateOrderMentalTestRequest req) { OrderMentalTest o = orderMentalTestService.createOrderMentalTest(req.getUserId(), req.getTopicId(), true, false); return new SuccessResponseData(o); } @ApiOperation(value = "心理测试订单详情") @PostResource(name = "心理测试订单详情", path = "/orderMentalTestDetail") public ResponseData orderMentalTestDetail(Long id, String orderNo) { OrderMentalTest o = orderMentalTestService.getOne( Wrappers.lambdaQuery() .eq(id != null, OrderMentalTest::getId, id) .eq(StrUtil.isNotEmpty(orderNo), OrderMentalTest::getOrderNo, orderNo) ); return new SuccessResponseData(o); } @ApiOperation(value = "1V1咨询可预约时间") @GetResource(name = "1V1咨询可预约时间", path = "/mentalAnalysisTime") public ResponseData> mentalAnalysisTime() { // List filteredCustomers = customerService.list(Wrappers.lambdaQuery(Customer.class).eq(Customer::getMentalAnalysisStatus,1) // .like(Customer::getPostIds, "31")); // if (filteredCustomers.isEmpty()) { List list = mentalAnalysisTimeService.list( Wrappers.lambdaQuery() .orderByAsc(MentalAnalysisTime::getModuleNo, MentalAnalysisTime::getWeekDay, MentalAnalysisTime::getBeginTimePoint, MentalAnalysisTime::getEndTimePoint) ); return new SuccessResponseData(list); // }else { // List collect = filteredCustomers.stream().map(Customer::getCustomerId).collect(Collectors.toList()); // List list = mentalAnalysisTimeConfigService.list(Wrappers.lambdaQuery(MentalAnalysisTimeConfig.class).in(MentalAnalysisTimeConfig::getCounsellingInfoId, collect)); // HashMap hashMap =new HashMap<>(); // for (MentalAnalysisTimeConfig mentalAnalysisTimeConfig : list) { // hashMap.put(mentalAnalysisTimeConfig.getWeekDay()+mentalAnalysisTimeConfig.getBeginTimePoint()+mentalAnalysisTimeConfig.getEndTimePoint(),mentalAnalysisTimeConfig); // } // Collection values = hashMap.values(); // return new SuccessResponseData(values); // } } @ApiOperation(value = "1V1咨询预约性格分析下单") @PostResource(name = "1V1咨询预约性格分析下单", path = "/createOrderConsultOne") public synchronized ResponseData createOrderConsultOne(@RequestBody CreateOrderConsultOneRequest req) { Assert.isTrue(StrUtil.isNotBlank(req.getRealName()), "姓名不能为空"); Assert.isTrue(StrUtil.isNotBlank(req.getLinkPhone()), "联系电话不能为空"); OrderConsultOne o = mentalTestOrderBizService.createOrderConsultOne(req); return new SuccessResponseData(o); } @ApiOperation(value = "1V1咨询预约(ID)取消") @PostResource(name = "1V1咨询预约(ID)取消", path = "/mentalAppointmentCancel") public ResponseData mentalAppointmentCancel(@RequestBody BaseIdRequest req) { boolean o = mentalAppointmentService.mentalAppointmentCancel(req.getId()); return new SuccessResponseData(o); } @ApiOperation(value = "1V1咨询订单详情") @GetResource(name = "1V1咨询订单详情", path = "/orderConsultOneDetail") public ResponseData orderConsultOneDetail(Long id) { OrderConsultOne o = orderConsultOneService.getById(id); return new SuccessResponseData(o); } @ApiOperation(value = "1V1咨询预约详情") @GetResource(name = "1V1咨询预约详情", path = "/mentalAppointmentDetail") public ResponseData mentalAppointmentDetail(Long id) { MentalAppointment o = mentalAppointmentService.getById(id); return new SuccessResponseData(o); } }