1. package com.founder.ec.dec.action;
  2.  
  3. import java.net.URLEncoder;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6.  
  7. import javax.servlet.http.HttpServletRequest;
  8. import javax.servlet.http.HttpServletResponse;
  9.  
  10. import org.json.simple.JSONObject;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14.  
  15. import com.founder.ec.cms.model.Channel;
  16. import com.founder.ec.cms.model.Website;
  17. import com.founder.ec.dec.service.ChannelService;
  18.  
  19. @Controller
  20. public class ChannelAction {
  21.  
  22. @Autowired
  23. private ChannelService channelService;
  24.  
  25. /**
  26. * 根据渠道id获取渠道详情
  27. * @param channelId 渠道id
  28. * @return
  29. */
  30. @SuppressWarnings("unchecked")
  31. @RequestMapping("/getChannelInfo")
  32. public void getChannelInfo(HttpServletRequest request,
  33. HttpServletResponse response) throws Exception{
  34. JSONObject json=new JSONObject();
  35. try{
  36. request.setCharacterEncoding("utf-8");
  37. Long channelId=Long.parseLong(request.getParameter("channelId"));
  38.  
  39. if(channelId==null){
  40. json.put("code", -1);
  41. json.put("result", "请求参数为空");
  42. response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
  43. return ;
  44. }
  45. Channel channel = channelService.getChannelDetail(channelId);
  46. if(channel==null){
  47. json.put("code", -1);
  48. json.put("result", "找不到对应数据对象");
  49. response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
  50. return;
  51. }
  52. Map<String,Object> map=new HashMap<String,Object>();
  53. map.put("groupId", Long.parseLong(channel.getAlternateField2()));
  54. map.put("groupName", channel.getGroupName());
  55. map.put("channelName", channel.getChannelName());
  56. json.put("code", 0);
  57. json.put("result",map);
  58. response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
  59. }catch(Exception e){
  60. json.put("code", -1);
  61. json.put("result", "inner error");
  62. response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
  63. e.printStackTrace();
  64. }
  65.  
  66. }
  67.  
  68. /**
  69. * 根据站点id获取站点名
  70. * @param websiteId 站点id
  71. * @return
  72. */
  73. @SuppressWarnings("unchecked")
  74. @RequestMapping("/getWebsiteName")
  75. public void getWebsiteName(HttpServletRequest request,
  76. HttpServletResponse response) throws Exception{
  77. JSONObject json=new JSONObject();
  78. try{
  79. request.setCharacterEncoding("utf-8");
  80. Long websiteId=Long.parseLong(request.getParameter("websiteId"));
  81.  
  82. if(websiteId==null){
  83. json.put("code", -1);
  84. json.put("result", "请求参数为空");
  85. response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
  86. return;
  87. }
  88. Website website = channelService.getWebsiteName(websiteId);
  89. if(website==null){
  90. json.put("code", -2);
  91. json.put("result", "找不到对应数据对象");
  92. response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
  93. return;
  94. }
  95. Map<String,Object> map=new HashMap<String,Object>();
  96. map.put("websiteName", website.getAlternateField1());
  97. json.put("code", 0);
  98. json.put("result",map);
  99. response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
  100. }catch(Exception e){
  101. json.put("code", -3);
  102. json.put("result", "inner error");
  103. response.getWriter().write(URLEncoder.encode(json.toJSONString(),"UTF-8"));
  104. e.printStackTrace();
  105. }
  106. }
  107.  
  108. }
  1. package com.founder.ec.dec.action;
  2. import java.util.ArrayList;
  3. import java.util.HashMap;
  4. import java.util.List;
  5. import java.util.Map;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import net.sf.json.JSONArray;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.web.bind.annotation.RequestMapping;
  12.  
  13. import com.founder.ec.base.action.BaseClassAction;
  14. import com.founder.ec.dec.service.GoodsQueryService;
  15.  
  16. /**
  17. * 商品查询接口
  18. * @author lurongyu
  19. *
  20. */
  21. @Controller
  22. public class GoodsQueryAction extends BaseClassAction {
  23.  
  24. @Autowired
  25. private GoodsQueryService service;
  26.  
  27. @RequestMapping("/goodsQuery")
  28. public void sendGoodsQuery (HttpServletRequest request, HttpServletResponse response ) throws Exception {
  29.  
  30. response.setContentType("text/html;charset=utf-8");
  31. String productCodes = request.getParameter("code").toString();
  32. String imageType = request.getParameter("imageType");
  33. if (null== request.getParameter("imageType") || "".equals(request.getParameter("imageType").toString())){
  34. imageType ="thumb";
  35. }
  36. String paracode ="";
  37.  
  38. Map para = new HashMap ();
  39. List<Map<String,Object>> resultList = new ArrayList <Map<String,Object>> ();
  40. if(request.getParameter("code")!=null && productCodes.length() >0) {
  41. String[] temps = productCodes.split(",");
  42. if (temps.length > 10 ){
  43. response.getWriter().write("{code:-2,msg:'error ,code最多只能10个!'}");
  44. }
  45. for (int i =0; i< temps.length ; i++) {
  46. paracode =paracode+ "'"+temps[i]+"',";
  47. }
  48. paracode=paracode.substring(0,paracode.length()-1);
  49. para.put("goodsNos", paracode);
  50. para.put("imageType", imageType);
  51. resultList = service.getGoodsQueryMap(para);
  52. JSONArray jsonArray = JSONArray.fromObject(resultList);
  53. response.getWriter().write(jsonArray.toString());
  54. }else {
  55. response.getWriter().write("{code:-2,msg:'error ,code未传!'}");
  56. }
  57.  
  58. }
  59.  
  60. }
  1. // 解析json字符串,转成Model对象
  2. OrderInfo orderInfo = JSON.parseObject(orderInfoStr,OrderInfo.class);
  1. package com.j1.mai.action;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7.  
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10.  
  11. import net.sf.json.JSONArray;
  12. import net.sf.json.JSONObject;
  13.  
  14. import org.apache.log4j.Logger;
  15. import org.springframework.beans.factory.annotation.Autowired;
  16. import org.springframework.context.annotation.Scope;
  17. import org.springframework.stereotype.Controller;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20.  
  21. import com.j1.base.dto.ServiceMessage;
  22. import com.j1.base.order.model.ShopcartGoods;
  23. import com.j1.base.order.model.ShopcartModel;
  24. import com.j1.base.type.MsgStatus;
  25. import com.j1.item.model.Goods;
  26. import com.j1.mai.common.Const;
  27. import com.j1.mai.model.common.SoaApiBaseAction;
  28. import com.j1.mai.util.NumericUtil;
  29. import com.j1.mai.util.StringUtil;
  30. import com.j1.soa.common.ResultMsg;
  31. import com.j1.soa.resource.order.api.ShopcartGoodsService;
  32. import com.j1.soa.resource.order.api.ShopcartService;
  33.  
  34. /**
  35. * 促销相关Action
  36. *
  37. * @author qiaoyu
  38. */
  39. @Controller
  40. @Scope("request")
  41. @RequestMapping("/promote")
  42. public class PromoteAction extends SoaApiBaseAction {
  43. static Logger LOG = Logger.getLogger(PromoteAction.class);
  44.  
  45. @Autowired
  46. private ShopcartService shopcartService;
  47. @Autowired
  48. private ShopcartGoodsService shopcartGoodsService;
  49.  
  50. @RequestMapping("/promoteList")
  51. public void promoteList(
  52. HttpServletRequest request,
  53. HttpServletResponse response,
  54. @RequestParam(value = "contentNo", required = false) String contentNo,
  55. @RequestParam(value = "memberKey", required = false) String memberKey,
  56. @RequestParam(value = "mul", required = false) String mul) {
  57. ShopcartModel shopcartParam = new ShopcartModel();
  58. shopcartParam.setContentNo(contentNo);
  59. shopcartParam.setMemberKey(memberKey);
  60. shopcartParam.setMul(mul);
  61. JSONObject resultObj = new JSONObject();
  62. try {
  63. // 获取购物车信息
  64. ServiceMessage<ShopcartModel> shopcartResult = shopcartService
  65. .shopcartIndex(shopcartParam);
  66. if (shopcartResult.getStatus() != MsgStatus.NORMAL) {
  67. setResultInfo(shopcartResult.getStatus().getCode(),
  68. shopcartResult.getMessage());
  69. return;
  70. }
  71.  
  72. ShopcartModel shopcartModel = shopcartResult.getResult();
  73.  
  74. if (shopcartModel == null) {
  75. setResultInfo(MsgStatus.NO_RESULT.getCode(),
  76. ResultMsg.Common.QUERY_NO_RESULT);
  77. return;
  78. }
  79.  
  80. List<Map<String, Object>> groups = shopcartModel.getShopcartGroup();
  81.  
  82. List<Map<String, Object>> giftGroups = new ArrayList<Map<String, Object>>(), hgGroups = new ArrayList<Map<String, Object>>();
  83.  
  84. for (Map<String, Object> group : groups) {
  85. if (group.get("groupType") == null)
  86. continue;
  87. // 促销不满足条件, 前端不进行展示
  88. if (group.get("isTrue") != null && !group.get("isTrue").equals("Y"))
  89. continue;
  90. if (group.get("groupType").equals(Const.GroupType.GIFT)) {
  91. if (group.get("goodsGiftList") == null)
  92. continue;
  93. if (!group.get("goodsGiftList").getClass()
  94. .isAssignableFrom(ArrayList.class))
  95. continue;
  96. // 过滤掉赠品列表为空的group, 为空时表示赠优惠券, 暂时不展示
  97. if (((ArrayList<?>) group.get("goodsGiftList")).size() == 0)
  98. continue;
  99. giftGroups.add(group);
  100. } else if (group.get("groupType").equals(Const.GroupType.HG)) {
  101. hgGroups.add(group);
  102. }
  103. }
  104. resultObj.put("giftList", giftGroups);
  105. resultObj.put("hgList", hgGroups);
  106. setResultInfo(MsgStatus.NORMAL.getCode(), ResultMsg.Common.OK);
  107. } catch (Exception e) {
  108. LOG.error(e.getMessage(), e);
  109. setResultInfo(MsgStatus.EXCEPTION.getCode(),
  110. ResultMsg.PromoteAction.PROMOTE_LIST_FAILURE);
  111. } finally {
  112. _result.setObjData(resultObj);
  113. write(request, response);
  114. }
  115. }
  116.  
  117. /**
  118. * 获取加价购选项
  119. *
  120. * @param request
  121. * @param response
  122. * @param contentNo 识别码
  123. * @param memberKey 会员识别码
  124. * @param mul 来源
  125. * @param promoteType 促销类型
  126. * @param promoteId 根据 promoteType对应促销ID或商品ID
  127. * @date 02/12/14
  128. * @author qiaoyu
  129. * @version 1.0
  130. */
  131. @RequestMapping("/hgOption")
  132. public void hgOption(
  133. HttpServletRequest request,
  134. HttpServletResponse response,
  135. @RequestParam(value = "contentNo", required = false) String contentNo,
  136. @RequestParam(value = "memberKey", required = false) String memberKey,
  137. @RequestParam(value = "mul", required = false) String mul,
  138. @RequestParam(value = "promoteType", required = false) String promoteType,
  139. @RequestParam(value = "promoteId", required = false) String promoteId) {
  140. // START PARAMETER VALIDATION
  141. if (StringUtil.isEmpty(promoteType)) {
  142. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
  143. ResultMsg.PromoteAction.PROMOTE_TYPE_EMPTY).write(request,
  144. response);
  145. return;
  146. }
  147.  
  148. if (!promoteType.equals(Const.Promote.HG_GOODS_TYPE)
  149. && !promoteType.equals(Const.Promote.HG_RULE_TYPE)) {
  150. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
  151. ResultMsg.PromoteAction.PROMOTE_TYPE_WRONG).write(request,
  152. response);
  153. return;
  154. }
  155.  
  156. Long itemId = NumericUtil.parseLong(promoteId);
  157.  
  158. if (itemId == null) {
  159. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
  160. ResultMsg.PromoteAction.PROMOTE_ID_WRONG).write(request,
  161. response);
  162. return;
  163. }
  164. // END PARAMETER VALIDATION
  165.  
  166. ShopcartModel shopcartParam = new ShopcartModel();
  167. shopcartParam.setContentNo(contentNo);
  168. shopcartParam.setMemberKey(memberKey);
  169. shopcartParam.setMul(mul);
  170.  
  171. JSONObject resultObj = new JSONObject();
  172. try {
  173. // 获取购物车信息
  174. ServiceMessage<ShopcartModel> shopcartResult = shopcartService
  175. .shopcartIndex(shopcartParam);
  176. if (shopcartResult.getStatus() != MsgStatus.NORMAL) {
  177. setResultInfo(shopcartResult.getStatus().getCode(),
  178. shopcartResult.getMessage());
  179. return;
  180. }
  181.  
  182. ShopcartModel shopcartModel = shopcartResult.getResult();
  183.  
  184. if (shopcartModel == null) {
  185. setResultInfo(MsgStatus.NO_RESULT.getCode(),
  186. ResultMsg.Common.QUERY_NO_RESULT);
  187. return;
  188. }
  189.  
  190. // Goods promote
  191. if (promoteType.equals(Const.Promote.HG_GOODS_TYPE)) {
  192. for (Goods goods : shopcartModel.getGoodsList()) {
  193. if (goods.getGoodsId().longValue() != itemId.longValue())
  194. continue;
  195.  
  196. resultObj.put(Const.ResultKey.PROMOTE_ITEM_LIST,
  197. goods.getItemNameList());
  198. resultObj.put(
  199. Const.ResultKey.RULE_ITEM_ID,
  200. goods.getRuleItemId() == null ? "0" : goods
  201. .getRuleItemId());
  202. setResultInfo(MsgStatus.NORMAL.getCode(),
  203. ResultMsg.Common.OK);
  204. return;
  205. }
  206. } else { // Combination promote
  207. for (Map<String, Object> promoteItem : shopcartModel
  208. .getShopcartGroup()) {
  209. if (Long.valueOf(
  210. String.valueOf(promoteItem.get("promoteRuleId")))
  211. .longValue() != itemId.longValue())
  212. continue;
  213.  
  214. resultObj.put(Const.ResultKey.PROMOTE_ITEM_LIST,
  215. promoteItem.get("promoteItemList"));
  216. resultObj.put(Const.ResultKey.RULE_ITEM_ID,
  217. promoteItem.get("ruleItemId") == null ? "0"
  218. : promoteItem.get("ruleItemId"));
  219. setResultInfo(MsgStatus.NORMAL.getCode(),
  220. ResultMsg.Common.OK);
  221. return;
  222. }
  223. }
  224.  
  225. setResultInfo(MsgStatus.NO_RESULT.getCode(),
  226. ResultMsg.PromoteAction.HG_NOT_FOUND);
  227. } catch (Exception e) {
  228. LOG.error(e.getMessage(), e);
  229. setResultInfo(MsgStatus.EXCEPTION.getCode(),
  230. ResultMsg.PromoteAction.HG_LIST_FAILURE);
  231. } finally {
  232. _result.setObjData(resultObj);
  233. write(request, response);
  234. }
  235. }
  236.  
  237. /**
  238. * 获取加价购/赠品商品列表
  239. *
  240. * @param request
  241. * @param response
  242. * @param contentNo
  243. * @param memberKey
  244. * @param mul
  245. * @param promoteType
  246. * @param promoteId
  247. * @param promoteItemId
  248. * @date 02/12/14
  249. * @author qiaoyu
  250. * @version 1.0
  251. */
  252. @RequestMapping("/hgGoods")
  253. public void hgGoods(
  254. HttpServletRequest request,
  255. HttpServletResponse response,
  256. @RequestParam(value = "contentNo", required = false) String contentNo,
  257. @RequestParam(value = "memberKey", required = false) String memberKey,
  258. @RequestParam(value = "mul", required = false) String mul,
  259. @RequestParam(value = "promoteType", required = false) String promoteType,
  260. @RequestParam(value = "promoteId", required = false) String promoteId,
  261. @RequestParam(value = "promoteItemId", required = false) String promoteItemId) {
  262. // START PARAMETER VALIDATION
  263. if (StringUtil.isEmpty(promoteType)) {
  264. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
  265. ResultMsg.PromoteAction.PROMOTE_TYPE_EMPTY).write(request,
  266. response);
  267. return;
  268. }
  269.  
  270. if (!promoteType.equals(Const.Promote.HG_GOODS_TYPE)
  271. && !promoteType.equals(Const.Promote.HG_RULE_TYPE)) {
  272. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
  273. ResultMsg.PromoteAction.PROMOTE_TYPE_WRONG).write(request,
  274. response);
  275. return;
  276. }
  277.  
  278. Long itemId = NumericUtil.parseLong(promoteId);
  279.  
  280. if (itemId == null) {
  281. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(),
  282. ResultMsg.PromoteAction.PROMOTE_ID_WRONG).write(request,
  283. response);
  284. return;
  285. }
  286. // END PARAMETER VALIDATION
  287.  
  288. ShopcartModel shopcartParam = new ShopcartModel();
  289. shopcartParam.setContentNo(contentNo);
  290. shopcartParam.setMemberKey(memberKey);
  291. shopcartParam.setMul(mul);
  292.  
  293. JSONObject resultObj = new JSONObject();
  294. try {
  295. // 获取购物车信息
  296. ServiceMessage<ShopcartModel> shopcartResult = shopcartService
  297. .shopcartIndex(shopcartParam);
  298. if (shopcartResult.getStatus() != MsgStatus.NORMAL) {
  299. setResultInfo(shopcartResult.getStatus().getCode(),
  300. shopcartResult.getMessage());
  301. return;
  302. }
  303.  
  304. ShopcartModel shopcartModel = shopcartResult.getResult();
  305. // Goods promote
  306. if (promoteType.equals(Const.Promote.HG_GOODS_TYPE)) {
  307. for (Goods goods : shopcartModel.getGoodsList()) {
  308. if (goods.getGoodsId().longValue() != itemId.longValue())
  309. continue;
  310.  
  311. // promoteItemId 不为空,加价购选项商品
  312. if (StringUtil.isNotEmpty(promoteItemId)) {
  313. List<Map<String, Object>> itemList = goods
  314. .getItemNameList();
  315. for (Map<String, Object> item : itemList) {
  316. if (!item.get("itemId").toString()
  317. .equals(promoteItemId))
  318. continue;
  319.  
  320. resultObj.put("goodstList", item.get("goodstList"));
  321. resultObj.put("maxCount", item.get("hgCount") == null ? 0 : item.get("hgCount"));
  322. setResultInfo(MsgStatus.NORMAL.getCode(),
  323. ResultMsg.Common.OK);
  324. return;
  325. }
  326. } else { // promoteItemId 为空,赠品商品
  327. resultObj.put("goodstList", goods.getGoodsGiftList());
  328. resultObj.put("maxCount", goods.getGiftMaxCount() == null ? 0 : goods.getGiftMaxCount());
  329. setResultInfo(MsgStatus.NORMAL.getCode(),
  330. ResultMsg.Common.OK);
  331. return;
  332. }
  333. }
  334. } else { // Combination promote
  335. for (Map<String, Object> promoteItem : shopcartModel
  336. .getShopcartGroup()) {
  337. if (Long.valueOf(
  338. String.valueOf(promoteItem.get("promoteRuleId")))
  339. .longValue() != itemId.longValue())
  340. continue;
  341. // promoteItemId 不为空,加价购选项商品
  342. if (StringUtil.isNotEmpty(promoteItemId)) {
  343. @SuppressWarnings("unchecked")
  344. List<Map<String, Object>> itemList = (List<Map<String, Object>>) promoteItem
  345. .get("promoteItemList");
  346. for (Map<String, Object> item : itemList) {
  347. if (!item.get("itemId").toString()
  348. .equals(promoteItemId))
  349. continue;
  350.  
  351. resultObj.put("goodstList", item.get("goodstList"));
  352. resultObj.put("maxCount", item.get("hgCount") == null ? 0 : item.get("hgCount"));
  353. setResultInfo(MsgStatus.NORMAL.getCode(),
  354. ResultMsg.Common.OK);
  355. return;
  356. }
  357. } else { // promoteItemId 为空,赠品商品
  358. resultObj.put("goodstList",
  359. promoteItem.get("goodsGiftList"));
  360. resultObj.put("maxCount", promoteItem.get("giftCount") == null ? 0 : promoteItem.get("giftCount"));
  361. setResultInfo(MsgStatus.NORMAL.getCode(),
  362. ResultMsg.Common.OK);
  363. return;
  364. }
  365. }
  366. }
  367.  
  368. setResultInfo(MsgStatus.NO_RESULT.getCode(),
  369. ResultMsg.PromoteAction.HG_NOT_FOUND);
  370. } catch (Exception e) {
  371. LOG.error(e.getMessage(), e);
  372. setResultInfo(MsgStatus.EXCEPTION.getCode(),
  373. ResultMsg.PromoteAction.HG_LIST_FAILURE);
  374. } finally {
  375. _result.setObjData(resultObj);
  376. write(request, response);
  377. }
  378. }
  379.  
  380. /**
  381. * 选择加价购/赠品商品
  382. *
  383. * @param request
  384. * @param response
  385. * @param contentNo
  386. * @param memberKey
  387. * @param mul
  388. * @param promoteType
  389. * @param promoteId
  390. * @param promoteItemId
  391. * @param goodsIds
  392. * @date 02/12/14
  393. * @author qiaoyu
  394. * @version 1.0
  395. */
  396. @RequestMapping("/choose")
  397. public void choose(
  398. HttpServletRequest request,
  399. HttpServletResponse response,
  400. @RequestParam(value = "contentNo", required = false) String contentNo,
  401. @RequestParam(value = "memberKey", required = false) String memberKey,
  402. @RequestParam(value = "mul", required = false) String mul,
  403. @RequestParam(value = "promoteType", required = false) String promoteType,
  404. @RequestParam(value = "promoteId", required = false) String promoteId,
  405. @RequestParam(value = "promoteItemId", required = false) String promoteItemId,
  406. @RequestParam(value = "goodsIds", required = false) String goodsIds) {
  407. ShopcartGoods shopcartGoods = new ShopcartGoods();
  408. shopcartGoods.setMul(mul);
  409. shopcartGoods.setContentNo(contentNo);
  410. shopcartGoods.setMemberKey(memberKey);
  411. shopcartGoods.setPromoteType(promoteType);
  412. if (promoteId != null && !"0".equals(promoteId)) {
  413. shopcartGoods.setPromoteId(NumericUtil.parseLong(promoteId));
  414. }
  415. shopcartGoods.setPromoteItemId(NumericUtil.parseLong(promoteItemId));
  416. shopcartGoods.setGoodsIds(goodsIds);
  417.  
  418. ServiceMessage<String> chooseResult = null;
  419. try {
  420. chooseResult = shopcartGoodsService
  421. .promoteUpdateGoods(shopcartGoods);
  422. } catch (Exception e) {
  423. LOG.error(e.getMessage(), e);
  424. } finally {
  425. this.setResultInfo(chooseResult,
  426. ResultMsg.PromoteAction.CHOOSE_FAILURE).write(request,
  427. response);
  428. }
  429. }
  430.  
  431. /**
  432. * 删除加价购/赠品选项
  433. *
  434. * @param request
  435. * @param response
  436. * @param contentNo
  437. * @param memberKey
  438. * @param mul
  439. * @param promoteType
  440. * @param promoteItemId
  441. * @param promoteId
  442. */
  443. @RequestMapping("/del")
  444. public void del(
  445. HttpServletRequest request,
  446. HttpServletResponse response,
  447. @RequestParam(value = "contentNo", required = false) String contentNo,
  448. @RequestParam(value = "memberKey", required = false) String memberKey,
  449. @RequestParam(value = "mul", required = false) String mul,
  450. @RequestParam(value = "promoteType", required = false) String promoteType,
  451. @RequestParam(value = "promoteItemId", required = false) String promoteItemId,
  452. @RequestParam(value = "promoteId", required = false) String promoteId) {
  453. ShopcartGoods shopcartGoods = new ShopcartGoods();
  454. shopcartGoods.setContentNo(contentNo);
  455. shopcartGoods.setMemberKey(memberKey);
  456. shopcartGoods.setMul(mul);
  457. shopcartGoods.setPromoteType(promoteType);
  458. shopcartGoods.setPromoteId(NumericUtil.parseLong(promoteId));
  459. shopcartGoods.setPromoteItemId(NumericUtil.parseLong(promoteItemId));
  460.  
  461. ServiceMessage<String> delResult = null;
  462. try {
  463. delResult = shopcartGoodsService.promoteRemoveGoods(shopcartGoods);
  464. } catch (Exception e) {
  465. LOG.error(e.getMessage(), e);
  466. } finally {
  467. this.setResult(delResult, ResultMsg.PromoteAction.DEL_FAILURE)
  468. .write(request, response);
  469. }
  470. }
  471.  
  472. /**
  473. * 根据促销id、促销详情id以及商品id获取赠品
  474. *
  475. * @param request
  476. * @param response
  477. * @param promoteRuleId
  478. * @param ruleItemId
  479. * @param goodsId
  480. */
  481. @RequestMapping("/hgGoodsNew")
  482. public void giftGoods(
  483. HttpServletRequest request,
  484. HttpServletResponse response,
  485. @RequestParam(value = "contentNo", required = false) String contentNo,
  486. @RequestParam(value = "memberKey", required = false) String memberKey,
  487. @RequestParam(value = "mul", required = false) String mul,
  488. @RequestParam(value = "promoteRuleId", required = false) String promoteRuleId,
  489. @RequestParam(value = "ruleItemId", required = false) String ruleItemId,
  490. @RequestParam(value = "promoteGiftType", required = false) String promoteGiftType,
  491. @RequestParam(value = "goodsIdAndProductId", required = false) String goodsIdAndProductId){
  492.  
  493. ShopcartModel shopcartParam = new ShopcartModel();
  494. shopcartParam.setContentNo(contentNo);
  495. shopcartParam.setMemberKey(memberKey);
  496. shopcartParam.setMul(mul);
  497.  
  498. JSONObject resultData = new JSONObject();
  499.  
  500. ServiceMessage<ShopcartModel> initResult = null;
  501.  
  502. try {
  503. initResult = shopcartService.shopcartIndex(shopcartParam);
  504.  
  505. if (initResult.getStatus() != MsgStatus.NORMAL) {
  506. setResultInfo(initResult.getStatus().getCode(),
  507. initResult.getMessage());
  508. return;
  509. }
  510.  
  511. if(initResult==null||"".equals(initResult)){
  512. setResultInfo("-1","购物车为空");
  513. return;
  514. }
  515.  
  516. ShopcartModel shopcartModel= initResult.getResult();
  517. JSONObject shopcartJson = JSONObject.fromObject(shopcartModel);
  518. Object shopcartGroup = shopcartJson.get("shopcartGroup");
  519. if(shopcartGroup==null||"".equals(shopcartGroup)){
  520. setResultInfo("-1","未查询到促销信息");
  521. return;
  522. }
  523.  
  524. //1 : 非单品 正品,组赠品
  525. JSONArray shopcartArray = JSONArray.fromObject(shopcartGroup);
  526. if(promoteGiftType.equals("1")){ //1 : 非单品 正品,组赠品
  527. Map<String,String> returnMap = new HashMap<String,String>();
  528. for (Object shopcart : shopcartArray) {
  529. JSONObject shopcartGroupJson = JSONObject.fromObject(shopcart);
  530. String _promoteRuleId = StringUtil.getTrimString(shopcartGroupJson.get("promoteRuleId"));
  531. String itemId = StringUtil.getTrimString(shopcartGroupJson.get("ruleItemId"));
  532. if(_promoteRuleId.equals(promoteRuleId)){
  533. Object goodsGiftList = shopcartGroupJson.get("goodsGiftList");//赠品
  534. Object promoteItemList = shopcartGroupJson.get("promoteItemList");//加价购
  535. if(goodsGiftList!=null&&!"".equals(goodsGiftList)){
  536. if(itemId.equals(ruleItemId)){
  537. JSONArray goodsGiftArray = JSONArray.fromObject(goodsGiftList);
  538. resultData.put("shopcart", shopcart);
  539. }
  540. }else if(promoteItemList!=null&&!"".equals(promoteItemList)){
  541. JSONArray promoteItemArray = JSONArray.fromObject(promoteItemList);
  542. for (Object promoteItem : promoteItemArray) {
  543. JSONObject promoteItemJson = JSONObject.fromObject(promoteItem);
  544. String itemId2 = StringUtil.getTrimString(promoteItemJson.get("itemId"));
  545. if(itemId2.equals(ruleItemId)){
  546. resultData.put("promoteItem", promoteItem);
  547. }
  548. }
  549. }
  550. }
  551. }
  552. }else{ //1 : 单品 正品
  553. for (Object shopcart : shopcartArray) {
  554. JSONObject shopcartOne = JSONObject.fromObject(shopcart);
  555. Object goodList = shopcartOne.get("goodsList");
  556. JSONArray goodsArray = JSONArray.fromObject(goodList);
  557. for (Object good : goodsArray) {
  558. JSONObject goodJson = JSONObject.fromObject(good);
  559. String goodsId = goodJson.getString("goodsId");
  560. String productId = goodJson.getString("productId");
  561. String str = goodsId+","+productId;
  562. if(goodsIdAndProductId.equals(str)){
  563. if(promoteGiftType.equals("2")){
  564. Object goodsGiftList =goodJson.get("goodsGiftList");
  565. if(goodsGiftList!=null&&!"".equals(goodsGiftList)){
  566. JSONArray goodsGiftArray = JSONArray.fromObject(goodsGiftList);
  567. resultData.put("goodsGiftList", goodsGiftArray);
  568. }
  569. }else if(promoteGiftType.equals("3")){
  570. Object goodsList =goodJson.get("goodstList");
  571. if(goodsList!=null&&!"".equals(goodsList)){
  572. JSONArray goodArray = JSONArray.fromObject(goodsList);
  573. resultData.put("goodsList", goodArray);
  574. }
  575. }
  576. }
  577. }
  578. }
  579. }
  580.  
  581. } catch (Exception e) {
  582. LOG.error(e.getMessage(), e);
  583. } finally {
  584. this._result.setObjData(resultData);
  585. this.write(request, response);
  586. }
  587. }
  588.  
  589. }
  1. package com.j1.mai.action;
  2.  
  3. import java.math.BigDecimal;
  4. import java.util.List;
  5.  
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8.  
  9. import org.apache.log4j.Logger;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.context.annotation.Scope;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15.  
  16. import com.j1.base.dto.ServiceMessage;
  17. import com.j1.base.order.dto.CouponsAssignParam;
  18. import com.j1.base.order.model.EcCoupons;
  19. import com.j1.base.order.model.FreeCoupon;
  20. import com.j1.base.order.model.FreePromoteGoods;
  21. import com.j1.base.order.model.ShopcartGoods;
  22. import com.j1.base.page.Page;
  23. import com.j1.base.page.PageRequest;
  24. import com.j1.base.page.Pageable;
  25. import com.j1.base.type.MsgStatus;
  26. import com.j1.mai.model.common.SoaApiBaseAction;
  27. import com.j1.mai.service.CheckMemberKeyService;
  28. import com.j1.mai.util.NumericUtil;
  29. import com.j1.mai.util.StringUtil;
  30. import com.j1.member.model.Member;
  31. import com.j1.member.model.MemberPointsHis;
  32. import com.j1.member.model.MemberPointsSetting;
  33. import com.j1.soa.common.ResultMsg;
  34. import com.j1.soa.resource.member.api.MemberPointHisService;
  35. import com.j1.soa.resource.member.api.MemberService;
  36. import com.j1.soa.resource.order.api.EcCouponsService;
  37. import com.j1.soa.resource.order.api.FreeCouponService;
  38. import com.j1.soa.resource.order.api.FreePromoteGoodsService;
  39. import com.j1.soa.resource.order.api.ShopcartGoodsService;
  40.  
  41. /**
  42. * 上海健一网大药房连锁经营有限公司
  43. *
  44. * @Title: ShakeAction.java
  45. * @Package com.j1.mai.action
  46. * @Description: 摇一摇
  47. * @author guguangming
  48. * @date 2015年11月24日 上午11:25:27
  49. * @version V1.0
  50. */
  51. @Controller
  52. @Scope("request")
  53. @RequestMapping("/mall")
  54. public class PointsMall extends SoaApiBaseAction {
  55.  
  56. static final Logger LOG = Logger.getLogger(PointsMall.class);
  57. @Autowired
  58. private CheckMemberKeyService checkMemberKeyService;
  59. @Autowired
  60. private MemberService memberService;
  61. @Autowired
  62. FreeCouponService freeCouponService;
  63. @Autowired
  64. FreePromoteGoodsService freePromoteGoodsService;
  65. @Autowired
  66. private EcCouponsService ecCouponsService;
  67. @Autowired
  68. private MemberPointHisService memberPointHisService;
  69. @Autowired
  70. private ShopcartGoodsService shopcartGoodsService;
  71.  
  72. /**
  73. * @author guguangming
  74. * @date 2016年1月11日 下午4:07:08
  75. * @Title: toFreeCouponMain
  76. * @Description: 积分兑换优惠券界面
  77. * @param request
  78. * @param response
  79. * @param memberKey
  80. * @param currentPage
  81. * @throws
  82. */
  83. @RequestMapping("/toFreeCouponMain")
  84. public void toFreeCouponMain(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "memberKey", required = false) String memberKey, @RequestParam(value = "currentPage", required = false) String currentPage) {
  85. // 1、判断参数
  86. if (StringUtil.isEmpty(memberKey) || StringUtil.isEmpty(currentPage)) {
  87. logger.error(":" + request.getRequestURL() + "?" + request.getQueryString());
  88. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(), "缺少参数!").write(request, response);
  89. return;
  90. }
  91. // 2、获取会员信息
  92. try {
  93. Member queryParam = new Member();
  94. queryParam.setMemberKey(memberKey);
  95. ServiceMessage<Member> memberResult = memberService.selectByPrimaryKey(queryParam);
  96. if (memberResult.getStatus() != MsgStatus.NORMAL) {
  97. logger.error(memberResult.getStatus().getCode() + ":" + memberResult.getMessage());
  98. this.setResultInfo(memberResult.getStatus().getCode(), "请登录");
  99. return;
  100. }
  101. _result.put("loginName", memberResult.getResult().getLoginName());
  102. _result.put("currentPoints", memberResult.getResult().getCurrentPoints());// 可用积分
  103. // 3、获取可用的积分兑换优惠券活动
  104. Pageable<FreeCoupon> pageable = new PageRequest<FreeCoupon>(StringUtil.toInt(currentPage, 1), 20, new FreeCoupon());
  105. ServiceMessage<Page<FreeCoupon>> resultFreeCoupon = freeCouponService.queryEnableFreeCouponPage(pageable);
  106. if (resultFreeCoupon.getStatus() != MsgStatus.NORMAL) {
  107. this.setResultInfo(resultFreeCoupon.getStatus().getCode(), resultFreeCoupon.getMessage());
  108. return;
  109. }
  110. _result.put("totalPage", resultFreeCoupon.getResult().getTotalPage());
  111. _result.put("listFreeCoupon", resultFreeCoupon.getResult().getData());// 可用积分
  112. } catch (Exception e) {
  113. LOG.error(e.getMessage(), e);
  114. setResultInfo(MsgStatus.EXCEPTION.getCode(), ResultMsg.PointsMall.TO_FREE_COUPON_MAIN_FAILURE);
  115. } finally {
  116. write(request, response);
  117. }
  118.  
  119. }
  120. /**
  121. *
  122. * @author guguangming
  123. * @date 2016年1月19日 下午4:42:41
  124. * @Title: toFreePromoteMain
  125. * @Description:
  126. * @param request
  127. * @param response
  128. * @param memberKey
  129. * @param currentPage
  130. * @throws
  131. */
  132. @RequestMapping("/toFreePromoteMain")
  133. public void toFreePromoteMain(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "memberKey", required = false) String memberKey, @RequestParam(value = "currentPage", required = false) String currentPage) {
  134. // 1、判断参数
  135. if (StringUtil.isEmpty(memberKey) || StringUtil.isEmpty(currentPage)) {
  136. logger.error("积分兑换商品:" + request.getRequestURL() + "?" + request.getQueryString());
  137. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(), "缺少参数").write(request, response);
  138. return;
  139. }
  140. try {
  141. // 2、获取会员信息
  142. Member queryParam = new Member();
  143. queryParam.setMemberKey(memberKey);
  144. ServiceMessage<Member> memberResult = memberService.selectByPrimaryKey(queryParam);
  145. if (memberResult.getStatus() != MsgStatus.NORMAL) {
  146. logger.error(memberResult.getStatus().getCode() + ":" + memberResult.getMessage());
  147. this.setResultInfo(memberResult.getStatus().getCode(), "请登录!");
  148. return;
  149. }
  150. _result.put("loginName", memberResult.getResult().getLoginName());
  151. _result.put("currentPoints", memberResult.getResult().getCurrentPoints());// 可用积分
  152. // 3、获取可用的积分兑换优惠券活动
  153. Pageable<FreePromoteGoods> pageable = new PageRequest<FreePromoteGoods>(StringUtil.toInt(currentPage, 1), 20, new FreePromoteGoods());
  154. ServiceMessage<Page<FreePromoteGoods>> resultFreePromoteGoods = freePromoteGoodsService.queryFreePromoteGoodsPage(pageable);
  155. if (resultFreePromoteGoods.getStatus() != MsgStatus.NORMAL) {
  156. logger.error("toFreePromoteMain:" + resultFreePromoteGoods.getStatus().getCode() + ":" + resultFreePromoteGoods.getMessage());
  157. this.setResultInfo(resultFreePromoteGoods.getStatus().getCode(), resultFreePromoteGoods.getMessage());
  158. return;
  159. }
  160. _result.put("totalPage", resultFreePromoteGoods.getResult().getTotalPage());
  161. _result.put("listresultFreePromoteGoods", resultFreePromoteGoods.getResult().getData());// 可用积分
  162. } catch (Exception e) {
  163. LOG.error(e.getMessage(), e);
  164. setResultInfo(MsgStatus.EXCEPTION.getCode(), ResultMsg.PointsMall.TO_FREE_PROMOTE_MAIN_FAILURE);
  165. } finally {
  166. write(request, response);
  167. }
  168.  
  169. }
  170. /**
  171. *
  172. * @author guguangming
  173. * @date 2016年1月19日 下午4:02:04
  174. * @Title: pointsBuyCoupon
  175. * @Description: 积分兑换优惠券
  176. * @param request
  177. * @param response
  178. * @param memberKey
  179. * @param freeCouponId
  180. * @throws
  181. */
  182. @RequestMapping("/pointsBuyCoupon")
  183. public void pointsBuyCoupon(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "memberKey", required = false) String memberKey, @RequestParam(value = "freeCouponId", required = false) String freeCouponId) {
  184. // 1、判断参数
  185. if (StringUtil.isEmpty(memberKey) || StringUtil.isEmpty(freeCouponId)) {
  186. logger.error("积分兑换优惠券:" + request.getRequestURL() + "?" + request.getQueryString());
  187. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(), "缺少参数").write(request, response);
  188. return;
  189. }
  190. try {
  191. // 2、获取会员信息
  192. Member queryParam = new Member();
  193. queryParam.setMemberKey(memberKey);
  194. ServiceMessage<Member> memberResult = memberService.selectByPrimaryKey(queryParam);
  195. if (memberResult.getStatus() != MsgStatus.NORMAL) {
  196. logger.error(memberResult.getStatus().getCode() + ":" + memberResult.getMessage());
  197. this.setResultInfo(memberResult.getStatus().getCode(), "请登录!");
  198. return;
  199. }
  200. Member member = memberResult.getResult();
  201. Long memberId = member.getMemberId();
  202. // 2、获取当前活动信息
  203. ServiceMessage<FreeCoupon> freeCouponResult = freeCouponService.queryEnableFreeCouponByFreeCouponId(NumericUtil.parseLong(freeCouponId));
  204. if (!freeCouponResult.getStatus().equals(MsgStatus.NORMAL)) {
  205. logger.error("查询活动信息失败:" + freeCouponResult.getMessage());
  206. if (freeCouponResult.getStatus().equals(MsgStatus.NO_RESULT)) {
  207. this.setResultInfo(freeCouponResult.getStatus().getCode(), "没有找到相应的活动,请联系客服!");// 重新定义返回语句用于前台显示
  208. return;
  209. } else {
  210. this.setResultInfo(freeCouponResult.getStatus().getCode(), freeCouponResult.getMessage());
  211. return;
  212. }
  213. }
  214. FreeCoupon freeCoupon = freeCouponResult.getResult();
  215. if (member.getCurrentPoints().intValue() >= freeCoupon.getCouponPoints().intValue()) {
  216. CouponsAssignParam param = new CouponsAssignParam();
  217. /* 会员id */
  218. param.setMemberId(memberId);
  219. /* 批次号 */
  220. param.setPublishId(freeCoupon.getPublishId());
  221. /* 领取数量 */
  222. param.setAssignCouponsCount(1);
  223. ServiceMessage<List<EcCoupons>> EcCouponsMsg = ecCouponsService.saveCouponsByMemberToPublishId(param);
  224. if (!EcCouponsMsg.getStatus().equals(MsgStatus.NORMAL)) {
  225. logger.error("添加优惠券到用户接口异常:" + EcCouponsMsg.getMessage());
  226. if (EcCouponsMsg.getStatus().equals(MsgStatus.NO_RESULT)) {
  227. this.setResultInfo(EcCouponsMsg.getStatus().getCode(), "优惠卷已兑换完,请下次再来!");
  228. return;
  229. } else {
  230. this.setResultInfo(EcCouponsMsg.getStatus().getCode(), EcCouponsMsg.getMessage());
  231. return;
  232. }
  233. } else {
  234. MemberPointsHis memberPointsHis = new MemberPointsHis();
  235. memberPointsHis.setMemberId(memberId);
  236. memberPointsHis.setPoints(-freeCoupon.getCouponPoints().intValue());
  237. memberPointsHis.setChangeNotes("兑换优惠劵");
  238. MemberPointsSetting memberPointsSetting = new MemberPointsSetting();
  239. memberPointsSetting.setPointsType("coupon_points");// 积分兑换使用
  240. ServiceMessage<MemberPointsHis> msg = memberPointHisService.changePointsNoRankId(memberPointsHis, memberPointsSetting);
  241. if (!msg.getStatus().equals(MsgStatus.NORMAL)) {
  242. logger.error("调取扣除积分接口失败 getMessage():" + msg.getMessage() + "memberId:" + memberId);
  243. this.setResultInfo(EcCouponsMsg.getStatus().getCode(), EcCouponsMsg.getMessage());
  244. return;
  245. } else {
  246. _result.put("currentPoints", member.getCurrentPoints() - freeCoupon.getCouponPoints().intValue());
  247. return;
  248. }
  249. }
  250. } else {
  251. this.setResultInfo("4", "剩余积分不足");
  252. return;
  253. }
  254.  
  255. } catch (Exception e) {
  256. LOG.error(e.getMessage(), e);
  257. setResultInfo(MsgStatus.EXCEPTION.getCode(), ResultMsg.PointsMall.POINTS_BUY_COUPON__FAILURE);
  258. } finally {
  259. write(request, response);
  260. }
  261.  
  262. }
  263.  
  264. /**
  265. * @author guguangming
  266. * @date 2016年1月13日 下午1:56:20
  267. * @Title: pointsBuyFreePromoteGoods
  268. * @Description: 积分兑换商品
  269. * @param request
  270. * @param response
  271. * @param memberKey
  272. * @param multiId 43--app免费频道,44--M站免费频道
  273. * @param mul
  274. * @param contentNo
  275. * @throws
  276. */
  277. @RequestMapping("/pointsBuyFreePromoteGoods")
  278. public void pointsBuyFreePromoteGoods(HttpServletRequest request, HttpServletResponse response,
  279. @RequestParam(value = "memberKey", required = false) String memberKey,
  280. @RequestParam(value = "freeGoodsId", required = false) String freeGoodsId,
  281. @RequestParam(value = "multiId", required = false) String multiId,
  282. @RequestParam(value = "mul", required = false) String mul,
  283. @RequestParam(value = "contentNo", required = false) String contentNo) {
  284. // 1、判断参数
  285. if (StringUtil.isEmpty(memberKey) || StringUtil.isEmpty(freeGoodsId) || StringUtil.isEmpty(multiId) || StringUtil.isEmpty(mul) || StringUtil.isEmpty(contentNo)) {
  286. logger.error("积分兑换商品:" + request.getRequestURL() + "?" + request.getQueryString());
  287. this.setResultInfo(MsgStatus.PARAMS_ERROR.getCode(), "缺少参数").write(request, response);
  288. return;
  289. }
  290. try {
  291. // 1、获取会员信息
  292. // 2、获取会员信息
  293. FreePromoteGoods freePromoteGoods = new FreePromoteGoods();
  294. Member queryParam = new Member();
  295. queryParam.setMemberKey(memberKey);
  296. ServiceMessage<Member> memberResult = memberService.selectByPrimaryKey(queryParam);
  297. if (memberResult.getStatus() != MsgStatus.NORMAL) {
  298. logger.error(memberResult.getStatus().getCode() + ":" + memberResult.getMessage());
  299. this.setResultInfo(memberResult.getStatus().getCode(), "请登录!");
  300. return;
  301. }
  302. Member member = memberResult.getResult();
  303. Long memberId = member.getMemberId();
  304.  
  305. ServiceMessage<FreePromoteGoods> resFreePromoteGoods = freePromoteGoodsService.queryEnableFreeGoodsByFreeGoodsId(NumericUtil.parseLong(freeGoodsId));
  306. if (!resFreePromoteGoods.getStatus().equals(MsgStatus.NORMAL)) {
  307. logger.error("根据id查询在活动日期内的商品:" + resFreePromoteGoods.getMessage());
  308. if (resFreePromoteGoods.getStatus().equals(MsgStatus.NO_RESULT)) {
  309. this.setResultInfo(resFreePromoteGoods.getStatus().getCode(), "该商品兑换活动已结束");
  310. return;
  311. } else {
  312. this.setResultInfo(resFreePromoteGoods.getStatus().getCode(), resFreePromoteGoods.getMessage());
  313. return;
  314. }
  315. } else {
  316. freePromoteGoods = resFreePromoteGoods.getResult();
  317. if (freePromoteGoods.getFreeAmount().compareTo(new BigDecimal(1)) == -1) {
  318. this.setResultInfo("4", "该商品已兑换完");
  319. return;
  320. }
  321. }
  322. int goodsPoints= Integer.parseInt(freePromoteGoods.getGoodsPoints());
  323. if(goodsPoints>member.getCurrentPoints()){
  324. this.setResultInfo("5", "当前积分不足");
  325. return;
  326. }
  327. // 2、获取当前活动信息
  328. ShopcartGoods shopcartGoodsParam = new ShopcartGoods();
  329. shopcartGoodsParam.setMemberKey(member.getMemberKey());
  330. shopcartGoodsParam.setContentNo(contentNo);
  331. shopcartGoodsParam.setGoodsId(NumericUtil.parseLong(freeGoodsId));
  332. // 来源渠道
  333. shopcartGoodsParam.setMultiId(Integer.parseInt(multiId));
  334. shopcartGoodsParam.setMul(mul);
  335. // 多规格ID
  336. shopcartGoodsParam.setSkuId(0L);
  337. // 数量
  338. shopcartGoodsParam.setAmount(new BigDecimal(1));
  339. // add加/sub减/update修改/select修改选中
  340. shopcartGoodsParam.setType("add");
  341. // 是否选中Y/N
  342. shopcartGoodsParam.setIsSelected("Y");
  343.  
  344. ServiceMessage<String> shopCartMsg = shopcartGoodsService.shopcartUpdateGoods(shopcartGoodsParam);
  345. if (!shopCartMsg.getStatus().equals(MsgStatus.NORMAL)) {
  346. this.setResultInfo(shopCartMsg.getStatus().getCode(), shopCartMsg.getMessage());
  347. } else {
  348. this.setResultInfo("0", "成功加入购物车");
  349. }
  350.  
  351. } catch (Exception e) {
  352. LOG.error(e.getMessage(), e);
  353. setResultInfo(MsgStatus.EXCEPTION.getCode(), ResultMsg.PointsMall.POINTS_BUY_COUPON__FAILURE);
  354. } finally {
  355. write(request, response);
  356. }
  357.  
  358. }
  359.  
  360. }

