package thyyxxk.webserver.dao.his.wxapi;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import thyyxxk.webserver.entity.wxapi.RefundParam;
import thyyxxk.webserver.entity.wxapi.WxPayOrder;
import java.util.List;
@Mapper
public interface WxApiDao {
@Select("")
IPage selectOrdersByConditions(IPage iPage,
@Param("patientId") String patientId,
@Param("patientName") String patientName,
@Param("orderType") String orderType,
@Param("statuses") String[] statuses,
@Param("start") String start,
@Param("end") String end);
@Select("select *,refundOpName=(select rtrim(name) from a_employee_mi where code=refund_op_code) " +
"from t_wechat_pay_order where create_datetime>=#{start} and " +
"create_datetime<=#{end} and patient_id like #{patientId} and patient_name " +
"like #{patientName} and order_type like #{orderType}")
IPage selectOrdersWithoutStatus(IPage iPage,
@Param("patientId") String patientId,
@Param("patientName") String patientName,
@Param("orderType") String orderType,
@Param("start") String start,
@Param("end") String end);
@Select("select * from t_wechat_pay_order where trade_no=#{tradeNo}")
List selectOrdersByTradeNo(@Param("tradeNo") String tradeNo);
@Update("update t_wechat_pay_order set refund_id=#{refundId}, refund_op_code=#{refundOpCode}, his_status=0, " +
"refund_op_datetime=#{refundOpDatetime}, refund_reason=#{refundReason}, pay_status=4 where trade_no=#{tradeNo}")
void updateRefundId(RefundParam param);
@Update("update t_wechat_pay_order set pay_status=4, refund_reason=#{msg}, his_status=0 where trade_no=#{tradeNo}")
void alreadyRefund(@Param("tradeNo") String tradeNo, @Param("msg") String msg);
}