package com.hx.phip.service.order; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.hx.common.service.CommonService; import com.hx.mybatisTool.SqlSentence; import com.hx.phiappt.model.PlatformApplication; import com.hx.phiappt.model.Shop; import com.hx.phiappt.model.User; import com.hx.phiappt.model.UserMoney; import com.hx.phiappt.model.coupon.Coupon; import com.hx.phiappt.model.coupon.CouponNumber; import com.hx.phiappt.model.order.*; import com.hz.his.dto.order.OrderRiseDto; import com.hz.his.dto.order.PayDto; import com.hz.his.feign.service.sync.SyncOrderService; import com.platform.entity.ThirtApplication; import java.util.List; import java.util.Map; /** * 订单实现类 * * @Author: zhouxiang * @Date: 2022/09/19/14:52 * @Description: */ public interface OrderServiceV2 { /** * 开单接口 * @return */ Map orderCreate(OrdersTotal ordersTotal, List items, Integer type, List orderDeveloperList , Map operator, Shop shop,String opShopId, UserMoney userMoney, User user, PlatformApplication platformApplication , List orderRiseList, CommonService commonService); /** * 结账接口 * @return */ Map orderPayMoney(Integer couponCheckVersion,Integer type, OrdersTotal ordersTotal, User user,User payUser, Shop shop, OrderInfo info, List orderItemList, Map operator, UserMoney userMoney, String total, JSONArray amountList, JSONArray userCouponIds, PayDto payDto,ThirtApplication thirtApplication); /** * 查询领建订单号 * @param hisOrderId 领建订单标识 * @param orderId 预约订单标识 * @param sqlSentence * @param paramMap * @param syncOrderService 同步中心服务 * @param commonService * @return */ String getHisOrderNo(String hisOrderId, String orderId, SqlSentence sqlSentence, Map paramMap, SyncOrderService syncOrderService, CommonService commonService); /** * 异步获取未执行划扣信息,暂时交给同步中心获取itemId * @param orderId * @param user */ void getExecution(Object orderId, User user); /** * 发送公众号通知 * @param id 总订单id * @param commonService */ void sendPublicNo(String id, CommonService commonService); /** * 发送短信通知 * @param id 总订单id * @param commonService */ void sentSMSInfo(String id, CommonService commonService); /** * 结账成功发送企业微信通知给用户所属顾问 * @param userId 用户标识 * @param orderNo 订单号 * @param orderId 订单标识 * @param commonService */ void sendUserConsultant(String userId,String orderNo,String orderId,JSONObject commissionObject, CommonService commonService); /** * 营销助手拒绝审核 * @param type 类型:0折扣订单1支付订单 * @param commonId 公共标识(订单标识) * @param commonType 公共类型(订单类型) * @param examEmplId 操作人标识 * @param examEmplName 操作人名称 */ void newMarketingRejectAduit(Integer type,String commonId, Integer commonType, String examEmplId, String examEmplName); /** * 营销助手通过审核 * @param type 类型:0折扣订单1支付订单 * @param commonId 公共标识(订单标识) * @param commonType 公共类型(订单类型) * @param examEmplId 操作人标识 * @param examEmplName 操作人名称 */ void newMarketingSuccessAduit(Integer type,String commonId, Integer commonType, String examEmplId, String examEmplName); /*记录收入确认报表*/ void statementPerformanceInfo(String orderId); /*咨询师现金业绩报表*/ void statementConsultantCash(String orderId); void autoTag(String userId); /** 计算订单应付金额 */ Map countOrderShouldTotal(Shop shop, List orderItemList); }