package project.web.api; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import kernel.exception.BusinessException; import kernel.util.StringUtils; import kernel.web.BaseAction; import kernel.web.ResultObject; import project.Constants; import project.c2c.C2cPaymentMethodConfig; import project.c2c.C2cPaymentMethodConfigService; import project.c2c.C2cTranslate; import project.c2c.C2cTranslateService; /** * C2C支付方式模板 */ @RestController @CrossOrigin public class C2cPaymentMethodConfigController extends BaseAction { private Logger logger = LoggerFactory.getLogger(C2cPaymentMethodConfigController.class); @Autowired private C2cPaymentMethodConfigService c2cPaymentMethodConfigService; @Autowired private C2cTranslateService c2cTranslateService; private final String action = "/api/c2cPaymentMethodConfig!"; /** * 获取 支付方式模板 列表 */ @RequestMapping(action + "list.action") public Object list(HttpServletRequest request) { String language = request.getParameter("language"); ResultObject resultObject = new ResultObject(); resultObject = this.readSecurityContextFromSession(resultObject); if (!"0".equals(resultObject.getCode())) { return resultObject; } try { Map methodConfigMap = this.c2cPaymentMethodConfigService.getMethodConfigMap(); // 多语言 for (String id : methodConfigMap.keySet()) { String name = methodConfigMap.get(id); if (null != name) { C2cTranslate trans = this.c2cTranslateService.get(name, language); if (null != trans) { methodConfigMap.put(id, trans.getTranslate()); } } } resultObject.setData(methodConfigMap); } catch (BusinessException e) { resultObject.setCode("1"); resultObject.setMsg(e.getMessage()); } catch (Throwable t) { resultObject.setCode("1"); resultObject.setMsg("程序错误"); logger.error("error:", t); } return resultObject; } /** * 获取 支付方式模板 详情 */ @RequestMapping(action + "get.action") public Object get(HttpServletRequest request) { String id = request.getParameter("id"); String language = request.getParameter("language"); ResultObject resultObject = new ResultObject(); resultObject = this.readSecurityContextFromSession(resultObject); if (!"0".equals(resultObject.getCode())) { return resultObject; } try { C2cPaymentMethodConfig config = this.c2cPaymentMethodConfigService.get(id); if (null == config) { throw new BusinessException("支付方式模板不存在"); } if (StringUtils.isNotEmpty(config.getMethodImg())) { String path = Constants.WEB_URL + "/public/showimg!showImg.action?imagePath=" + config.getMethodImg(); config.setMethodImg(path); } resultObject.setData(this.c2cTranslateService.translatePmc(config, language)); } catch (BusinessException e) { resultObject.setCode("1"); resultObject.setMsg(e.getMessage()); } catch (Throwable t) { resultObject.setCode("1"); resultObject.setMsg("程序错误"); logger.error("error:", t); } return resultObject; } }