Java tutorial
/* * Project: guahao-portal-biz-core * * File Created at 2014-5-13 * * Copyright 2012 Greenline.com Corporation Limited. * All rights reserved. * * This software is the confidential and proprietary information of * Greenline Company. ("Confidential Information"). You shall not * disclose such Confidential Information and shall use it only in * accordance with the terms of the license agreement you entered into * with Greenline.com. */ package com.greenline.guahao.biz.manager.orderremind.impl; import java.util.ArrayList; import java.util.List; import javax.annotation.Resource; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.greenline.epay.taikang.service.PortalCustomerApplyService; import com.greenline.epay.taikang.service.UserAuthenticationService; import com.greenline.epay.taikang.service.dto.CheckResponse; import com.greenline.epay.taikang.service.dto.CustomerApplyDTO; import com.greenline.epay.taikang.service.dto.ResponseDTO; import com.greenline.epay.taikang.service.dto.ServiceDTO; import com.greenline.epay.taikang.service.dto.UserInfoRequestDTO; import com.greenline.epay.taikang.service.dto.query.CustomerApplyQueryDTO; import com.greenline.epay.taikang.service.dto.query.QueryResultDTO; import com.greenline.guahao.biz.manager.cache.JackJsonUtil; import com.greenline.guahao.biz.manager.common.LocalResponseDO; import com.greenline.guahao.biz.manager.common.LocalResponseDO.LocalResponseCode; import com.greenline.guahao.biz.manager.orderremind.OrderRemindManager; import com.greenline.guahao.biz.manager.orderremind.convertors.OrderRemindConvertor; import com.greenline.guahao.biz.manager.orderremind.dataobject.OrderRemindDO; import com.greenline.guahao.biz.manager.orderremind.dataobject.OrderRemindRequestDO; import com.greenline.guahao.biz.manager.orderremind.validator.OrderRemindValidator; import com.greenline.guahao.biz.manager.user.UserManager; import com.greenline.guahao.biz.manager.user.dataobject.UserDO; import com.greenline.hrs.biz.service.dto.ResponseCode; /** * @Type OrderRemindManagerImpl * @Desc ???? * @author alex * @date 2014-5-13 * @Version V1.0 */ public class OrderRemindManagerImpl implements OrderRemindManager { private static final Log logger = LogFactory.getLog(OrderRemindManagerImpl.class); @Resource private UserManager userManager; @Resource private PortalCustomerApplyService portalCustomerApplyService; @Resource private UserAuthenticationService userAuthenticationService; @Resource private JackJsonUtil jackJson; /* * (non-Javadoc) * * @see com.greenline.guahao.biz.manager.orderremind.OrderRemindManager# * findOrderRemindCount * (com.greenline.guahao.biz.manager.common.LocalResponseDO, * java.lang.String) */ @Override public OrderRemindDO findOrderRemindCount(LocalResponseDO<Object> lrd, UserDO user) { String logObj = "????"; String error = null; OrderRemindDO remind = new OrderRemindDO(); CheckResponse resp = null; UserInfoRequestDTO request = new UserInfoRequestDTO(); if (null != user) { request.setiDNo(user.getCertNo()); request.setUserName(user.getUserName()); request.setPartnerId(user.getPartnerId()); request.setServerType("1"); // } try { if (lrd.isSuccess()) { logger.info(String.format("%s?[userAuthenticationService.checkUserService]?:%s", logObj, jackJson.writeString(request))); resp = userAuthenticationService.checkUserService(request); if (null != resp) { logger.info( String.format("%s?[userAuthenticationService.checkUserService]:%s", logObj, jackJson.writeString(resp))); if (resp.getIsSucess()) { List<ServiceDTO> list = resp.getServiceList(); if (null != list && list.size() > 0) { int total = 0; // int residue = 0; // for (ServiceDTO s : list) { if (null != s) { if (StringUtils.isNotBlank(s.getTotalCount()) && StringUtils.isNumeric(s.getTotalCount())) { total += new Integer(s.getTotalCount()); } if (StringUtils.isNotBlank(s.getValidCount()) && StringUtils.isNumeric(s.getValidCount())) { residue += new Integer(s.getValidCount()); } } } remind.setTotalCount(total); if (null != resp.getInserviceCount()) { remind.setUsingCount(resp.getInserviceCount()); residue -= resp.getInserviceCount(); // ? } if (residue < 0) { logger.warn(String.format( "[%s]????0", jackJson.writeString(user))); residue = 0; } remind.setResidueCount(residue); remind.setUsedCount(total - residue); } } else { lrd.setResult(LocalResponseCode.REMOTE_ERROR, resp.getErrorsInfo(), String.format( "%s?[userAuthenticationService.checkUserService]?%s", logObj, resp.getErrorsInfo())); } } else { lrd.setResult(LocalResponseCode.REMOTE_EXCEPTION, "?", String .format("%s?[userAuthenticationService.checkUserService]null", logObj)); } } if (!lrd.isSuccess()) { logger.error(lrd.getProfessionalInfo()); } } catch (Exception e) { error = String.format("%S%s", logObj, e.getMessage()); logger.error(error, e); lrd.setResult(LocalResponseCode.REMOTE_CALL_EXCEPTION, String.format("%S", logObj), error); } return remind; } /* * (non-Javadoc) * * @see com.greenline.guahao.biz.manager.orderremind.OrderRemindManager# * applyOrderRemind(com.greenline.guahao.biz.manager.common.LocalResponseDO, * com.greenline.guahao.biz.manager.orderremind.dataobject.OrderRemindDO) */ @Override public boolean applyOrderRemind(LocalResponseDO<Object> lrd, OrderRemindDO apply) { String logObj = "???"; String error = null; boolean applyResult = false; ResponseDTO<String> resp = null; try { OrderRemindRequestDO request = OrderRemindConvertor.convertToCustomerApplyRequest(apply); logger.info( String.format("%s?[portalCustomerApplyService.sendCustomerApplyOrder]?:%s", logObj, jackJson.writeString(request))); if (OrderRemindValidator.validateApplyOrderRemindRequest(lrd, request, logObj)) { resp = portalCustomerApplyService.sendCustomerApplyOrder(request); if (null != resp) { logger.info(String.format( "%s?[portalCustomerApplyService.sendCustomerApplyOrder]:%s", logObj, jackJson.writeString(resp))); if (ResponseCode.isSuccess(resp.getCode())) { // ? applyResult = true; lrd.setData(resp.getDataResult()); // ? } else { lrd.setResult(LocalResponseCode.REMOTE_ERROR, resp.getErrorMsg(), String.format( "%s?[portalCustomerApplyService.sendCustomerApplyOrder]?%s", logObj, resp.getErrorMsg())); } } else { lrd.setResult(LocalResponseCode.REMOTE_EXCEPTION, "?", String.format( "%s?[portalCustomerApplyService.sendCustomerApplyOrder]null", logObj)); } } if (!lrd.isSuccess()) { logger.error(lrd.getProfessionalInfo()); } } catch (Exception e) { error = String.format("%S%s", logObj, e.getMessage()); logger.error(error, e); lrd.setResult(LocalResponseCode.REMOTE_CALL_EXCEPTION, String.format("%S", logObj), error); } return applyResult; } /* * (non-Javadoc) * * @see com.greenline.guahao.biz.manager.orderremind.OrderRemindManager# * queryOrderRemindDOs * (com.greenline.guahao.biz.manager.common.LocalResponseDO, * com.greenline.guahao.biz.manager.orderremind.dataobject.OrderRemindDO) */ @Override public List<OrderRemindDO> queryOrderRemindDOs(LocalResponseDO<Object> lrd, OrderRemindDO query) { String logObj = "???"; String error = null; List<OrderRemindDO> list = new ArrayList<OrderRemindDO>(); QueryResultDTO<List<CustomerApplyDTO>> resp = null; try { CustomerApplyQueryDTO dto = OrderRemindConvertor.convertToCustomerApplyQueryDTO(query); logger.info(String.format("%s?[portalCustomerApplyService.queryCustomerApply]?:%s", logObj, jackJson.writeString(dto))); resp = portalCustomerApplyService.queryCustomerApply(dto); if (null != resp) { logger.info( String.format("%s?[portalCustomerApplyService.queryCustomerApply]:%s", logObj, jackJson.writeString(resp))); if (ResponseCode.isSuccess(resp.getCode())) { // ? list = OrderRemindConvertor.convertToOrderRemindDOs(resp.getDataResult()); } else { lrd.setResult(LocalResponseCode.REMOTE_ERROR, resp.getErrorMsg(), String.format( "%s?[portalCustomerApplyService.queryCustomerApply]?%s", logObj, resp.getErrorMsg())); } } else { lrd.setResult(LocalResponseCode.REMOTE_EXCEPTION, "?", String .format("%s?[portalCustomerApplyService.queryCustomerApply]null", logObj)); } if (!lrd.isSuccess()) { logger.error(lrd.getProfessionalInfo()); } } catch (Exception e) { error = String.format("%S%s", logObj, e.getMessage()); logger.error(error, e); lrd.setResult(LocalResponseCode.REMOTE_CALL_EXCEPTION, String.format("%S", logObj), error); } return list; } /* * (non-Javadoc) * * @see com.greenline.guahao.biz.manager.orderremind.OrderRemindManager# * cancelOrderRemind * (com.greenline.guahao.biz.manager.common.LocalResponseDO, * java.lang.String) */ @Override public boolean cancelOrderRemind(LocalResponseDO<Object> lrd, String orderRemindId) { String logObj = "????"; String error = null; boolean cancelResult = false; ResponseDTO<Boolean> resp = null; try { logger.info( String.format("%s?[portalCustomerApplyService.cancelCustomerApplyOrder]?:%s", logObj, orderRemindId)); resp = portalCustomerApplyService.cancelCustomerApplyOrder(orderRemindId); if (null != resp) { logger.info(String.format( "%s?[portalCustomerApplyService.cancelCustomerApplyOrder]:%s", logObj, jackJson.writeString(resp))); if (ResponseCode.isSuccess(resp.getCode())) { // ? cancelResult = resp.getDataResult(); } else { lrd.setResult(LocalResponseCode.REMOTE_ERROR, resp.getErrorMsg(), String.format( "%s?[portalCustomerApplyService.cancelCustomerApplyOrder]?%s", logObj, resp.getErrorMsg())); } } else { lrd.setResult(LocalResponseCode.REMOTE_EXCEPTION, "?", String.format( "%s?[portalCustomerApplyService.cancelCustomerApplyOrder]null", logObj)); } if (!lrd.isSuccess()) { logger.error(lrd.getProfessionalInfo()); } } catch (Exception e) { error = String.format("%S%s", logObj, e.getMessage()); logger.error(error, e); lrd.setResult(LocalResponseCode.REMOTE_CALL_EXCEPTION, String.format("%S", logObj), error); } return cancelResult; } /* * (non-Javadoc) * * @see com.greenline.guahao.biz.manager.orderremind.OrderRemindManager# * findOrderRemind(com.greenline.guahao.biz.manager.common.LocalResponseDO, * java.lang.String) */ @Override public OrderRemindDO findOrderRemind(LocalResponseDO<Object> lrd, String orderRemindId) { String logObj = "???"; String error = null; OrderRemindDO remind = new OrderRemindDO(); ResponseDTO<CustomerApplyDTO> resp = null; try { logger.info(String.format( "%s?[portalCustomerApplyService.queryCustomerApplyByOrderId]?:%s", logObj, orderRemindId)); resp = portalCustomerApplyService.queryCustomerApplyByOrderId(orderRemindId); if (null != resp) { logger.info(String.format( "%s?[portalCustomerApplyService.queryCustomerApplyByOrderId]:%s", logObj, jackJson.writeString(resp))); if (ResponseCode.isSuccess(resp.getCode())) { // ? remind = OrderRemindConvertor.convertToOrderRemindDO(resp.getDataResult()); } else { lrd.setResult(LocalResponseCode.REMOTE_ERROR, resp.getErrorMsg(), String.format( "%s?[portalCustomerApplyService.queryCustomerApplyByOrderId]?%s", logObj, resp.getErrorMsg())); } } else { lrd.setResult(LocalResponseCode.REMOTE_EXCEPTION, "?", String.format( "%s?[portalCustomerApplyService.queryCustomerApplyByOrderId]null", logObj)); } if (!lrd.isSuccess()) { logger.error(lrd.getProfessionalInfo()); } } catch (Exception e) { error = String.format("%S%s", logObj, e.getMessage()); logger.error(error, e); lrd.setResult(LocalResponseCode.REMOTE_CALL_EXCEPTION, String.format("%S", logObj), error); } return remind; } /* * (non-Javadoc) * * @see * com.greenline.guahao.biz.manager.orderremind.OrderRemindManager#findCustomer * (com.greenline.guahao.biz.manager.common.LocalResponseDO, * com.greenline.guahao.biz.manager.orderremind.dataobject.OrderRemindDO) */ @Override public OrderRemindDO findCustomer(LocalResponseDO<Object> lrd, OrderRemindDO query) { String logObj = "?"; String error = null; OrderRemindDO customer = new OrderRemindDO(); ResponseDTO<Long> resp = null; try { logger.info(String.format("%s?[portalCustomerApplyService.queryCustomer]?:%s", logObj, jackJson.writeString(query))); resp = portalCustomerApplyService.queryCustomer(query.getUserName(), query.getUserIdCard(), query.getPartnerId()); if (null != resp) { logger.info(String.format("%s?[portalCustomerApplyService.queryCustomer]:%s", logObj, jackJson.writeString(resp))); if (ResponseCode.isSuccess(resp.getCode())) { // ? customer.setCustomerId(resp.getDataResult().toString()); } else { lrd.setResult(LocalResponseCode.REMOTE_ERROR, resp.getErrorMsg(), String.format( "%s?[portalCustomerApplyService.queryCustomer]?%s", logObj, resp.getErrorMsg())); } } else { lrd.setResult(LocalResponseCode.REMOTE_EXCEPTION, "?", String.format("%s?[portalCustomerApplyService.queryCustomer]null", logObj)); } if (!lrd.isSuccess()) { logger.error(lrd.getProfessionalInfo()); } } catch (Exception e) { error = String.format("%S%s", logObj, e.getMessage()); logger.error(error, e); lrd.setResult(LocalResponseCode.REMOTE_CALL_EXCEPTION, String.format("%S", logObj), error); } return customer; } }