Browse Source

/* 淘宝订单抓取测试 author by shenl 2020-07-14 */

sl 5 years ago
parent
commit
dccc635196

+ 262 - 261
src/main/java/com/uas/eis/serviceImpl/QueryServiceImpl.java

@@ -15,6 +15,7 @@ import com.uas.eis.entity.ActionConfig;
 import com.uas.eis.entity.ErrorMsg;
 import com.uas.eis.exception.SystemException;
 import com.uas.eis.utils.DateUtil;
+import net.sf.json.JSONArray;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
@@ -32,130 +33,131 @@ import com.uas.eis.utils.BaseUtil;
 import net.sf.json.JSONObject;
 
 
-
 @Service
 public class QueryServiceImpl implements QueryService {
 
-	@Autowired
-	private BaseDao baseDao;
-	@Autowired
-	private ActionConfig actionConfig;
-	
-	@Override
-	public String login(String username, String password) {
-		if(checkUser(username, password)) {
-			return TokenHandler.createToken(username, password);
-		}else {
-			return null;
-		}
-	}
-	
-	@Override
-	@Cacheable(value="userEnableCache")
-	public boolean checkUser(String username, String password) {
-		return baseDao.checkIf("EIS_USER", "eu_enable=-1 and " + "eu_name='" + username + "' and eu_password='" + password + "'");
-	}
+    @Autowired
+    private BaseDao baseDao;
+    @Autowired
+    private ActionConfig actionConfig;
+
+    @Override
+    public String login(String username, String password) {
+        if (checkUser(username, password)) {
+            return TokenHandler.createToken(username, password);
+        } else {
+            return null;
+        }
+    }
+
+    @Override
+    @Cacheable(value = "userEnableCache")
+    public boolean checkUser(String username, String password) {
+        return baseDao.checkIf("EIS_USER", "eu_enable=-1 and " + "eu_name='" + username + "' and eu_password='" + password + "'");
+    }
+
+    @Override
+    @Cacheable(value = "userActionEnableCache")
+    public boolean checkAction(String username, String action) {
+        boolean flag = false;
+
+        String roles = baseDao.queryForObject("select eu_role from eis_user where eu_name='" + username + "'", String.class);
+        if (roles == null) {
+            return false;
+        }
+        // 开放公共API的权限
+        String apiAction = actionConfig.getApiAction();
+        if (action.startsWith(apiAction)) {
+            return true;
+        }
+        // 判断是否在不需要权限控制的请求配置中
+        String[] publicActions = actionConfig.getPublicActions();
+        for (String publicAction : publicActions) {
+            if (publicAction.equals(action)) {
+                return true;
+            }
+        }
+        String[] fields = {"er_reg", "er_action"};
+        List<JSONObject> res = baseDao.getFieldsJSONDatasByCondition("EIS_ROLE", fields, "er_id in (" + roles + ")");
+        for (int o = 0; o < res.size(); o++) {
+            JSONObject data = res.get(o);
+            String reg = data.containsKey("er_reg") ? data.getString("er_reg") : "(\\S)*";
+            String act = data.containsKey("er_action") ? data.getString("er_action") : "";
+            // 通过正则和预设接口校验请求权限
+            if (action.matches(reg) || act.indexOf(action) != -1) {
+                flag = true;
+                break;
+            }
+        }
+        return flag;
+    }
 
-	@Override
-	@Cacheable(value="userActionEnableCache")
-	public boolean checkAction(String username, String action) {
-		boolean flag = false;
-		
-		String roles = baseDao.queryForObject("select eu_role from eis_user where eu_name='" + username + "'", String.class);
-		if(roles == null) {
-			return false;
-		}
-		// 开放公共API的权限
-		String apiAction = actionConfig.getApiAction();
-		if(action.startsWith(apiAction)) {
-			return true;
-		}
-		// 判断是否在不需要权限控制的请求配置中
-		String[] publicActions = actionConfig.getPublicActions();
-		for(String publicAction : publicActions) {
-			if(publicAction.equals(action)) {
-				return true;
-			}
-		}
-		String[] fields = {"er_reg","er_action"};
-		List<JSONObject> res = baseDao.getFieldsJSONDatasByCondition("EIS_ROLE", fields, "er_id in (" + roles + ")");
-		for(int o = 0; o< res.size(); o++) {
-			JSONObject data = res.get(o);
-			String reg = data.containsKey("er_reg") ? data.getString("er_reg") : "(\\S)*";
-			String act = data.containsKey("er_action") ? data.getString("er_action") : "";
-			// 通过正则和预设接口校验请求权限
-			if(action.matches(reg) || act.indexOf(action) != -1) {
-				flag = true;
-				break;
-			}
-		}
-		return flag;
-	}
-	public String getUsers(){
-		String sql = "SELECT EM_NAME,EM_CODE,TO_CHAR(EM_INDATE,'yyyy-MM-dd hh24:mm:ss') EM_INDATE FROM EMPLOYEE WHERE EM_CODE = 'U0818'";
-		Map<String, Object> map = baseDao.getJdbcTemplate().queryForMap(sql);
-		List<Map<String,Object>> list = baseDao.queryForList("SELECT * FROM UPLOADDOCDETAIL WHERE UDD_UDID=284");
-		return BaseUtil.parseDataToJson(map,list);
-	}
-	
-	/**
-	 * 标准查询API
-	 * @param code		查询方案Code
-	 * @param param		参数
-	 * @return
-	 */
-	public Object query(String code, String param){
-		Map<String, Object> resultmap = new HashMap<String, Object>();
-		List<Map<String, Object>> resultList = new ArrayList<Map<String,Object>>();
-		com.alibaba.fastjson.JSONObject json = JSON.parseObject(param);
-		//查询参数配置表
-		String getInOutParamsSql = "select * from queryArgs where qa_qccode = ?";
-		List<QueryArgs> inOutParamList = baseDao.query(getInOutParamsSql,  QueryArgs.class, code);
-		Map<String, String> argsMap = new HashMap<String, String>();	//存参数名对应的参数值
-		Map<String, String> argsTypeMap = new HashMap<String, String>();		//存参数名对应的参数类型
-		for(QueryArgs args : inOutParamList){
-			argsMap.put(args.getQa_param(),json.getString(args.getQa_param()));
-			argsTypeMap.put(args.getQa_param(), args.getQa_paramtype());
-		}
-		//校验查询方案传入的参数是否正确
-		checkParam(code, param);
-		//code对应的查询方案
-		String getQueryConfigsql = "select * from queryconfig where qc_code=? order by qc_detno"; 
-		List<QueryConfig> queryConfigList = baseDao.query(getQueryConfigsql, QueryConfig.class, code);
-		if(queryConfigList != null){
-			List<String> valueList = new ArrayList<String>();
-			Object mainField = baseDao.getFieldDataByCondition("queryArgs", "qa_param", "qa_qccode='"+code+"' and qa_ismainfield=1");
-			if(mainField != null && "array".equals(argsTypeMap.get(mainField))){
-				String argValue = argsMap.get(mainField);
-				String[] valueArray = argValue.replace("[", "").replace("]", "").replaceAll("\"", "").split(",");
-				valueList = new ArrayList<String>(Arrays.asList(valueArray));
-			}else{
-				valueList.add(argsMap.get(mainField));
-			}
-			for(int i = 0; i < valueList.size(); i++){
-				Map<String, Object> map = new HashMap<String, Object>();
-				for(QueryConfig queryConfig : queryConfigList){
-					StringBuilder inParam = new StringBuilder();
-					StringBuilder outParam = new StringBuilder();
-					//查询方案明细表,得到要查询的字段
-					String getQueryFieldssql = "select * from queryConfigDetail where qcd_qcid = ?";
-					List<QueryConfigDetail> queryFieldsList = baseDao.query(getQueryFieldssql, QueryConfigDetail.class, queryConfig.getQc_id());
-					StringBuilder sb = new StringBuilder();
-					sb.append("select ");
-					for(QueryConfigDetail field : queryFieldsList){
-						sb.append(field.getQcd_field() + " \"" + field.getQcd_mappingkey() + "\",");
-					}
-					sb.deleteCharAt(sb.length()-1);			//去掉最后一个 ,
-					sb.append(" from " + queryConfig.getQc_table());
-					//拼接condition
-					String condition = queryConfig.getQc_condition();
-					Pattern pattern = Pattern.compile("@[\\w]+");		//通过正则替换@变量
-					Matcher m = pattern.matcher(condition);
-					List<String> matchList = new ArrayList<String>();
-					while(m.find()){
-						matchList.add(m.group());
-					}
-					for(String match : matchList){
+    public String getUsers() {
+        String sql = "SELECT EM_NAME,EM_CODE,TO_CHAR(EM_INDATE,'yyyy-MM-dd hh24:mm:ss') EM_INDATE FROM EMPLOYEE WHERE EM_CODE = 'U0818'";
+        Map<String, Object> map = baseDao.getJdbcTemplate().queryForMap(sql);
+        List<Map<String, Object>> list = baseDao.queryForList("SELECT * FROM UPLOADDOCDETAIL WHERE UDD_UDID=284");
+        return BaseUtil.parseDataToJson(map, list);
+    }
+
+    /**
+     * 标准查询API
+     *
+     * @param code  查询方案Code
+     * @param param 参数
+     * @return
+     */
+    public Object query(String code, String param) {
+        Map<String, Object> resultmap = new HashMap<String, Object>();
+        List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
+        com.alibaba.fastjson.JSONObject json = JSON.parseObject(param);
+        //查询参数配置表
+        String getInOutParamsSql = "select * from queryArgs where qa_qccode = ?";
+        List<QueryArgs> inOutParamList = baseDao.query(getInOutParamsSql, QueryArgs.class, code);
+        Map<String, String> argsMap = new HashMap<String, String>();    //存参数名对应的参数值
+        Map<String, String> argsTypeMap = new HashMap<String, String>();        //存参数名对应的参数类型
+        for (QueryArgs args : inOutParamList) {
+            argsMap.put(args.getQa_param(), json.getString(args.getQa_param()));
+            argsTypeMap.put(args.getQa_param(), args.getQa_paramtype());
+        }
+        //校验查询方案传入的参数是否正确
+        checkParam(code, param);
+        //code对应的查询方案
+        String getQueryConfigsql = "select * from queryconfig where qc_code=? order by qc_detno";
+        List<QueryConfig> queryConfigList = baseDao.query(getQueryConfigsql, QueryConfig.class, code);
+        if (queryConfigList != null) {
+            List<String> valueList = new ArrayList<String>();
+            Object mainField = baseDao.getFieldDataByCondition("queryArgs", "qa_param", "qa_qccode='" + code + "' and qa_ismainfield=1");
+            if (mainField != null && "array".equals(argsTypeMap.get(mainField))) {
+                String argValue = argsMap.get(mainField);
+                String[] valueArray = argValue.replace("[", "").replace("]", "").replaceAll("\"", "").split(",");
+                valueList = new ArrayList<String>(Arrays.asList(valueArray));
+            } else {
+                valueList.add(argsMap.get(mainField));
+            }
+            for (int i = 0; i < valueList.size(); i++) {
+                Map<String, Object> map = new HashMap<String, Object>();
+                for (QueryConfig queryConfig : queryConfigList) {
+                    StringBuilder inParam = new StringBuilder();
+                    StringBuilder outParam = new StringBuilder();
+                    //查询方案明细表,得到要查询的字段
+                    String getQueryFieldssql = "select * from queryConfigDetail where qcd_qcid = ?";
+                    List<QueryConfigDetail> queryFieldsList = baseDao.query(getQueryFieldssql, QueryConfigDetail.class, queryConfig.getQc_id());
+                    StringBuilder sb = new StringBuilder();
+                    sb.append("select ");
+                    for (QueryConfigDetail field : queryFieldsList) {
+                        sb.append(field.getQcd_field() + " \"" + field.getQcd_mappingkey() + "\",");
+                    }
+                    sb.deleteCharAt(sb.length() - 1);            //去掉最后一个 ,
+                    sb.append(" from " + queryConfig.getQc_table());
+                    //拼接condition
+                    String condition = queryConfig.getQc_condition();
+                    Pattern pattern = Pattern.compile("@[\\w]+");        //通过正则替换@变量
+                    Matcher m = pattern.matcher(condition);
+                    List<String> matchList = new ArrayList<String>();
+                    while (m.find()) {
+                        matchList.add(m.group());
+                    }
+                    for (String match : matchList) {
 						/*if("array".equals(argsTypeMap.get(match.replace("@", "")))){
 							String value = argsMap.get(match.replace("@", ""));
 							value = value.replaceAll("\"", "'");
@@ -163,160 +165,159 @@ public class QueryServiceImpl implements QueryService {
 						}else{
 							condition = condition.replaceAll(match, "'"+argsMap.get(match.replace("@", ""))+"'");
 						}*/
-						if(match.equals("@"+mainField)){
-							condition = condition.replaceAll(match, "'"+valueList.get(i)+"'");
-							inParam.append(mainField+"="+valueList.get(i)+";");
-						}else{
-							condition = condition.replaceAll(match, "'"+argsMap.get(match.replace("@", ""))+"'");
-							inParam.append(match.replace("@","")+"="+argsMap.get(match.replace("@", ""))+";");
-						}
-					}
-					sb.append(" " + condition);		//append where条件
-					//append order by语句
-					if(!StringUtils.isEmpty(queryConfig.getQc_orderby())){
-						sb.append(" " + queryConfig.getQc_orderby());
-					}
-					if(queryFieldsList != null && queryFieldsList.size()>0){
-						if(queryConfig.getQc_isArray() != null && queryConfig.getQc_isArray() == 0){
-							map.put(queryConfig.getQc_mapkey(), baseDao.getJdbcTemplate().queryForMap(sb.toString()));
-						}else{
-							map.put(queryConfig.getQc_mapkey(), baseDao.queryForList(sb.toString()));
-						}
-					}
-					
-					//获取额外返回值
-					if(!StringUtils.isEmpty(queryConfig.getQc_return())){
-						String getReturnSql = "select " + queryConfig.getQc_return() + " from " + queryConfig.getQc_table() + " " + condition;
-						Map<String, Object> returnMap = baseDao.getJdbcTemplate().queryForMap(getReturnSql);
-						List<Object> list = baseDao.getFieldDatasByCondition("queryArgs", "qa_param", "qa_qccode='"+queryConfig.getQc_code()+"' and qa_relation="+queryConfig.getQc_id()+" order by qa_detno");
-						Iterator<Object> it = returnMap.values().iterator();
-						int j = 0;
-						while(it.hasNext()){
-							String value = String.valueOf(it.next());
-							argsMap.put(String.valueOf(list.get(j)), value);
-							outParam.append(String.valueOf(list.get(j))+"="+value+";");
-							j++;
-						}
-					}
-					//记录日志
-					String insertSql = "INSERT INTO QUERYLOG(QL_ID,QL_QCCODE,QL_PARAM,QL_RETURN,QL_DATE) VALUES(QUERYLOG_SEQ.NEXTVAL,'"+queryConfig.getQc_code()+"','"+inParam.toString()+"','"+outParam.toString()+"',SYSDATE)";
-					baseDao.execute(insertSql);
-				}
-				if(valueList.size() > 1){
-					resultList.add(map);
-				}else{
-					resultmap.putAll(map);
-				}
-			}
-			if(valueList.size() > 1)
-				return resultList;
-			else
-				return resultmap;
-		}else{
-			return resultmap;
-		}
-		
-	}
+                        if (match.equals("@" + mainField)) {
+                            condition = condition.replaceAll(match, "'" + valueList.get(i) + "'");
+                            inParam.append(mainField + "=" + valueList.get(i) + ";");
+                        } else {
+                            condition = condition.replaceAll(match, "'" + argsMap.get(match.replace("@", "")) + "'");
+                            inParam.append(match.replace("@", "") + "=" + argsMap.get(match.replace("@", "")) + ";");
+                        }
+                    }
+                    sb.append(" " + condition);        //append where条件
+                    //append order by语句
+                    if (!StringUtils.isEmpty(queryConfig.getQc_orderby())) {
+                        sb.append(" " + queryConfig.getQc_orderby());
+                    }
+                    if (queryFieldsList != null && queryFieldsList.size() > 0) {
+                        if (queryConfig.getQc_isArray() != null && queryConfig.getQc_isArray() == 0) {
+                            map.put(queryConfig.getQc_mapkey(), baseDao.getJdbcTemplate().queryForMap(sb.toString()));
+                        } else {
+                            map.put(queryConfig.getQc_mapkey(), baseDao.queryForList(sb.toString()));
+                        }
+                    }
 
-	@Override
-	public String doAction(String code, String param) {
-		try {
-			// TOP服务地址,正式环境需要设置为http://gw.api.taobao.com/router/rest
-			private static final String serverUrl = "http://gw.api.tbsandbox.com/router/rest";
-			private static final String appKey = "test"; // 可替换为您的沙箱环境应用的appKey         /* 待修改 */
-			private static final String appSecret = "test"; // 可替换为您的沙箱环境应用的appSecret   /* 待修改 */
-			private static final String sessionKey = "test"; // 必须替换为沙箱账号授权得到的真实有效sessionKey    /* 待修改 */
+                    //获取额外返回值
+                    if (!StringUtils.isEmpty(queryConfig.getQc_return())) {
+                        String getReturnSql = "select " + queryConfig.getQc_return() + " from " + queryConfig.getQc_table() + " " + condition;
+                        Map<String, Object> returnMap = baseDao.getJdbcTemplate().queryForMap(getReturnSql);
+                        List<Object> list = baseDao.getFieldDatasByCondition("queryArgs", "qa_param", "qa_qccode='" + queryConfig.getQc_code() + "' and qa_relation=" + queryConfig.getQc_id() + " order by qa_detno");
+                        Iterator<Object> it = returnMap.values().iterator();
+                        int j = 0;
+                        while (it.hasNext()) {
+                            String value = String.valueOf(it.next());
+                            argsMap.put(String.valueOf(list.get(j)), value);
+                            outParam.append(String.valueOf(list.get(j)) + "=" + value + ";");
+                            j++;
+                        }
+                    }
+                    //记录日志
+                    String insertSql = "INSERT INTO QUERYLOG(QL_ID,QL_QCCODE,QL_PARAM,QL_RETURN,QL_DATE) VALUES(QUERYLOG_SEQ.NEXTVAL,'" + queryConfig.getQc_code() + "','" + inParam.toString() + "','" + outParam.toString() + "',SYSDATE)";
+                    baseDao.execute(insertSql);
+                }
+                if (valueList.size() > 1) {
+                    resultList.add(map);
+                } else {
+                    resultmap.putAll(map);
+                }
+            }
+            if (valueList.size() > 1)
+                return resultList;
+            else
+                return resultmap;
+        } else {
+            return resultmap;
+        }
 
-			TaobaoClient client = new DefaultTaobaoClient(serverUrl, appKey, appSecret);
-			TradesSoldGetRequest req = new TradesSoldGetRequest();
-			req.setFields("tid,type,status,payment,orders,rx_audit_status");
+    }
 
+    @Override
+    public String doAction(String code, String param) {
+        try {
+            // TOP服务地址,正式环境需要设置为http://gw.api.taobao.com/router/rest
+            private static final String serverUrl = "http://gw.api.tbsandbox.com/router/rest";
+            private static final String appKey = "test"; // 可替换为您的沙箱环境应用的appKey         /* 待修改 */
+            private static final String appSecret = "test"; // 可替换为您的沙箱环境应用的appSecret   /* 待修改 */
+            private static final String sessionKey = "test"; // 必须替换为沙箱账号授权得到的真实有效sessionKey    /* 待修改 */
 
-			req.setStartCreated(StringUtils.parseDateTime("2000-01-01 00:00:00"));
-			req.setEndCreated(StringUtils.parseDateTime("2000-01-01 23:59:59"));
-			req.setStatus("ALL_WAIT_PAY");
-			req.setBuyerNick("zhangsan");
-			req.setType("game_equipment");
-			req.setExtType("service");
-			req.setRateStatus("RATE_UNBUYER");
-			req.setTag("time_card");
-			req.setPageNo(1L);
-			req.setPageSize(40L);
-			req.setUseHasNext(true);
-			req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT");
-			TradesSoldGetResponse rsp = client.execute(req, sessionKey);
-			System.out.println(rsp.getBody());
-			//这里解析返回的数据
+            TaobaoClient client = new DefaultTaobaoClient(serverUrl, appKey, appSecret);
 
-			String sysdate = toString(DateUtil.getCurrentDate(),"hh:mm:ss");
-            if(("23:59:59").equals(sysdate)){
-				com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
-				com.alibaba.fastjson.JSONObject jsonObject1 = com.alibaba.fastjson.JSONObject.parseObject(rsp.getBody());
-				Object trades = jsonObject1.get("trades");
+            //调用原生SDK获得数据
+            TradesSoldGetRequest req = new TradesSoldGetRequest();
+            req.setFields("tid,type,status,payment,orders,rx_audit_status");
 
-				Map<Object, Object> formMap = new HashMap<Object, Object>();
-				//formMap = BaseUtil.parseFormStoreToMap(formStore);
-				//List<Map<Object, Object>> gridMaps = BaseUtil.parseGridStoreToMaps(gridStore);
-				Map<Object, Object> map = new HashMap<Object, Object>();
+            //String sysdate = DateUtil.getCurrentDate();
+            //req.setStartCreated(StringUtils.parseDateTime(sysdate));
+            //req.setStartCreated(StringUtils.parseDateTime("2000-01-01 00:00:00"));
+            //req.setEndCreated(StringUtils.parseDateTime("2000-01-01 23:59:59"));
+            //交易成功
+            req.setStatus("TRADE_FINISHED");
+//            req.setBuyerNick("zhangsan");
+//            req.setType("game_equipment");
+            req.setExtType("service");
+//            req.setRateStatus("RATE_UNBUYER");
+//            req.setTag("time_card");
+//            req.setPageNo(1L);
+//            req.setPageSize(40L);
+            req.setUseHasNext(true);
+            req.setBuyerOpenId("AAHm5d-EAAeGwJedwSHpg8bT");
+            TradesSoldGetResponse rsp = client.execute(req, sessionKey);
+            System.out.println(rsp.getBody());
+            //这里解析返回的数据
+            //解析第一层---对象
+            JSONObject jObject1 = new JSONObject(rsp.getBody());
+            //解析第二层----数组
+            JSONArray jsonArray2 = jObject1.getJSONArray("trades");
+            //遍历数组获取元素----对象
+            for (int i = 0; i < jsonArray2.length(); i++) {
+                //解析第三层----对象
+                JSONObject jObject3 = jsonArray2.getJSONObject(i);
+                Long said = baseDao.queryForObject("select sale_seq.nextval from dual", Long.class);
 
-				Long said = baseDao.queryForObject("select sale_seq.nextval from dual", Long.class);
+                String INSERTSALESql = "insert into sale(sa_id,sa_date,sa_custname,sa_currency,sa_rate,sa_apcustname,sa_shcustname,sa_toplace,sa_transport" +
+                        ",sa_seller,sa_updatedate,sa_enddate,sa_statuscode,sa_status,sa_fare,sa_total,sa_recamount,sa_plandelivery,sa_printstatuscode)" +
+                        "values(said,to_date(" + jObject3.getString("start_created") + ",'yyyy-MM-dd hh:mm:ss'),receiver_name,'rmb','1',receiver_name,receiver_name,receiver_address,shipping_type" +
+                        ",o2o_guide_name,modified,end_time,'entering','在录入',post_fee,payment,total_fee,consign_time,'unprint')";
 
-				Long said = baseDao.queryForObject("select  from configs", Long.class);
+                String INSERTSALEDETAILSql = "insert into saledetail(sd_said,sd_detno,sd_qty,sd_delivery,sd_price,sd_total,sd_taxrate,sd_costprice" +
+                        ",sd_taxtotal,sd_description,sd_statuscode,sd_status,sd_enddate,sd_senddate,sd_discount)" +
+                        "values (sd_said,?,num,price,total_fee,?,price/(1+sd_taxrate/100)" +
+                        ",price/(1+total_fee/100),customization,'entering','在录入',end_time,consign_time,discount_fee )";
+                baseDao.execute(INSERTSALESql);
+                baseDao.execute(INSERTSALEDETAILSql);
 
-				String INSERTSALESql = "insert into sale(sa_id,sa_date,sa_custname,sa_currency,sa_rate,sa_apcustname,sa_shcustname,sa_toplace,sa_transport" +
-						",sa_seller,sa_updatedate,sa_enddate,sa_statuscode,sa_status,sa_fare,sa_total,sa_recamount,sa_plandelivery,sa_printstatuscode)" +
-						"values(said,start_created,receiver_name,'rmb','1',receiver_name,receiver_name,receiver_address,shipping_type" +
-						",o2o_guide_name,modified,end_time,'entering','在录入',post_fee,payment,total_fee,consign_time,'unprint')";
+            }
 
-				String INSERTSALEDETAILSql = "insert into saledetail(sd_said,sd_detno,sd_qty,sd_delivery,sd_price,sd_total,sd_taxrate,sd_costprice" +
-						",sd_taxtotal,sd_description,sd_statuscode,sd_status,sd_enddate,sd_senddate,sd_discount)"+
-						"values (sd_said,?,num,price,total_fee,?,price/(1+sd_taxrate/100)" +
-						",price/(1+total_fee/100),customization,'entering','在录入',end_time,consign_time,discount_fee )";
-				baseDao.execute(INSERTSALESql);
-				baseDao.execute(INSERTSALEDETAILSql);
-				return "插入每日销售明细成功";
-			}
 
+            return "插入每日销售明细成功";
+        } catch (Exception e) {
+            return e.getMessage();
+        }
+    }
 
-		}catch (Exception e){
-			return e.getMessage();
-		}
-	}
-	
 
-	
-	/**
-	 * 传入参数的合法性校验
-	 * @param code
-	 * @param param
-	 */
-	private void checkParam(String code, String param){
-		com.alibaba.fastjson.JSONObject json = JSON.parseObject(param);
-		if(StringUtils.isEmpty(code)){
-			throw new SystemException(ErrorMsg.NULL_QUERY_CODE);
-		}
-		if(json == null){
-			throw new SystemException(ErrorMsg.PARAM_AMOUNT_ERROR);
-		}
-		String getInParamsSql = "select * from queryArgs where qa_qccode = ? and qa_relation is null";
-		List<QueryArgs> inParamList = baseDao.query(getInParamsSql,  QueryArgs.class, code);
-		if(inParamList.size() != json.size()){
-			throw new SystemException(ErrorMsg.PARAM_AMOUNT_ERROR);
-		}else{
-			 for(QueryArgs queryArgs : inParamList){
-				 if(json.getString(queryArgs.getQa_param()) == null){
-					 throw new SystemException(ErrorMsg.PARAM_NAME_ERROR);
-				 }else{
-					 if("array".equals(queryArgs.getQa_paramtype())){
-						 String stringArray = json.getString(queryArgs.getQa_param());
-						 if(!(stringArray.contains("[") && stringArray.contains("]"))){
-							 BaseUtil.showError(ErrorMsg.PARAM_FORMAT_ERROR,"传入的参数:"+queryArgs.getQa_param()+"格式不正确");
-						 }
-					 }
-				 }
-			 }
-		}
-	}
+    /**
+     * 传入参数的合法性校验
+     *
+     * @param code
+     * @param param
+     */
+    private void checkParam(String code, String param) {
+        com.alibaba.fastjson.JSONObject json = JSON.parseObject(param);
+        if (StringUtils.isEmpty(code)) {
+            throw new SystemException(ErrorMsg.NULL_QUERY_CODE);
+        }
+        if (json == null) {
+            throw new SystemException(ErrorMsg.PARAM_AMOUNT_ERROR);
+        }
+        String getInParamsSql = "select * from queryArgs where qa_qccode = ? and qa_relation is null";
+        List<QueryArgs> inParamList = baseDao.query(getInParamsSql, QueryArgs.class, code);
+        if (inParamList.size() != json.size()) {
+            throw new SystemException(ErrorMsg.PARAM_AMOUNT_ERROR);
+        } else {
+            for (QueryArgs queryArgs : inParamList) {
+                if (json.getString(queryArgs.getQa_param()) == null) {
+                    throw new SystemException(ErrorMsg.PARAM_NAME_ERROR);
+                } else {
+                    if ("array".equals(queryArgs.getQa_paramtype())) {
+                        String stringArray = json.getString(queryArgs.getQa_param());
+                        if (!(stringArray.contains("[") && stringArray.contains("]"))) {
+                            BaseUtil.showError(ErrorMsg.PARAM_FORMAT_ERROR, "传入的参数:" + queryArgs.getQa_param() + "格式不正确");
+                        }
+                    }
+                }
+            }
+        }
+    }
 
 
 }

+ 14 - 1
src/main/java/com/uas/eis/utils/BaseUtil.java

@@ -18,7 +18,20 @@ import com.uas.eis.exception.SystemException;
 
 public class BaseUtil {
 
-	
+	/**
+	 * 将formStore解析成一个map
+	 *
+	 * @param formStore
+	 *            字符串形式的表单数据
+	 * @return map形式的表单数据
+	 */
+	public static Map<Object, Object> parseFormStoreToMap(String formStore) {
+		try {
+			return FlexJsonUtil.fromJson(formStore);
+		} catch (Exception e) {
+			return JSONUtil.toMap(formStore);
+		}
+	}
 	
 	/**
 	 * 以抛出异常的方式将信息交给MyExceptionHandler MyExceptionHandler会捕捉信息并传给前台