|
|
@@ -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() + "格式不正确");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
}
|