Commit 4b6e2409 by huluobin

update

parent 6d294eda
......@@ -111,4 +111,12 @@ public interface OrderManageService extends IService<OrderManage> {
void notifyBalanceWxPayOrder(WxPayOrderNotifyResult result);
void notifyWxPayOrder(WxPayOrderNotifyResult result);
/**
* 评论页面订单详情查询
*
* @param id
* @return
*/
OrderManage queryOrderForComment(Integer id);
}
......@@ -621,6 +621,101 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
@Override
public void confirmOrder(Integer orderId, Integer payType, Integer technicianId) {
log.info("***美甲师发起收款***,美甲师id: {},订单id: {}", technicianId, orderId);
String payTypeStr;
//获取订单折扣之后的信息
log.info("获取订单信息");
OrderManage orderManage = this.queryOrder(orderId);
if (orderManage.getStatus() == 3 || orderManage.getStatus() == 4) {
throw new RRException("重复请求");
}
Customer customer = customerService.getById(orderManage.getOrderUser());
CustomerBalance customerBalance = customerBalanceService.getCustomerBalance(orderManage.getOrderUser());
//设置订单折扣详情
log.info("设置订单折扣详情 orderManageDTO {}", orderManage.getId());
//
if (payType.equals(2)) {
log.info("**美甲师余额收款**,订单id: {}", orderId);
payTypeStr = "余额收款";
if (customerBalance.getBalance() < orderManage.getTotalPaymentAmount().intValue() * 100) {
throw new RRException("余额不足");
}
ConsumerCommand consumerCmd = ConsumerCommand.builder()
.amount(orderManage.getTotalPaymentAmount().multiply(new BigDecimal(100)).intValue())
.customerId(orderManage.getOrderUser())
.departmentId(orderManage.getDepartmentId())
.orderId(orderId)
.orderStatus(orderManage.getStatus())
.build();
log.info("余额扣除开始");
customerBalanceService.consumer(consumerCmd);
log.info("余额扣除结束");
orderManage.setStatus(OrderManage.STATUS_UN_COMMENT);
orderManage.setPaymentType(payType);
orderManageMapper.updateById(orderManage);
} else if (payType.equals(5)) {
log.info("**美甲师pos机收款**,订单id: {}", orderId);
payTypeStr = "pos机收款";
orderManage.setStatus(OrderManage.STATUS_UN_COMMENT);
orderManage.setPaymentType(payType);
orderManageMapper.updateById(orderManage);
} else if (payType.equals(10)) {
payTypeStr = "免单" + "";
//状态更新为待评论
orderManage.setStatus(OrderManage.STATUS_UN_COMMENT);
orderManage.setFinishTime(new Date());
orderManage.setPaymentType(OrderManage.PAYMENT_FREE);
this.updateById(orderManage);
}
//余额pos收款
else if (payType.equals(13)) {
log.info("**美甲师pos机余额收款**,订单id: {}", orderId);
payTypeStr = "美甲师pos机余额收款";
List<MultiPaymentType> multiPaymentTypeList = JsonUtilByFsJson.jsonToList(orderManage.getMultiplePaymentType(), MultiPaymentType.class);
ConsumerCommand consumerCmd = ConsumerCommand.builder()
.amount(multiPaymentTypeList.stream().filter(multiPaymentType ->
multiPaymentType.getType() == 2).map(multiPaymentType -> multiPaymentType.getPrice().intValue() * 100).mapToInt(Integer::intValue).sum())
.customerId(orderManage.getOrderUser())
.departmentId(orderManage.getDepartmentId())
.orderId(orderId)
.orderStatus(orderManage.getStatus())
.build();
log.info("余额扣除开始");
customerBalanceService.consumer(consumerCmd);
log.info("余额扣除结束");
//状态更新为待评论
orderManage.setStatus(3);
orderManage.setFinishTime(new Date());
orderManage.setPaymentType(13);
this.updateById(orderManage);
}
//不支持的收款方式
else {
throw new RRException("不支持的收款方式");
}
//发送订阅消息
subscribeService.sendPaySuccessMsg(customer.getOpenid1(), payTypeStr, new Date(), orderManage.getTotalPaymentAmount(), new BigDecimal(customerBalance.getBalance() / 100));
this.updateById(orderManage);
}
private final CustomerBalanceMapper customerBalanceMapper;
......@@ -670,6 +765,7 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
orderManage.setMultiplePaymentType(JsonUtilByFsJson.beanToJson(Lists.newArrayList(wxMultiPaymentType, balanceMultiPaymentType)));
marketService.setterOrder(orderManage.getId());
orderManageMapper.updateById(orderManage);
}
@Override
......@@ -696,6 +792,15 @@ public class OrderManageServiceImpl extends ServiceImpl<OrderManageMapper, Order
}
@Override
public OrderManage queryOrderForComment(Integer id) {
OrderManage orderManage = this.getById(id);
ScheduleManage scheduleManage = scheduleManageMapper.selectById(orderManage.getScheduledId());
return orderManage;
}
@Override
public OrderManage queryOrder(Integer id) {
OrderManage orderManage = this.getById(id);
return this.aggregateOrderManage(orderManage);
......
package com.gogirl.dto;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
@Data
public class QueryLeisureTechnicianReq {
Integer departmentId;
Integer produceId;
Integer serveId;
LocalDateTime serveStartTime;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
LocalDateTime serveEndTime;
}
......@@ -33,7 +33,7 @@ public class OrderCommentLabelController {
* @return 所有评论标签列表
*/
@ApiOperation(value = "查询所有标签")
@GetMapping("/customer/orderLabel/queryOrderLabel")
@GetMapping("/customer/orderlabel/queryOrderLabel")
@GogirlMember
public JsonResult<Map<Integer, List<OrderCommentLabel>>> queryOrderLabel() {
List<OrderCommentLabel> commentLabelList = orderCommentLabelMapper.selectList(new QueryWrapper<>());
......
......@@ -100,12 +100,21 @@ public class OrderManageController {
@ApiOperation(value = "查询订单")
@GetMapping(value = "/customer/ordermanage/queryOrderForDetail")
@GogirlShop
public JsonResult<OrderManageDTO> customerQueryOrderForDetail(@RequestParam Integer id) {
public JsonResult<OrderManageDTO> customerQueryOrderForDetail(@RequestParam Integer id,
@RequestParam Integer filterMainServe) {
OrderManage orderManage = orderManageService.queryOrder(id);
return JsonResult.success(orderManageDTOAssembler.apply(orderManage));
}
@ApiOperation(value = "查询订单")
@GetMapping(value = "/customer/ordermanage/queryOrderForComment")
public JsonResult<OrderManage> queryOrderForComment(@RequestParam Integer id) {
OrderManage orderManage = orderManageService.queryOrderForComment(id);
return JsonResult.success(orderManage);
}
@ApiOperation(value = "查询所有可选的描述")
@GetMapping("/technician/ordermanage/listOrderServeDescribe")
public JsonResult<List<OrderServeDescribe>> listOrderServeDescribe(@RequestParam Integer type) {
......
......@@ -14,6 +14,7 @@ import com.gogirl.domain.xcx.GogirlToken;
import com.gogirl.dto.IdleTimeProgramQuery;
import com.gogirl.dto.LeisureScheduleServe;
import com.gogirl.dto.LeisureScheduleServeQuery;
import com.gogirl.dto.QueryLeisureTechnicianReq;
import com.gogirl.infrastructure.common.annotation.GogirlShop;
import com.gogirl.infrastructure.common.base.JsonResult;
import com.gogirl.infrastructure.common.exception.RRException;
......@@ -31,11 +32,9 @@ import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.Optional;
......@@ -238,15 +237,9 @@ public class ScheduleManageController {
private final StoreTechnicianService storeTechnicianService;
@PostMapping("/customer/queryLeisureTechnician")
public JsonResult<StoreTechnician> queryLeisureTechnician(@RequestParam Integer departmentId,
@RequestParam(required = false) Integer produceId,
@RequestParam Integer serveId,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
@RequestParam LocalDateTime serveStartTime,
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
@RequestParam LocalDateTime serveEndTime) throws ParseException {
StoreTechnician storeTechnician = scheduleManageService.queryLeisureTechnician(departmentId, serveId, serveStartTime, serveEndTime);
public JsonResult<StoreTechnician> queryLeisureTechnician(@RequestBody QueryLeisureTechnicianReq req) throws ParseException {
StoreTechnician storeTechnician = scheduleManageService.queryLeisureTechnician(req.getDepartmentId(), req.getServeId(), req.getServeStartTime(), req.getServeEndTime());
return JsonResult.success(storeTechnician);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment