CardHandler.java 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783
  1. package com.iamberry.wechat.handles.giftCard;
  2. import java.io.IOException;
  3. import java.net.URLDecoder;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Date;
  7. import java.util.Map;
  8. import javax.servlet.ServletException;
  9. import javax.servlet.http.HttpServletRequest;
  10. import javax.servlet.http.HttpServletResponse;
  11. import com.iamberry.wechat.tools.SendMessageUtil;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Controller;
  14. import org.springframework.web.bind.annotation.PathVariable;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestParam;
  17. import org.springframework.web.bind.annotation.ResponseBody;
  18. import org.springframework.web.servlet.ModelAndView;
  19. import com.iamberry.app.tool.log.RatFWLogger;
  20. import com.iamberry.app.verify.ValidateUtil;
  21. import com.iamberry.wechat.core.entity.ResultMsg;
  22. import com.iamberry.wechat.core.entity.WechatUtils;
  23. import com.iamberry.wechat.core.entity.giftCard.AgentMachine;
  24. import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
  25. import com.iamberry.wechat.core.entity.giftCard.AgentInfo;
  26. import com.iamberry.wechat.core.entity.giftCard.AgentPayLogs;
  27. import com.iamberry.wechat.core.entity.giftCard.CardCashInfo;
  28. import com.iamberry.wechat.core.entity.giftCard.GiftCardDto;
  29. import com.iamberry.wechat.core.entity.giftCard.GiftCardInfo;
  30. import com.iamberry.wechat.core.entity.giftCard.UserMachineInfo;
  31. import com.iamberry.wechat.core.entity.member.Member;
  32. import com.iamberry.wechat.core.entity.product.ProductColor;
  33. import com.iamberry.wechat.face.giftCard.AgentMachineService;
  34. import com.iamberry.wechat.face.giftCard.AgentService;
  35. import com.iamberry.wechat.face.admin.SystemService;
  36. import com.iamberry.wechat.face.cart.ProductInfoService;
  37. import com.iamberry.wechat.face.giftCard.GiftCardService;
  38. import com.iamberry.wechat.face.member.MemberService;
  39. import com.iamberry.wechat.face.mq.EfastOrderService;
  40. import com.iamberry.wechat.face.order.CodeService;
  41. import com.iamberry.wechat.face.porduct.ProductColorService;
  42. import com.iamberry.wechat.tools.DateTimeUtil;
  43. import com.iamberry.wechat.tools.ResponseJson;
  44. import com.iamberry.wechat.tools.ResultInfo;
  45. /**
  46. * 提货卡handler
  47. *
  48. * @company 深圳爱贝源科技有限公司
  49. * @website www.iamberry.com
  50. * @author 献
  51. * @tel 18271840547
  52. * @date 2017年2月15日
  53. */
  54. @RequestMapping(value = "/wechat/giftCard/card")
  55. @Controller
  56. public class CardHandler {
  57. @Autowired
  58. private CodeService codeService;
  59. @Autowired
  60. private GiftCardService cardService;
  61. @Autowired
  62. private AgentMachineService agentMachineService;
  63. @Autowired
  64. private SystemService systemService;
  65. @Autowired
  66. private MemberService memberService;
  67. @Autowired
  68. private AgentService agentService;
  69. @Autowired
  70. private RatFWLogger logger;
  71. @Autowired
  72. private ProductColorService productColorService;
  73. @Autowired
  74. private ProductInfoService productInfoService;
  75. @Autowired
  76. private EfastOrderService efastOrderService;
  77. @Autowired
  78. private SendMessageUtil sendMessageUtil;
  79. /**
  80. * 兑换入口 - 页面
  81. *
  82. * @return
  83. * @author 献
  84. * @Time 2017年2月15日
  85. */
  86. @RequestMapping(value = "/_exchangeUI")
  87. public ModelAndView exchangeUI() {
  88. ModelAndView mv = new ModelAndView();
  89. return mv;
  90. }
  91. /**
  92. * 转发地址跳转
  93. *
  94. * @param response
  95. * @param requestion
  96. * @param url
  97. */
  98. public void dispatcherLink(HttpServletResponse response,
  99. HttpServletRequest requestion, String url) {
  100. try {
  101. requestion.getRequestDispatcher(url).forward(requestion, response);
  102. } catch (IOException e) {
  103. e.printStackTrace();
  104. } catch (ServletException e) {
  105. e.printStackTrace();
  106. }
  107. }
  108. /**
  109. * 代理中心入口 - 页面
  110. *
  111. * @return
  112. * @author LJK
  113. * @Time 2017年2月22日10:15:48
  114. */
  115. @RequestMapping(value = "/agencyUI")
  116. public void agencyUI(HttpServletRequest request,
  117. HttpServletResponse response) {
  118. // 获取当前用户
  119. Member member = WechatUtils.getUserBySession(request);
  120. String url = null;
  121. List<AgentPayLogs> agentPayLogsList = agentService
  122. .selectPayLogHasByOpenid(member.getUserOpenid());
  123. if (agentPayLogsList == null || agentPayLogsList.size() == 0) {
  124. url = "/view/gift_card_go_agent.html";
  125. dispatcherLink(response, request, url);
  126. return;
  127. }
  128. if (agentPayLogsList.size() > 0) {
  129. url = "/WEB-INF/views/wechat/gift_card_agent_center.html";
  130. dispatcherLink(response, request, url);
  131. return;
  132. }
  133. /*
  134. * for(AgentPayLogs agentPayLogs : agentPayLogsList){
  135. * if(agentPayLogs.getPayStatus() == null ||
  136. * agentPayLogs.getPayStatus().equals("")|| agentPayLogs.getPayStatus()
  137. * == 1){ url="/view/gift_card_to_agent.html";//这里应该跳转到续费页面
  138. * dispatcherLink(response,request,url); return; } } else
  139. * if(agentPayLogs.getPayStatus() == 2){}
  140. * url="/WEB-INF/views/wechat/gift_card_agent_center.html";
  141. * dispatcherLink(response,request,url); return; }
  142. */
  143. }
  144. /**
  145. * 兑换列表入口 - 页面
  146. *
  147. * @return
  148. * @author LJK
  149. * @Time 2017年2月22日10:15:48
  150. */
  151. @RequestMapping(value = "/exchangeUI")
  152. public void exchangeUI(HttpServletRequest request,
  153. HttpServletResponse response) {
  154. // 获取当前用户
  155. Member member = WechatUtils.getUserBySession(request);
  156. String url = null;
  157. List<UserMachineInfo> UserMachineInfoList = cardService.list(member
  158. .getUserOpenid());
  159. if (UserMachineInfoList.size() > 0) {
  160. url = "/WEB-INF/views/wechat/gift_card_exchange_list.html";
  161. dispatcherLink(response, request, url);
  162. return;
  163. } else {
  164. url = "/view/gift_card_user_exchange.html";
  165. dispatcherLink(response, request, url);
  166. return;
  167. }
  168. }
  169. /**
  170. * 兑换申请
  171. *
  172. * @param machineInfo
  173. * @return
  174. * @author 献
  175. * @Time 2017年2月15日
  176. */
  177. @ResponseBody
  178. @RequestMapping(value = "/exchange")
  179. public ResponseJson exchange(UserMachineInfo machineInfo,
  180. @RequestParam("cardPwd") String cardPwd, HttpServletRequest request) {
  181. ResponseJson json = new ResponseJson();
  182. json.setResultCode(200);
  183. // 获取当前用户
  184. Member member = WechatUtils.getUserBySession(request);
  185. // 根据openid查询付费代理商信息
  186. AgentInfo agent = agentService.selectAgentByOpenId(member.getUserOpenid());
  187. if (agent == null) {
  188. json.setReturnCode(500);
  189. json.addResponseKeyValue("没有查到该付费代理商信息!");
  190. return json;
  191. }
  192. // 收货信息校验
  193. if (!ValidateUtil.checkMobile(machineInfo.getUserMachineAddressTel())
  194. || !ValidateUtil.checkLength(
  195. machineInfo.getUserMachineAddressName(), 10)
  196. || !ValidateUtil.checkLength(
  197. machineInfo.getUserMachineAddressInfo(), 100)) {
  198. json.setReturnCode(500);
  199. json.addResponseKeyValue("收货地址信息有误!");
  200. return json;
  201. }
  202. // 兑换密码
  203. cardPwd = cardPwd.toUpperCase();
  204. GiftCardInfo cardInfo = cardService.get(cardPwd);
  205. if (cardInfo == null) {
  206. json.setReturnCode(501);
  207. json.addResponseKeyValue("提货卡不存在!");
  208. return json;
  209. }
  210. if (cardInfo.getCardStatus() != 1) {
  211. json.setReturnCode(501);
  212. json.addResponseKeyValue("提货卡已经被使用!");
  213. return json;
  214. }
  215. return useCard(cardInfo, machineInfo, agent);
  216. }
  217. /**
  218. * 开始提货
  219. * 2017年3月31日
  220. * @author muzx
  221. * @param cardInfo
  222. * @param machineInfo
  223. * @param agent
  224. * @return
  225. */
  226. private ResponseJson useCard(GiftCardInfo cardInfo, UserMachineInfo machineInfo, AgentInfo agent){
  227. ResponseJson json = new ResponseJson();
  228. json.setResultCode(200);
  229. try {
  230. Map<String, Object> map = cardService.salesCard(cardInfo, machineInfo, agent);
  231. if (!"1".equals(map.get("status"))) {
  232. json.setReturnCode(503);
  233. json.addResponseKeyValue("您的流程有误,请重试!");
  234. return json;
  235. }
  236. // 判断是否已经达到目标并赠送一台水机,如果赠送了,则推送消息
  237. if ("1".equals(map.get("target"))) {
  238. Member member = memberService.getMemberByUserOpenId(agent.getAgentOpenId());
  239. sendMessageUtil.prizeReceivePush(
  240. "您好,您已经达到销售目标,详情为:",
  241. URLDecoder.decode(member.getUserNickname(), "UTF-8"),
  242. "Watero水时代",
  243. "0元",
  244. DateTimeUtil.format(new Date()),
  245. "美国watero净饮水一体机一台",
  246. "请点击完善收货地址并领取奖励。",
  247. member.getUserOpenid(),
  248. ResultInfo.AGENT_REFERRER_MACHINE_PAGE
  249. + "?agentMachineId="
  250. + map.get("agentMachineId"));
  251. }
  252. } catch (Exception e) {
  253. e.printStackTrace();
  254. json.setReturnCode(503);
  255. json.addResponseKeyValue("您的提货卡密码已被使用,请联系代理商!");
  256. return json;
  257. }
  258. json.setReturnCode(200);
  259. return json;
  260. }
  261. /**
  262. * 发送短信验证码
  263. *
  264. * @return
  265. * @author 献
  266. * @Time 2017年2月15日
  267. */
  268. @ResponseBody
  269. @RequestMapping(value = "/send/sms/{phone}")
  270. public ResponseJson sms(@PathVariable(name = "phone") String phone) {
  271. ResponseJson json = new ResponseJson();
  272. // 校验手机号码
  273. if (!ValidateUtil.checkMobile(phone)) {
  274. json.setReturnCode(500);
  275. json.addResponseKeyValue("手机号码有误!");
  276. json.setResultCode(200);
  277. return json;
  278. }
  279. // 发送短信验证码
  280. return codeService.sms(phone);
  281. }
  282. /**
  283. * 获取产品详细信息,通过颜色名称辨别对应的图片
  284. *
  285. * @return
  286. * @author 献
  287. * @Time 2017年2月16日
  288. */
  289. @ResponseBody
  290. @RequestMapping("/product/details")
  291. public ResponseJson productDetails(HttpServletRequest request) {
  292. ResponseJson json = new ResponseJson();
  293. String agentMachineId = request.getParameter("agentMachineId");
  294. if (agentMachineId != null && !agentMachineId.equals("")) {
  295. AgentMachine agentMachine = agentMachineService
  296. .selectAgentMachine(Integer.valueOf(agentMachineId));
  297. if (agentMachine != null) {
  298. if (agentMachine.getAgentMachineStatus() == 2 || agentMachine.getAgentMachineStatus() == 3) {
  299. json.addResponseKeyValue("msg", 2);
  300. } else if (agentMachine.getAgentMachineStatus() == 1) {
  301. json.addResponseKeyValue("msg", 1);
  302. }
  303. }
  304. }
  305. // 获取当前用户
  306. Member member = WechatUtils.getUserBySession(request);
  307. // 查询用户信息
  308. AgentInfo agentInfo = agentService.selectAgentByOpenId(member
  309. .getUserOpenid());
  310. json.setResultCode(200);
  311. json.setReturnCode(200);
  312. // 获取水机颜色,写死产品ID
  313. json.addResponseKeyValue("colors", cardService.getColor(34));
  314. // 用户信息
  315. json.addResponseKeyValue("agentInfo", agentInfo);
  316. return json;
  317. }
  318. /**
  319. * 申请兑现
  320. *
  321. * @param request
  322. * @param cardId
  323. * @return
  324. * @throws Exception
  325. */
  326. @ResponseBody
  327. @RequestMapping("/applyCash")
  328. public ResultMsg applyCash(HttpServletRequest request,
  329. @RequestParam("cardId") Integer cardId) throws Exception {
  330. ResultMsg msg = new ResultMsg();
  331. GiftCardDto card = new GiftCardDto();
  332. // 获取当前用户
  333. Member member = WechatUtils.getUserBySession(request);
  334. // 从规则表中获取提货卡兑现期限
  335. ShopSystemRule shopSystemRule = systemService
  336. .selectOneShopRuleById(223);
  337. // 查询用户信息
  338. Member user = memberService.getMemberByUserOpenId(member
  339. .getUserOpenid());
  340. card.setCardId(cardId);
  341. card.setCardOpenId(member.getUserOpenid());
  342. // 通过cardId和openId查询提货卡详情
  343. card = cardService.selectCardInfo(card);
  344. // 校验订单是否存在
  345. if (card == null) {
  346. msg.setMessage("该提货卡信息不存在");
  347. msg.setResultCode(ResultInfo.ERRORCODE);
  348. msg.setStatus(false);
  349. return msg;
  350. }
  351. // 判断提货卡是否已经达到可以兑现的期限了,如果没有,则不能兑现
  352. if ((new Date().getTime() - card.getCardCreateDate().getTime()) < shopSystemRule
  353. .getRuleNum() * (1000 * 3600 * 24)) {
  354. msg.setMessage("您好,兑现时间未到(获取一年后方可兑现)");
  355. msg.setResultCode(ResultInfo.ERRORCODE);
  356. msg.setStatus(false);
  357. return msg;
  358. }
  359. if (card.getCardStatus().intValue() != 1) {
  360. msg.setMessage("该提货卡已使用,不能兑现");
  361. msg.setResultCode(ResultInfo.ERRORCODE);
  362. msg.setStatus(false);
  363. return msg;
  364. }
  365. // 封装需要提货卡修改的信息
  366. GiftCardDto giftCardDto = new GiftCardDto();
  367. giftCardDto.setCardId(cardId);
  368. giftCardDto.setCardOpenId(member.getUserOpenid());
  369. giftCardDto.setCardOldStatus(1);
  370. giftCardDto.setCardStatus(3);
  371. // 封装提货卡兑换信息
  372. CardCashInfo cardCashInfo = new CardCashInfo();
  373. cardCashInfo.setCardCashOpenId(member.getUserOpenid());
  374. cardCashInfo.setCardCashCardId(cardId.toString());
  375. cardCashInfo.setCardCashSalesNickname(user.getUserNickname());
  376. cardCashInfo.setCardCashStatus(1);
  377. // 申请兑现,修改提货卡状态,在提货卡兑现表添加记录
  378. boolean flag = cardService.applyCash(giftCardDto, cardCashInfo);
  379. if (flag) {
  380. msg.setMessage("申请兑现成功");
  381. msg.setResultCode(ResultInfo.SUCCESSCODE);
  382. msg.setStatus(true);
  383. } else {
  384. msg.setMessage("申请兑现失败");
  385. msg.setResultCode(ResultInfo.ERRORCODE);
  386. msg.setStatus(false);
  387. }
  388. return msg;
  389. }
  390. /**
  391. * 修改未出售的提货卡为已出售状态
  392. *
  393. * @param request
  394. * @param cardId
  395. * @return
  396. * @throws Exception
  397. */
  398. /*
  399. * @ResponseBody
  400. *
  401. * @RequestMapping("/updateSalesStatus") public ResultMsg
  402. * updateSalesStatus(HttpServletRequest request,
  403. *
  404. * @RequestParam("cardId") Integer cardId) throws Exception {
  405. *
  406. * ResultMsg msg = new ResultMsg(); GiftCardDto card = new GiftCardDto(); //
  407. * 获取当前用户 Member member = WechatUtils.getUserBySession(request);
  408. *
  409. * GiftCardDto giftCardDto = new GiftCardDto();
  410. * giftCardDto.setCardId(cardId);
  411. * giftCardDto.setCardOpenId(member.getUserOpenid()); //查询该提货卡详细信息
  412. * giftCardDto = cardService.selectCardInfo(giftCardDto);
  413. * //如果该提货卡状态必须是未售和未用,否则不能出售 if (giftCardDto.getCardSalesStatus().intValue()
  414. * != 2 || giftCardDto.getCardStatus().intValue() != 1) {
  415. * msg.setMessage("该提货卡已使用或已出售,不能再次出售!");
  416. * msg.setResultCode(ResultInfo.ERRORCODE); msg.setStatus(false); }
  417. *
  418. * //参数必须为未出售,未使用,如果条件不满足,则不会修改状态 card.setCardId(cardId);
  419. * card.setCardOldSalesStatus(2); card.setCardOldStatus(1);
  420. * card.setCardOpenId(member.getUserOpenid()); card.setCardSalesStatus(1);
  421. * card.setCardSalesDate(new Date());
  422. *
  423. * //修改提货卡出售状态 int num = cardService.updateCardStatus(card);
  424. *
  425. * if (num > 0) { msg.setMessage("该提货卡已成功出售!");
  426. * msg.setResultCode(ResultInfo.SUCCESSCODE); msg.setStatus(true); } else {
  427. * msg.setMessage("该提货卡出售失败!"); msg.setResultCode(ResultInfo.ERRORCODE);
  428. * msg.setStatus(false); } return msg; }
  429. */
  430. /**
  431. * 按openid分页查询个人提货卡信息
  432. *
  433. * @param request
  434. * @param pageSize
  435. * @param pageNO
  436. * @param status
  437. * 1:未用,2:已兑换,3:待兑现,4:全部
  438. * @return
  439. * @throws Exception
  440. */
  441. @ResponseBody
  442. @RequestMapping("/selectCardList")
  443. public ResultMsg selectCardList(
  444. HttpServletRequest request,
  445. @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
  446. @RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
  447. @RequestParam(value = "status", defaultValue = "4") Integer status)
  448. throws Exception {
  449. ResultMsg msg = new ResultMsg();
  450. GiftCardDto card = new GiftCardDto();
  451. int salesNum = 0; //待售礼品卡数量
  452. int waitExchangeNum = 0; //待兑换数量
  453. int exchangeNum = 0; //已兑换数量
  454. // 待售状态
  455. if (status.intValue() == 1) {
  456. card.setCardStatus(1);
  457. }
  458. // 待兑换状态
  459. if (status.intValue() == 2) {
  460. card.setCardStatus(2);
  461. }
  462. // 已兑换状态
  463. if (status.intValue() == 3) {
  464. card.setCardStatus(3);
  465. }
  466. // 获取当前用户
  467. Member member = WechatUtils.getUserBySession(request);
  468. card.setCardOpenId(member.getUserOpenid());
  469. card.getPage().setPageNumber(pageNO);
  470. card.getPage().setPageSize(pageSize);
  471. card.getPage().initRecordBegin();
  472. GiftCardDto cardDto = new GiftCardDto();
  473. cardDto.setCardOpenId(member.getUserOpenid());
  474. cardDto.setPage(null);
  475. // 查询个人所有提货卡信息
  476. List<GiftCardDto> cardAllList = cardService.selectCardList(cardDto);
  477. // 分页查询个人提货卡信息
  478. List<GiftCardDto> cardList = cardService.selectCardList(card);
  479. Map<String, Object> map = new HashMap<String, Object>();
  480. if (cardAllList != null && cardAllList.size() > 0) {
  481. for (GiftCardDto giftCardDto : cardAllList) {
  482. switch (giftCardDto.getCardStatus().intValue()) {
  483. case 1:salesNum++;break;
  484. case 2:waitExchangeNum++;break;
  485. case 3:exchangeNum++;break;
  486. }
  487. }
  488. }
  489. map.put("count", cardAllList.size());
  490. map.put("salesNum",salesNum);
  491. map.put("waitExchangeNum",waitExchangeNum);
  492. map.put("exchangeNum",exchangeNum);
  493. map.put("list", cardList);
  494. msg.setData(map);
  495. msg.setResultCode(ResultInfo.SUCCESSCODE);
  496. msg.setStatus(true);
  497. return msg;
  498. }
  499. /**
  500. * 兑换记录
  501. *
  502. * @return
  503. * @author 献
  504. * @Time 2017年2月16日
  505. */
  506. @ResponseBody
  507. @RequestMapping("/exchange/logs")
  508. public ResponseJson exChangeLogs(HttpServletRequest httpServletRequest) {
  509. Member member = WechatUtils.getUserBySession(httpServletRequest);
  510. ResponseJson json = new ResponseJson();
  511. json.setResultCode(200);
  512. json.setReturnCode(200);
  513. json.addResponseKeyValue("logs",
  514. cardService.list(member.getUserOpenid()));
  515. return json;
  516. }
  517. /**
  518. * 代理商确认物流信息
  519. *
  520. * @return
  521. * @author LJK
  522. * @Time 2017年2月16日
  523. */
  524. @ResponseBody
  525. @RequestMapping("/selectAgentMachine")
  526. public ResponseJson selectAgentMachine(
  527. HttpServletRequest httpServletRequest,
  528. @RequestParam(value = "agentMachineId", required = false, defaultValue = "0") Integer agentMachineId) {
  529. ResponseJson json = new ResponseJson();
  530. if (agentMachineId == 0) {
  531. json.setReturnCode(503);
  532. json.setResultCode(200);
  533. json.addResponseKeyValue("查询失败!");
  534. return json;
  535. }
  536. json.setResultCode(200);
  537. json.setReturnCode(200);
  538. json.addResponseKeyValue("logs",
  539. agentMachineService.selectAgentMachine(agentMachineId));
  540. return json;
  541. }
  542. /**
  543. * 代理商修改物流信息
  544. *
  545. * @return
  546. * @author LJK
  547. * @Time 2017年2月16日
  548. */
  549. @ResponseBody
  550. @RequestMapping("/updateAgentMachine")
  551. public ResponseJson updateAgentMachine(
  552. HttpServletRequest httpServletRequest, AgentMachine agentMachine) {
  553. ResponseJson json = new ResponseJson();
  554. // 获取当前用户
  555. Member member = WechatUtils.getUserBySession(httpServletRequest);
  556. if (agentMachine == null) {
  557. json.setReturnCode(503);
  558. json.setResultCode(200);
  559. json.addResponseKeyValue("操作失败!");
  560. return json;
  561. }
  562. if (agentMachine.getAgentMachineId() == null) {
  563. json.setReturnCode(503);
  564. json.setResultCode(200);
  565. json.addResponseKeyValue("操作失败!");
  566. return json;
  567. }
  568. if (agentMachine.getAgentMachineColorId() == null) {
  569. json.setReturnCode(503);
  570. json.setResultCode(200);
  571. json.addResponseKeyValue("操作失败!");
  572. return json;
  573. }
  574. agentMachine.setAgentMachineOpenId(member.getUserOpenid());
  575. Integer msg = agentMachineService.selectAgentMachineByOpenId(agentMachine);
  576. if(msg == 0){
  577. json.setReturnCode(503);
  578. json.setResultCode(200);
  579. json.addResponseKeyValue("操作失败!");
  580. return json;
  581. }
  582. ProductColor productColor = productColorService.selectProductColorById(agentMachine.getAgentMachineColorId());
  583. agentMachine.setAgentMachineColorName(productColor.getColorName());
  584. agentMachine.setAgentMachineProductName(productColor.getColorProductName());
  585. agentMachine.setAgentMachine69code(productColor.getColor69Code());
  586. agentMachine.setAgentMachineProductId(productColor.getColorProductId());
  587. agentMachine.setAgentMachineStatus(2);
  588. msg = agentMachineService.updateAgentMachine(agentMachine);
  589. if (msg > 0) {
  590. json.setResultCode(200);
  591. json.setReturnCode(200);
  592. json.addResponseKeyValue("操作成功!");
  593. try {
  594. // 推送百胜
  595. efastOrderService.giftCard(
  596. agentMachine.getAgentMachineAddressInfo(), "ZS22222222"
  597. + agentMachine.getAgentMachineId(),
  598. agentMachine.getAgentMachineColorId(),
  599. agentMachine.getAgentMachineAddressName(),
  600. agentMachine.getAgentMachineAddressTel(),
  601. member.getUserOpenid());
  602. } catch (Exception e) {
  603. System.out.println("推送百胜失败!");
  604. }
  605. } else {
  606. json.setReturnCode(503);
  607. json.setResultCode(200);
  608. json.addResponseKeyValue("操作失败!");
  609. return json;
  610. }
  611. return json;
  612. }
  613. /**
  614. * 根据兑换密码,查看兑换详情
  615. *
  616. * @param card
  617. * @return
  618. * @author 献
  619. * @Time 2017年2月16日
  620. */
  621. @ResponseBody
  622. @RequestMapping("/exchangDetails")
  623. public ResponseJson exchangeDetails(@RequestParam("cardPwd") String card) {
  624. ResponseJson json = new ResponseJson();
  625. json.setResultCode(200);
  626. json.setReturnCode(200);
  627. json.addResponseKeyValue("card", cardService.get(card));
  628. return json;
  629. }
  630. /**
  631. * 我推荐的人列表
  632. *
  633. * @param request
  634. * @param pageSize
  635. * @param pageNO
  636. * @return
  637. * @throws Exception
  638. */
  639. @ResponseBody
  640. @RequestMapping("/beRefereesList")
  641. public ResultMsg beRefereesList(
  642. HttpServletRequest request,
  643. @RequestParam(value = "pageSize", defaultValue = "6", required = false) Integer pageSize,
  644. @RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO)
  645. throws Exception {
  646. ResultMsg msg = new ResultMsg();
  647. AgentInfo agentInfo = new AgentInfo();
  648. // 获取当前用户
  649. Member member = WechatUtils.getUserBySession(request);
  650. agentInfo.setAgentReferrerOpenid(member.getUserOpenid());
  651. agentInfo.getPage().setPageNumber(pageNO);
  652. agentInfo.getPage().setPageSize(pageSize);
  653. agentInfo.getPage().initRecordBegin();
  654. // 分页查询个人提货卡信息
  655. List<AgentInfo> cardList = agentService.beRefereesList(agentInfo);
  656. msg.setData(cardList);
  657. msg.setResultCode(ResultInfo.SUCCESSCODE);
  658. msg.setStatus(true);
  659. return msg;
  660. }
  661. /**
  662. * 赠品列表
  663. *
  664. * @param request
  665. * @param pageSize
  666. * @param pageNO
  667. * @return
  668. * @throws Exception
  669. */
  670. @ResponseBody
  671. @RequestMapping("/giftList")
  672. public ResultMsg giftList(
  673. HttpServletRequest request,
  674. @RequestParam(value = "pageSize", defaultValue = "6", required = false) Integer pageSize,
  675. @RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO)
  676. throws Exception {
  677. ResultMsg msg = new ResultMsg();
  678. AgentMachine agentMachine = new AgentMachine();
  679. // 获取当前用户
  680. Member member = WechatUtils.getUserBySession(request);
  681. agentMachine.setAgentMachineOpenId(member.getUserOpenid());
  682. // agentMachine.getPage().setPageNo(pageNO);
  683. agentMachine.getPage().setPageSize(pageSize);
  684. agentMachine.getPage().setPageNo(recordBegin(pageNO, pageSize));
  685. // 分页查询个人赠品信息信息
  686. List<AgentMachine> cardList = agentMachineService
  687. .selectAllAgentMachineById(agentMachine);
  688. msg.setData(cardList);
  689. msg.setResultCode(ResultInfo.SUCCESSCODE);
  690. msg.setStatus(true);
  691. return msg;
  692. }
  693. public Integer recordBegin(Integer pageNumber, Integer getPageSize) {
  694. if (pageNumber == 1)
  695. pageNumber = 0;
  696. if (pageNumber > 1) {
  697. pageNumber = getPageSize * (pageNumber - 1);
  698. }
  699. return pageNumber;
  700. }
  701. /**
  702. * 续费页面入口 - 页面
  703. *
  704. * @return
  705. * @author LJK
  706. * @Time 2017年2月22日10:15:48
  707. */
  708. @RequestMapping(value = "/renewalUI")
  709. public void renewalUI(HttpServletRequest request,
  710. HttpServletResponse response) {
  711. // 获取当前用户
  712. Member member = WechatUtils.getUserBySession(request);
  713. String url = null;
  714. List<UserMachineInfo> UserMachineInfoList = cardService.list(member
  715. .getUserOpenid());
  716. if (UserMachineInfoList.size() > 0) {
  717. url = "/WEB-INF/views/wechat/gift_card_exchange_list.html";
  718. dispatcherLink(response, request, url);
  719. return;
  720. } else {
  721. url = "/view/gift_card_user_exchange.html";
  722. dispatcherLink(response, request, url);
  723. return;
  724. }
  725. }
  726. }