wuxw7
2017-04-07 ad0f8834b40ac0bf17d22c78c711ba385412ae3a
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
package com.java110.user.dao.impl;
 
import com.alibaba.fastjson.JSONObject;
import com.java110.user.dao.IUserServiceDao;
import com.java110.common.log.LoggerEngine;
import com.java110.common.constant.CommonConstant;
import com.java110.common.constant.ResponseConstant;
import com.java110.common.util.ProtocolUtil;
import com.java110.core.base.dao.BaseServiceDao;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
 
import java.util.List;
import java.util.Map;
 
/**
 * 用户服务 与数据库交互
 * Created by wuxw on 2017/4/5.
 */
 
/**
 * 用户信息实现工程
 * Created by wuxw on 2016/12/27.
 */
@Service("userServiceDaoImpl")
@Transactional
public class UserServiceDaoImpl extends BaseServiceDao implements IUserServiceDao {
 
 
 
    /**
     * 保存用户基本信息
     * 功能只用与保存用户处理
     * @param userInfo 用户基本信息
     * @return
     */
    @Override
    public String saveDataToBoCust(String userInfo) {
 
        LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCust】保存数据入参 : " + userInfo);
        Map<String,Object> userMap = null;
        String returnInfo = null;
        try {
            userMap = this.simpleValidateJSONReturnMap(userInfo);
 
            int saveFlag = sqlSessionTemplate.insert("UserServiceDAOImpl.saveDataToBoCust",userMap);
 
            if(saveFlag > 0){
                returnInfo = ProtocolUtil.createResultMsg(ResponseConstant.RESULT_CODE_SUCCESS,"成功",null);
            }else{
                returnInfo = ProtocolUtil.createResultMsg(ResponseConstant.RESULT_CODE_ERROR,"失败",null);
            }
        }catch(RuntimeException e){
            LoggerEngine.error("----【UserServiceDAOImpl.saveDataToBoCust】保存数据异常 : " ,e);
            return e.getMessage();
        }
        LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCust】保存数据出参 : " + returnInfo);
        return returnInfo;
    }
 
    /**
     * 保存用户属性(过程表)
     * 批量保存传入参数必须一个JSONArray to string
     * @param boCustAttr 用户属性
     * @return
     * @throws RuntimeException
     */
    @Override
    public String saveDataToBoCustAttr(String boCustAttr) throws RuntimeException {
 
        LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCustAttr】保存数据入参 : " + boCustAttr);
        List<Map> reqList = null;
        String returnInfo = null;
        try{
            reqList = this.simpleValidateJSONArrayReturnList(boCustAttr);
        }catch (RuntimeException e){
            return e.getMessage();
        }
        //为了保险起见,再测检测reqList 是否有值
        if(reqList == null || reqList.size() == 0){
            returnInfo = ProtocolUtil.createResultMsg(ResponseConstant.RESULT_CODE_PARAM_ERROR,"入参错误",null);
            LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCustAttr】保存数据出错 : " + returnInfo);
            return returnInfo;
        }
        Map boCustAttrMap = null;
        int saveFlag = 0;
        for(int attrIndex = 0 ; attrIndex < reqList.size();attrIndex++){
            boCustAttrMap = reqList.get(attrIndex);
            saveFlag = sqlSessionTemplate.insert("UserServiceDAOImpl.saveDataToBoCustAttr",boCustAttrMap);
            if(saveFlag < 1){ //只要一个保存失败,抛异常回退
                LoggerEngine.error("----【UserServiceDAOImpl.saveDataToBoCustAttr】保存数据异常 : " + boCustAttrMap.toString());
                throw new RuntimeException(CommonConstant.SAVE_DATA_ERROR+"保存数据失败:"+boCustAttrMap.toString());
            }
        }
        returnInfo = ProtocolUtil.createResultMsg(ResponseConstant.RESULT_CODE_SUCCESS,"成功",null);
        LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCustAttr】保存数据出参 : " + returnInfo);
        return returnInfo;
    }
 
    /**
     * 同时保存客户基本信息和客户属性
     * @param boCustInfo 用户信息
     * @return
     * @throws RuntimeException
     */
    @Override
    public String saveDataToBoCustAndBoCustAttr(String boCustInfo) throws RuntimeException {
 
        LoggerEngine.debug("----【UserServiceDAOImpl.saveDataToBoCustAndBoCustAttr】保存数据入参"+boCustInfo);
        JSONObject reqJson = null ;
        String returnInfo = null;
        //报文校验是否符合要求
        try{
            reqJson = this.simpleValidateJSON(boCustInfo);
        }catch (RuntimeException e){
            return e.getMessage();
        }
        //保存用户基本信息
        if(reqJson!= null && reqJson.containsKey("boCust")){
            String boCustJSON = reqJson.getJSONObject("boCust").toJSONString();
            returnInfo = this.saveDataToBoCust(boCustJSON);
            //解析返回内容
        }
 
        return null;
    }
 
    @Override
    public String saveDataToCust(String cust) throws RuntimeException {
        return null;
    }
 
    @Override
    public String saveDataToCustAttr(String custAttr) throws RuntimeException {
        return null;
    }
 
    @Override
    public String saveDataToCustAndCustAttr(String custInfo) throws RuntimeException {
        return null;
    }
 
    @Override
    public String updateDataToCust(String cust) throws RuntimeException {
        return null;
    }
 
    @Override
    public String updateDataToCustAttr(String custAttr) throws RuntimeException {
        return null;
    }
 
    @Override
    public String updateDataToCustAndCustAttr(String custInfo) throws RuntimeException {
        return null;
    }
 
    @Override
    public String queryDataToCust(String cust) throws RuntimeException {
        return null;
    }
 
    @Override
    public String queryDataToCustAttr(String custAttr) throws RuntimeException {
        return null;
    }
 
    @Override
    public String queryDataToCustAndCustAttr(String custInfo) throws RuntimeException {
        return null;
    }
}