Helius
2021-06-16 5728be2af515b2200e782aa201ca5d4d67d9ea47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
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());
    }
}