package com.yeshi.fanli.service.impl.order.tb;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoWeiQuanOrderMapper;
|
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail;
|
import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail.MsgTypeOrderTypeEnum;
|
import com.yeshi.fanli.entity.order.CommonOrder;
|
import com.yeshi.fanli.entity.taobao.TaoBaoWeiQuanOrder;
|
import com.yeshi.fanli.service.inter.order.CommonOrderService;
|
import com.yeshi.fanli.service.inter.order.UserOrderWeiQuanRecordService;
|
import com.yeshi.fanli.service.inter.order.msg.MsgOrderDetailService;
|
import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService;
|
import com.yeshi.fanli.service.inter.order.tb.TaoBaoWeiQuanOrderService;
|
import com.yeshi.fanli.util.Constant;
|
|
@Service
|
public class TaoBaoWeiQuanOrderServiceImpl implements TaoBaoWeiQuanOrderService {
|
@Resource
|
private TaoBaoWeiQuanOrderMapper taoBaoWeiQuanOrderMapper;
|
|
@Resource
|
private UserOrderMsgNotificationService userOrderMsgNotificationService;
|
|
@Resource
|
private MsgOrderDetailService msgOrderDetailService;
|
|
@Resource
|
private CommonOrderService commonOrderService;
|
|
@Resource
|
private UserOrderWeiQuanRecordService userOrderWeiQuanRecordService;
|
|
@Transactional(rollbackFor = Exception.class)
|
@Override
|
public void addWeiQuanOrder(TaoBaoWeiQuanOrder order) {
|
if (order == null)
|
return;
|
|
TaoBaoWeiQuanOrder taoBaoWeiQuanOrder = taoBaoWeiQuanOrderMapper
|
.selectByOrderIdAndOrderItemId(order.getOrderId(), order.getOrderItemId());
|
if (taoBaoWeiQuanOrder != null) {
|
// 已经是最新的状态了
|
if (taoBaoWeiQuanOrder.getState() != null && (taoBaoWeiQuanOrder.getState().contains("维权成功")
|
|| taoBaoWeiQuanOrder.getState().contains("维权失败")))
|
return;
|
// 更新金额,状态与时间
|
TaoBaoWeiQuanOrder update = new TaoBaoWeiQuanOrder();
|
update.setId(taoBaoWeiQuanOrder.getId());
|
update.setFanMoney(order.getFanMoney());
|
update.setJieSuanTime(order.getJieSuanTime());
|
update.setMoney(order.getMoney());
|
update.setState(order.getState());
|
update.setUpdateTime(new Date());
|
update.setWeiQuanFinishTime(order.getWeiQuanFinishTime());
|
taoBaoWeiQuanOrderMapper.updateByPrimaryKeySelective(update);
|
|
try {
|
if (order.getState().contains("维权成功")) {
|
// 更改CommonOrder的状态
|
CommonOrder commonOrder = commonOrderService
|
.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, order.getOrderItemId());
|
if (commonOrder != null) {
|
CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId());
|
updateCommonOrder.setState(CommonOrder.STATE_WQ);
|
updateCommonOrder.setUpdateTime(new Date());
|
commonOrderService.updateByPrimaryKeySelective(updateCommonOrder);
|
userOrderWeiQuanRecordService.addTaoBaoWeiQuan(taoBaoWeiQuanOrder);
|
}
|
|
// 维权状态不需要消息
|
// List<MsgOrderDetail> msgList =
|
// msgOrderDetailService.listMsgOrderByOrderId(order.getOrderId());
|
// for (MsgOrderDetail msg : msgList) {
|
// if (msg.getType() == MsgTypeOrderTypeEnum.fanli) {
|
// userOrderMsgNotificationService.orderFanLiStateChanged(msg.getUser().getId(),
|
// order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null,
|
// null, CommonOrder.STATE_WQ);
|
// } else if (msg.getType() == MsgTypeOrderTypeEnum.invite)
|
// {
|
// userOrderMsgNotificationService.orderInviteStateChanged(msg.getUser().getId(),
|
// order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null,
|
// null, CommonOrder.STATE_WQ);
|
// } else if (msg.getType() == MsgTypeOrderTypeEnum.share) {
|
// userOrderMsgNotificationService.orderShareStateChanged(msg.getUser().getId(),
|
// order.getOrderId(), Constant.SOURCE_TYPE_TAOBAO, null,
|
// null, CommonOrder.STATE_WQ);
|
// }
|
// }
|
}
|
} catch (Exception e) {
|
|
}
|
} else {
|
order.setCreateTime(new Date());
|
order.setUpdateTime(new Date());
|
taoBaoWeiQuanOrderMapper.insertSelective(order);
|
if (order.getState().contains("维权成功")) {
|
// 更改CommonOrder的状态
|
CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
|
order.getOrderItemId());
|
if (commonOrder != null) {
|
CommonOrder updateCommonOrder = new CommonOrder(commonOrder.getId());
|
updateCommonOrder.setState(CommonOrder.STATE_WQ);
|
updateCommonOrder.setUpdateTime(new Date());
|
commonOrderService.updateByPrimaryKeySelective(updateCommonOrder);
|
userOrderWeiQuanRecordService.addTaoBaoWeiQuan(taoBaoWeiQuanOrder);
|
}
|
}
|
}
|
}
|
|
@Override
|
public List<TaoBaoWeiQuanOrder> getWeiQuanSuccessOrders(String orderId) {
|
return taoBaoWeiQuanOrderMapper.selectListByOrderIdAndState(orderId, "维权成功");
|
}
|
|
@Override
|
public TaoBaoWeiQuanOrder listByorderItemId(String tradeId) {
|
return taoBaoWeiQuanOrderMapper.selectByOrderItemId(tradeId);
|
}
|
|
@Override
|
public List<TaoBaoWeiQuanOrder> listByState(String state, int page, int pageSize) {
|
return taoBaoWeiQuanOrderMapper.listByState(state, (page - 1) * pageSize, pageSize);
|
}
|
|
@Override
|
public long countByState(String state) {
|
return taoBaoWeiQuanOrderMapper.countByState(state);
|
}
|
|
@Override
|
public List<TaoBaoWeiQuanOrder> listByOrderId(String orderId) {
|
return taoBaoWeiQuanOrderMapper.listByOrderId(orderId);
|
}
|
|
@Override
|
public TaoBaoWeiQuanOrder selectByTradeId(String tradeId) {
|
return taoBaoWeiQuanOrderMapper.selectByOrderItem(tradeId);
|
}
|
|
@Override
|
public List<TaoBaoWeiQuanOrder> listByBeginWeiQuan(int page, int pageSize) {
|
return taoBaoWeiQuanOrderMapper.listByBeginWeiQuan((page - 1) * pageSize, pageSize);
|
}
|
}
|