mybatis 之 parameterType="HashMap"参数包含list
/** * 获得人气组合商品详情 * @param paramMap * @return */ public List<Goods> getCheckGoodsCombination(Map paramMap);
/** * 获得人气组合商品详情 * * @param request * @param response * @param originalGoodsId * @param checkGoodsIds */ @RequestMapping("/combination") public void combination(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "originalGoodsId", required = true) String originalGoodsId, @RequestParam(value = "checkGoodsId", required = false) String checkGoodsIds) { try { ServiceMessage<List<Goods>> combinationResult = goodsDetailService.getCheckGoodsCombination(originalGoodsId, checkGoodsIds); if (combinationResult.getStatus() != MsgStatus.NORMAL) { this.setResultInfo(combinationResult.getStatus().getCode(), combinationResult.getMessage()); return; } List<Goods> goodsList = combinationResult.getResult(); DecimalFormat df = new DecimalFormat("0.00"); BigDecimal sumMarktPrice = new BigDecimal(0); BigDecimal sumEcPrice = new BigDecimal(0); for (Goods g : goodsList) { // 如果是促销 if (g.getDiscountState().equals("enable")) { long beginTime = DateUtils.dateAllToLong(g.getBeginTime()); long endTime = DateUtils.dateAllToLong(g.getEndTime()); long current = System.currentTimeMillis(); if (beginTime > current || endTime < current) { g.setDiscountState("none"); }else{ g.setEcPrice(g.getDiscountPrice()); } sumEcPrice = sumEcPrice.add(g.getEcPrice()); } else { sumEcPrice = sumEcPrice.add(g.getEcPrice()); } sumMarktPrice = sumMarktPrice.add(g.getMarketPrice()); // 转化为小数点两位 g.setEcPrice(new BigDecimal(df.format(g.getEcPrice()))); } // 优惠价=网售价-市场价 BigDecimal promotePrice = sumEcPrice.subtract(sumMarktPrice); // _result.put("originalGoodsId", originalGoodsId); // 优惠的价 _result.put("promotePrice", df.format(promotePrice)); // 组合售价之和 _result.put("combinationPrice", df.format(sumEcPrice)); // 组合结果集 _result.put("combinationResult", combinationResult.getResult()); _result.setMsg(combinationResult.getMessage()); _result.setStatus(combinationResult.getStatus().getCode()); } catch (Exception e) { logger.error(e.getMessage(), e); } finally { write(request, response); } }
/** * 获得人气组合商品详情 * * @param originalGoodsId 原goodsId * @param checkGoodsIds 选中的组合goodsId * @return */ @Override public ServiceMessage<List<Goods>> getCheckGoodsCombination(String originalGoodsId, String checkGoodsIds) { try { List<String> list = new ArrayList<String>(); String combinationType = ""; if (!"".equals(checkGoodsIds) && checkGoodsIds != null) { if (checkGoodsIds.equals("0")) { combinationType = "original"; } else { combinationType = "combination"; checkGoodsIds = URLDecoder.decode(checkGoodsIds, "utf-8"); String[] checkArr = checkGoodsIds.split(","); for (int i = 0; i < checkArr.length; i++) { list.add(checkArr[i]); } } } else { list = null; combinationType = "all"; //return super.returnParamsError("人气组合选中的组合checkGoodsIds为空"); } if (originalGoodsId == null || "".equals(originalGoodsId)) { return super.returnParamsError("人气组合原goodsId为空"); } Map<String, Object> map = new HashMap<String, Object>(); map.put("originalGoodsId", originalGoodsId); map.put("checkGoodsIds", list); map.put("combinationType", combinationType); List<Goods> combinationList = goodsMapper.getCheckGoodsCombination(map); if (combinationList == null || combinationList.size() < 1) { return super.returnException("查找不到人气组合商品"); } return super.returnCorrectResult(combinationList); } catch (Throwable e) { logger.error(e); return super.returnException("查询人气组合商品出错"); } }
mybatis 之 parameterType="HashMap"参数包含list的更多相关文章
- MyBatis的parameterType传入参数类型
在mybatis映射接口的配置中,有select,insert,update,delete等元素都提到了parameterType的用法,parameterType为输入参数,在配置的时候,配置相应的 ...
- mybatis mapper文件sql语句传入hashmap参数
1.怎样在mybatis mapper文件sql语句传入hashmap参数? 答:直接这样写map就可以 <select id="selectTeacher" paramet ...
- Mybatis学习笔记——输入参数parameterType、Mybatis调用存储过程
输入参数:parameterType(两种取值符号) 1.类型为简单类型 区别: (1) #{可以为任意值} ${vaue}--->标识符只能是value (2) ...
- MyBatis传入多个参数的问题
一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...
- mybatis传入多个参数
一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...
- [转]MyBatis传入多个参数的问题 - mingyue1818
原文 http://www.cnblogs.com/mingyue1818/p/3714162.html 一.单个参数: public List<XXBean> getXXBeanLis ...
- (转载)MyBatis传入多个参数的问题
原文地址:https://www.cnblogs.com/mingyue1818/p/3714162.html 一.单个参数: public List<XXBean> getXXBeanL ...
- mybatis 传入多个参数
一.单个参数: public List<XXBean> getXXBeanList(@param("id")String id); <select id=&quo ...
- MyBatis传入多个参数的问题(转)
一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...
随机推荐
- Qt实现探测当前有没有网络连接(Wi-Fi)——QNetworkConfigurationManager.isOnline()
1.只需要探测当前有没有连上Wi-Fi(不用获取网络状态),可以调用<QNetworkConfigurationManager>类. QNetworkConfigurationManage ...
- tensorflow模型量化压缩
参考 https://blog.csdn.net/xygl2009/article/details/80596392 https://blog.csdn.net/xsfl1234/article/de ...
- 一个完整的SAP RFC调用接口封装
因为经常需要访问sap操作数据,就封装了一个类方便调用,运行条件需要安装sap客户端,在sap客户端安装之后会带有一个com接口,本接口就通过这个com访问sap,因为com的后期绑定问题故使用了vb ...
- java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer
hibernate查询结果条数集 原写法: Integer count = (Integer )session.createQuery(hql).uniqueResult(); 报错:java.lan ...
- unity5x --------Music Mixer参数详解
我们一直在致力开发出业界最顶尖水准音频处理功能,而经过很长一段时间的努力,在Unity5.0中,音频处理功能将成为非常重点的一个功能. 要达成这个目标,我们首先重写了很多Unity中音频相关得处理 ...
- Tomcat5内存简单优化
tomcat版本:apache-tomcat-5.5.28 解压版tomcat 修改catalina.bat文件,在开头添加如下内容: JAVA_OPTS='-Xms1024m -Xmx2048m - ...
- Salt-ssh批量自动安装被控端salt-mini
Salt-ssh是Saltstack的另外一种管理方式,无需安装minion端,可以运行salt的一切功能,管理和使用方法基本和salt一样.但是,salt-ssh并没有继承原来的ZeroMQ通讯架构 ...
- Linux--nginx域名绑定-url rewrite
进入/usr/local/nginx/conf 编辑 nginx.conf 绑定域名: 添加一个 server元素,更改后的配置内容可能如下: server { listen 80; se ...
- 如何在 Ubuntu 16.04,15.10,14.04 中安装 GIMP 2.8.16(类似于PS软件)
GIMP 图像编辑器 2.8.16 版本在其20岁生日时发布了.下面是如何安装或升级 GIMP 在 Ubuntu 16.04, Ubuntu 15.10, Ubuntu 14.04, Ubuntu 1 ...
- 地形系统lod
参考其他引擎,地形有近到远进行越来越深的lod,基本完成 下面是u3d的,觉得原理应该是一样的