package com.ibeetl.admin.console.service; import com.ibeetl.admin.console.dao.OrderManageDao; import com.ibeetl.admin.console.dao.XzxOrderComplaintDao; import com.ibeetl.admin.console.model.XzxOrderComplaintModel; import com.ibeetl.admin.core.entity.CoreUser; import com.ibeetl.admin.core.entity.XzxOrderComplaint; import com.ibeetl.admin.core.service.CoreBaseService; import com.ibeetl.admin.core.service.CorePlatformService; import com.ibeetl.admin.core.util.PlatformException; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import org.beetl.sql.core.engine.PageQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * XzxOrderComplaint Service */ @Service @Transactional public class XzxOrderComplaintService extends CoreBaseService{ @Autowired private XzxOrderComplaintDao xzxOrderComplaintDao; final Base64 base64 = new Base64(); @Autowired CorePlatformService platformService; @Autowired XzxCityPartnerService cityPartnerService; @Autowired OrderManageDao orderManageDao; public PageQueryqueryByCondition(PageQuery query){ PageQuery ret = xzxOrderComplaintDao.queryByCondition(query); queryListAfter(ret.getList()); return ret; } public void batchDelXzxOrderComplaint(List ids){ try { xzxOrderComplaintDao.batchDelXzxOrderComplaintByIds(ids); } catch (Exception e) { throw new PlatformException("批量删除XzxOrderComplaint失败", e); } } /** * 根据条件查询投诉列表 * @param model * @return */ public Map queryComplaintApiList(XzxOrderComplaintModel model) { String afterSaleFlag = model.getAfterSaleFlag(); String startTime = model.getStartTime(); String endTime = model.getEndTime(); int p = (model.getPage() - 1) * model.getLimit(); Map m = new HashMap<>(); String[] x = null; if (!StringUtils.isEmpty(afterSaleFlag)) { if (afterSaleFlag.equals("1")) { //完成包含 1 未处理 2 取消订单 3重新派单 afterSaleFlag = "1,2,3"; } x = afterSaleFlag.split(","); } if (null != startTime && !"".equals(startTime)) { startTime = startTime + " 00:00:00"; } if (null != endTime && !"".equals(endTime)) { endTime = endTime + " 23:59:59"; } List partnerIds = cityPartnerService.queryPartnerByCurrent(); List list =xzxOrderComplaintDao.queryComplaintApiList(x, startTime, endTime, p, model.getLimit(),model.getOrderId(),model.getUserPhone(),model.getCollectorName(),model.getCollectorPhone(),partnerIds); for (XzxOrderComplaintModel orderModel:list) { if(orderModel.getNickName()!=null&&!"".equals(orderModel.getNickName())){ String nickName =""; try { nickName =new String(base64.decode(orderModel.getNickName()), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } orderModel.setNickName(nickName); } if(orderModel.getComplaintReason()!=null&&!"".equals(orderModel.getComplaintReason())){ String complaintReason =""; try { complaintReason =new String(base64.decode(orderModel.getComplaintReason()), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } orderModel.setComplaintReason(complaintReason); } } m.put("data", list); m.put("count", xzxOrderComplaintDao.queryComplaintApiCount(x, startTime, endTime,model.getOrderId(),model.getUserPhone(),model.getCollectorName(),model.getCollectorPhone(),partnerIds)); m.put("code", 0); return m; } /** * 根据ID更新投诉单状态 * @param model */ public int updateComplaintFlagApi(XzxOrderComplaintModel model){ // OrderManageService为2是取消订单,需要更新订单状态为6 if(model.getAfterSaleFlag().equals("2")){ orderManageDao.updateOrderStatus(model.getOrderId(), null, "6"); } return xzxOrderComplaintDao.updateComplaintFlagApi(model.getId().toString(), model.getComplaintPlan(), model.getAfterSaleFlag()); } }