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<XzxOrderComplaint>{
|
|
@Autowired private XzxOrderComplaintDao xzxOrderComplaintDao;
|
final Base64 base64 = new Base64();
|
@Autowired
|
CorePlatformService platformService;
|
@Autowired
|
XzxCityPartnerService cityPartnerService;
|
@Autowired
|
OrderManageDao orderManageDao;
|
public PageQuery<XzxOrderComplaint>queryByCondition(PageQuery query){
|
PageQuery ret = xzxOrderComplaintDao.queryByCondition(query);
|
queryListAfter(ret.getList());
|
return ret;
|
}
|
|
public void batchDelXzxOrderComplaint(List<Long> ids){
|
try {
|
xzxOrderComplaintDao.batchDelXzxOrderComplaintByIds(ids);
|
} catch (Exception e) {
|
throw new PlatformException("批量删除XzxOrderComplaint失败", e);
|
}
|
}
|
|
/**
|
* 根据条件查询投诉列表
|
* @param model
|
* @return
|
*/
|
public Map<String, Object> queryComplaintApiList(XzxOrderComplaintModel model) {
|
String afterSaleFlag = model.getAfterSaleFlag();
|
String startTime = model.getStartTime();
|
String endTime = model.getEndTime();
|
int p = (model.getPage() - 1) * model.getLimit();
|
Map<String, Object> 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<String> partnerIds = cityPartnerService.queryPartnerByCurrent();
|
List<XzxOrderComplaintModel> 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());
|
}
|
}
|