json 项目应用的更多相关文章

  1. 将 project.json 项目转换为 Visual Studio 2015 解决方案

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  2. Maven搭建SpringMVC+MyBatis+Json项目(多模块项目)

    一.开发环境 Eclipse:eclipse-jee-luna-SR1a-win32; JDK:jdk-8u121-windows-i586.exe; MySql:MySQL Server 5.5; ...

  3. .NET Core系列 : 2 、project.json 这葫芦里卖的什么药

    .NET Core系列 : 1..NET Core 环境搭建和命令行CLI入门 介绍了.NET Core环境,本文介绍.NET Core中最重要的一个配置文件project.json的相关内容.我们可 ...

  4. Vue.js——60分钟webpack项目模板快速入门

    概述 browserify是一个 CommonJS风格的模块管理和打包工具,上一篇我们简单地介绍了Vue.js官方基于browserify构筑的一套开发模板.webpack提供了和browserify ...

  5. Vue.js——60分钟browserify项目模板快速入门

    概述 在之前的一系列vue.js文章,我们都是用传统模式引用vue.js以及其他的js文件的,这在开发时会产生一些问题. 首先,这限定了我们的开发模式是基于页面的,而不是基于组件的,组件的所有代码都直 ...

  6. Asp.Net Core 项目实战之权限管理系统(0) 无中生有

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  7. .Net Core Linux centos7行—.net core json 配置文件

    .net core 对配置系统做出了大幅度更新,不在局限于之前的*.xml配置方式.现在支持json,xml,ini,in memory,环境变量等等.毫无疑问的是,现在的json配置文件是.net ...

  8. Asp.Net Core 项目搭建 基础配置 和MySql 的使用

    一.开发环境准备 1.安装Visual Studio 2015,我这里安装的是专业版. 2.安装.NET Core SDK相关 需要安装  Visual Studio 2015 update3和NET ...

  9. XML和JSON数据格式对比

    概念 XML 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语 ...

