123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package com.yihu.hos.app.service;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import com.yihu.hos.app.dao.AppApiDao;
- import com.yihu.hos.app.model.AppApi;
- import com.yihu.hos.app.model.AppApiParameter;
- import com.yihu.hos.app.model.AppApiResponse;
- import com.yihu.hos.core.log.Logger;
- import com.yihu.hos.core.log.LoggerFactory;
- import com.yihu.hos.web.framework.baseservice.BaseService;
- import com.yihu.hos.web.framework.util.DateTimeUtil;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import javax.annotation.Resource;
- import java.text.SimpleDateFormat;
- import java.util.List;
- import java.util.Map;
- /**
- * Created by chenweida on 2016/1/21.
- */
- @Service("appApiService")
- public class AppApiService extends BaseService<AppApi>{
- public static final String BEAN_ID = "appApiService";
- private static final String DELETE = "delete";
- private static final String ADD = "add";
- private static final String UPDATE = "update";
- private static final String NEW_DATA = "0";
- private static final String DATA_STATUS = "__status";
- @Autowired
- public ObjectMapper objectMapper;
- static final Logger logger = LoggerFactory.getLogger(AppApiService.class);
- @Autowired
- private AppApiParameterService appApiParameterService;
- @Autowired
- private AppApiResponseService appApiResponseService;
- @Resource(name = AppApiDao.BEAN_ID)
- private AppApiDao appApiDao;
- public AppApi getById(Integer id) throws Exception {
- return appApiDao.getEntity(AppApi.class, id);
- }
- @Transactional
- public void delete(Integer id) throws Exception {
- AppApi appApi = appApiDao.getEntity(AppApi.class, id);
- appApiDao.deleteEntity(appApi);
- }
- @Transactional
- public AppApi saveOrUpdate(AppApi obj) throws Exception {
- if ("".equals(obj.getMethodName())){
- obj.setMethodName(null);
- }
- appApiDao.saveOrUpdateEntity(obj);
- return obj;
- }
- /**
- * 保存apiParms及apiResponse
- *
- * @param apiId
- * @param apiParms
- * @param apiResponse
- */
- private void saveApiParmsResponse(Integer apiId, String apiParms, String apiResponse) {
- try {
- List<Map<String, Object>> list;
- if (!StringUtils.isEmpty(apiParms)) {
- list = objectMapper.readValue(apiParms, List.class);
- for (Map<String, Object> parmsMap : list) {
- //删除的是新增的数据直接跳过
- if (DELETE.equals(parmsMap.get(DATA_STATUS)) && NEW_DATA.equals(parmsMap.get("id") + "")) {
- continue;
- } else {
- parmsMap.put("appApiId", apiId);
- String json = objectMapper.writeValueAsString(parmsMap);
- objectMapper.setDateFormat(new SimpleDateFormat(DateTimeUtil.ISO8601Pattern));
- AppApiParameter obj = objectMapper.readValue(json, AppApiParameter.class);
- if (NEW_DATA.equals(parmsMap.get("id") + "")) {
- appApiParameterService.create(obj);
- } else if (UPDATE.equals(parmsMap.get(DATA_STATUS))) {
- appApiParameterService.update(obj);
- } else if (DELETE.equals(parmsMap.get(DATA_STATUS))) {
- appApiParameterService.delete(obj.getId());
- }
- }
- }
- }
- if (!StringUtils.isEmpty(apiResponse)) {
- list = objectMapper.readValue(apiResponse, List.class);
- for (Map<String, Object> parmsMap : list) {
- //删除的是新增的数据直接跳过
- if (DELETE.equals(parmsMap.get(DATA_STATUS)) && NEW_DATA.equals(parmsMap.get("id") + "")) {
- continue;
- } else {
- parmsMap.put("appApiId", apiId);
- String json = objectMapper.writeValueAsString(parmsMap);
- objectMapper.setDateFormat(new SimpleDateFormat(DateTimeUtil.ISO8601Pattern));
- AppApiResponse obj = objectMapper.readValue(json, AppApiResponse.class);
- if (ADD.equals(parmsMap.get(DATA_STATUS))) {
- appApiResponseService.create(obj);
- } else if (UPDATE.equals(parmsMap.get(DATA_STATUS))) {
- appApiResponseService.update(obj);
- } else if (DELETE.equals(parmsMap.get(DATA_STATUS))) {
- appApiResponseService.delete(obj.getId());
- }
- }
- }
- }
- } catch (Exception e) {
- throw new RuntimeException(e.getMessage());
- }
- }
- }
|