随机推荐

  1. 正确设置网站title、keywords、description(转载)

    本文转载自蚂蚁HR(www.mayihr.com) 优化技巧是老师在课堂上教不了你的,而自己也不可能在练习中领悟,最便捷的方法就是听取别人的经验,所以转载一下 1.title(网站标题) title, ...

  2. 感性体验 Android 5.0 Lollipop

    引言 Android5.0大概是在11月下旬开始进行OTA推送,博主手上的这台五太子(Nexus 5)也在前几天收到了Google的推送,博主当然是按耐不住赶紧FQ升级啦,但无奈的是这个大版本更新包有 ...

  3. 实验二:基于mykernel实现的时间片轮转调度

    原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 如果我写的不好或者有误的地方请留言 ...

  4. Tomcat基础教程(二)

    上一篇说到了Tomcat的介绍,下载及安装,这一篇我会详述Tomcat服务器结构 一.Tomcat服务器结构图: Tomcat服务器中可以配置多个Service,每个Service可以包含多个Conn ...

  5. java指纹识别+谷歌图片识别技术

    http://www.icodeguru.com/3/2451.html http://valseonline.org/thread-124-1-1.html

  6. Develop a Packet Sniffer with libpcap

    Develop a Packet Sniffer with libpcap: http://vichargrave.com/develop-a-packet-sniffer-with-libpcap/

  7. HADOOP:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable终于解决了

    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin- ...

  8. 使用 CustomScript 扩展程序自动执行 Linux 虚拟机自定义任务

    NingKuangWSSC WS ARD 高级项目经理 您可能已经从Windows扩展程序博客中了解了针对 Windows 虚拟机的 CustomScript扩展程序,现在的好消息是,这一扩展程序也已 ...

  9. app开发历程——android手机显示服务器端图片思路

    以前自己都不知道怎么去显示服务器端的图片,还好在apkbus论坛上找到一个特别简单的例子.虽然一天天忙忙碌碌,但是自己内心其实有一种想逃的心里,说不定哪天就会冒出来. 1.首先服务器端图片 这里的Im ...

  10. MapReduce的reduce函数里的key用的是同一个引用

    最近写MapReduce程序,出现了这么一个问题,程序代码如下: package demo; import java.io.IOException; import java.util.HashMap; ...