123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879 |
- package com.iamberry.wechat.handles.cart;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import com.iamberry.wechat.core.entity.coupon.Exchange;
- import com.iamberry.wechat.core.entity.coupon.ExchangeItem;
- import com.iamberry.wechat.core.entity.product.ProductColor;
- import com.iamberry.wechat.face.coupon.ExchangeService;
- import com.iamberry.wechat.face.porduct.ProductColorService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RequestParam;
- import org.springframework.web.bind.annotation.ResponseBody;
- import com.iamberry.wechat.core.entity.PaperBean;
- import com.iamberry.wechat.core.entity.ResultMsg;
- import com.iamberry.wechat.core.entity.WechatUtils;
- import com.iamberry.wechat.core.entity.admin.ShopSystemRule;
- import com.iamberry.wechat.core.entity.cart.CartDto;
- import com.iamberry.wechat.core.entity.cart.SendPayDto;
- import com.iamberry.wechat.core.entity.cart.ShopOrderAndItemDto;
- import com.iamberry.wechat.core.entity.cart.ShopOrderItemDto;
- import com.iamberry.wechat.core.entity.cart.ShopSalesOrderDto;
- import com.iamberry.wechat.core.entity.cart.UserGiftDto;
- import com.iamberry.wechat.core.entity.coupon.CouponItem;
- import com.iamberry.wechat.core.entity.coupon.CouponType;
- import com.iamberry.wechat.core.entity.member.Member;
- import com.iamberry.wechat.core.entity.mq.MQMessage;
- import com.iamberry.wechat.core.entity.order.Order;
- import com.iamberry.wechat.core.entity.order.OrderItem;
- import com.iamberry.wechat.core.entity.pay.PayResult;
- import com.iamberry.wechat.face.admin.SystemService;
- import com.iamberry.wechat.face.cart.CartService;
- import com.iamberry.wechat.face.cart.ProductInfoService;
- import com.iamberry.wechat.face.coupon.CouponItemService;
- import com.iamberry.wechat.face.member.MemberService;
- import com.iamberry.wechat.face.order.AdminOrderService;
- import com.iamberry.wechat.face.pay.PayService;
- import com.iamberry.wechat.handles.mq.MQServiceProxy;
- import com.iamberry.wechat.tools.NameUtils;
- import com.iamberry.wechat.tools.ResultInfo;
- import com.iamberry.wechat.tools.StaticInfo;
- @Controller
- @RequestMapping("/wechat/cart")
- public class CartHandlers {
-
- @Autowired
- private CartService cartService;
-
- @Autowired
- private SystemService systemService;
-
- @Autowired
- private AdminOrderService adminOrderService;
-
- @Autowired
- private PayService payService;
-
- @Autowired
- private MQServiceProxy mQservice;
- @Autowired
- private MemberService memberService;
-
- @Autowired
- private CouponItemService couponItemService;
-
- @Autowired
- private ProductInfoService productInfoService;
- @Autowired
- private ProductColorService productColorService;
- @Autowired
- ExchangeService exchangeService;
-
- /**
- * 进入购物车页面
- * @param request
- * @return ResultMsg
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping(value = "/selectCartByOpenId",method = RequestMethod.POST)
- public ResultMsg selectCartByOpenId(HttpServletRequest request) throws Exception {
- ResultMsg remsg = new ResultMsg();
- Member member = WechatUtils.getUserBySession(request);
- //member.setUserId(11907);
- //member.setUserOpenid("o-icas-WiwbEXfwO1wLGDKQ1iWJU");
- List<CartDto> cartList = cartService.selectCartByOpenId(member.getUserOpenid());
-
- /*
- * 金额统计
- */
- Integer total = 0;
- if (null != cartList && cartList.size() > 0) {
- //判断是否为金牌会员下线,如果是,则以优惠价显示,如果不是则按原价显示
- //查询金牌会员模板id
- int templateId = systemService.selectOneShopRuleById(114).getRuleNum().intValue();
- //查询用户信息
- Member user= memberService.getMemberByUserOpenId(member.getUserOpenid());
- if (user == null) {
- remsg.setMessage(ResultInfo.loginOutError);
- remsg.setStatus(false);
- remsg.setMessage(ResultInfo.loginOutError);
- return remsg;
- }
- //如果模板id等于金牌会模板id,则该用户为金牌会员下线
- if (user.getUserDealers() != null && user.getTemplateId() != null
- && templateId == user.getTemplateId().intValue() && user.getUserResType().intValue() == 3) {
- //若果是金牌会员下线,产品的价格就以优惠价显示
- for (CartDto cartDto : cartList) {
- UserGiftDto userGiftDto = new UserGiftDto();
- userGiftDto.setUserLevel(2);
- userGiftDto.setUserProductId(cartDto.getCartProductId());
- userGiftDto.setUserColorId(cartDto.getCartColorId());
- //根据商品id和会员等级查询礼品信息
- userGiftDto = productInfoService.selectUserGift(userGiftDto);
- if (userGiftDto != null) {
- cartDto.setProductDiscount(userGiftDto.getUserDiscount());
- }
- }
- }
-
- //根据openid查询该用户是否购买过订单
- ShopSalesOrderDto shopSalesOrderDto = new ShopSalesOrderDto();
- shopSalesOrderDto.setSalesOpenid(member.getUserOpenid());
- shopSalesOrderDto.setSalesStatus("2");
- int orderNum = cartService.selectOrderCount(shopSalesOrderDto);
-
- for (CartDto cartDto : cartList) {
-
- //如果购买过订单,则滤芯的价格可按折扣价购买
- if (orderNum > 0) {
- if (cartDto.getProductType().intValue() == 2) {
- UserGiftDto userGiftDto = new UserGiftDto();
- userGiftDto.setUserLevel(3);
- userGiftDto.setUserProductId(cartDto.getCartProductId());
- userGiftDto.setUserColorId(cartDto.getCartColorId());
- //根据商品id和会员等级查询礼品信息
- userGiftDto = productInfoService.selectUserGift(userGiftDto);
- if (userGiftDto != null) {
- cartDto.setProductDiscount(userGiftDto.getUserDiscount());
- }
- }
- }
-
- if (cartDto.getProductStatus() != null && cartDto.getProductStatus() == 1) { // 产品状态:在售
- total += cartDto.getCartNum() * cartDto.getProductDiscount();
- }
- }
- }
-
- /*
- * 组装数据
- */
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("cartList", cartList);
- map.put("total", total);
- map.put("isShow", ResultInfo.ISSHOW);
- map.put("cartDesc", ResultInfo.CARTDESC);
- map.put("cart_url", ResultInfo.CART_URL);
-
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- remsg.setData(map);
- return remsg;
- }
-
- /**
- * 获取购物车数量
- * @param request
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/getCartNumByCartOpenId")
- public ResultMsg getCartNumByCartOpenId(HttpServletRequest request) throws Exception {
- ResultMsg remsg=new ResultMsg();
- Member member = WechatUtils.getUserBySession(request);
- String openId = member.getUserOpenid();
- Integer cartNum = this.cartService.getCartNumByCartOpenId(openId);
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setStatus(true);
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setData(cartNum);
- return remsg;
- }
-
- /**
- * 首页添加商品到购物车
- * @param productId
- * @param cartNum
- * @param request
- * @return ResultMsg
- */
- @ResponseBody
- @RequestMapping("/addProductToCart")
- public ResultMsg addProductToCart(@RequestParam("productId") String productId,
- @RequestParam("colorId") Integer colorId,
- @RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum,
- HttpServletRequest request) throws Exception {
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- CartDto cartDto = new CartDto();
- ResultMsg remsg=new ResultMsg();
-
- Integer pid = 0;
- if (productId != null && !"".equals(productId) && !"null".equals(productId) && StaticInfo.pattern.matcher(productId).find()) {
- pid = Integer.parseInt(productId);
- } else {
- if (productId == null || "".equals(productId)) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- try {
- String productIdString = StaticInfo.md5.decrypt(productId);
- pid = Integer.parseInt(productIdString);
- } catch (Exception e) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- return remsg;
- }
-
- cartDto.setCartOpenId(openId);
- cartDto.setCartProductId(pid);
- cartDto.setCartColorId(colorId);
- //根据用户id和商品id查询购物车中是否存在
- CartDto cart = cartService.getCartByCartProductId(cartDto);
- if (null != cart) {
- //存在,则修改数量
- cartDto.setCartNum(cartNum + cart.getCartNum());
- Integer num = cartService.updateCartByOpenId(cartDto);
- if (num > 0) {
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setData(cart.getCartId());
- remsg.setStatus(true);
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- }
- } else {
- //不存在,则添加商品信息
- cartDto.setCartNum(cartNum);
- Integer num = cartService.addProductToCart(cartDto);
- if (num > 0) {
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setData(num);
- remsg.setStatus(true);
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- }
- }
- return remsg;
- }
-
- /**
- * 点击加号按钮添加商品到购物车
- * @param request
- * @param productId
- * @param cartNum
- * @return ResultMsg
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping(value = "/addCart",method = RequestMethod.GET)
- public ResultMsg addCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
- @RequestParam("colorId") Integer colorId,
- @RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- ResultMsg remsg=new ResultMsg();
- CartDto cartDto = new CartDto();
- cartDto.setCartOpenId(openId);
- cartDto.setCartColorId(colorId);
- cartDto.setCartProductId(productId);
- Integer productNum = cartService.getCartNumByOpenId(cartDto);
- cartDto.setCartNum(productNum + cartNum);
- Integer num = cartService.updateCartByOpenId(cartDto);
- if (num > 0) {
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- }
- return remsg;
- }
-
- /**
- * 点击减号按钮删除商品
- * @param request
- * @param productId
- * @param cartNum
- * @return ResultMsg
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping(value = "/deleteCart",method = RequestMethod.GET)
- public ResultMsg deleteCart(HttpServletRequest request,@RequestParam("productId") Integer productId,
- @RequestParam("colorId") Integer colorId,
- @RequestParam(value = "cartNum", required = false, defaultValue = "1") Integer cartNum) throws Exception {
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- ResultMsg remsg=new ResultMsg();
- CartDto cartDto = new CartDto();
- cartDto.setCartOpenId(openId);
- cartDto.setCartColorId(colorId);
- cartDto.setCartProductId(productId);
- Integer productNum = cartService.getCartNumByOpenId(cartDto);
- Integer num = 0;
- if (productNum != null && productNum > 1) {
- cartDto.setCartNum(productNum - cartNum);
- num = cartService.updateCartByOpenId(cartDto);
- }
- if (num > 0) {
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- }
- return remsg;
- }
-
- /**
- * 点击垃圾桶按钮删除购物车物品信息
- * @param request
- * @param cartId
- * @return ResultMsg
- */
- @ResponseBody
- @RequestMapping(value = "/deleteCartByProductId",method = RequestMethod.GET)
- public ResultMsg deleteCartByProductId(HttpServletRequest request,@RequestParam("productId") Integer productId,
- @RequestParam("colorId") Integer colorId) throws Exception{
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- CartDto cartDto = new CartDto();
- ResultMsg remsg=new ResultMsg();
- cartDto.setCartOpenId(openId);
- cartDto.setCartColorId(colorId);
- cartDto.setCartProductId(productId);
- if (cartService.deleteCartByCartId(cartDto) >= 1) {
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- }
- return remsg;
- }
-
- /**
- *
- * 查询订单列表页面
- * @param request
- * @param pageSize
- * @param pageNO
- * @param salesStatus
- * @param text
- * @return ResultMsg
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping(value = "/selectShopOrder")
- public ResultMsg selectShopOrder(HttpServletRequest request,
- @RequestParam(value= "pageSize",defaultValue= "10" ,required=false) Integer pageSize,
- @RequestParam(value = "pageNO", defaultValue = "1") Integer pageNO,
- @RequestParam(value = "salesStatus",defaultValue = "")String salesStatus,
- @RequestParam(value = "text",defaultValue = "")String text) throws Exception {
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- String beginDate = request.getParameter("beginDate");
- PaperBean bean = new PaperBean();
- ResultMsg remsg=new ResultMsg();
- if (null != salesStatus && !"".equals(salesStatus)) {
- bean.setStatus(salesStatus);
- }
- if (null != text && !"".equals(text)) {
- bean.setStr(text);
- }
- if (null != beginDate && !"".equals(beginDate)) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- bean.setBeginDate(sdf.parse(beginDate));
- }
- bean.setText(openId);
- bean.setPaperData(pageNO, pageSize);
- List<ShopOrderAndItemDto> shopOrderList = cartService.selectShopOrder(bean);
- ShopSystemRule shopSystemRule = this.adminOrderService.getReluByRid(109);
-
- //查询订单列表时同步百胜信息
- if (null != shopOrderList && shopOrderList.size() > 0) {
- for (ShopOrderAndItemDto orderDto : shopOrderList) {
- //判断该订单能否进行支付
- if ("1".equals(orderDto.getSalesStatus()) && orderDto.getOrderItemList() != null && orderDto.getOrderItemList().size() > 0) {
- orderDto.setEfficacious(true);
- for (OrderItem orderItem : orderDto.getOrderItemList()) {
- if (orderItem.getProductStatus() != 1 && orderItem.getItemProductType() != shopSystemRule.getRuleNum().intValue()) {
- orderDto.setEfficacious(false);
- }
- }
- }
- MQMessage message = new MQMessage();
- if ("2".equals(orderDto.getSalesStatus())) {
- message.setServiceToMessage(orderDto.getSalesOrderid());
- message.setServiceOtherMessage("efast.trade.detail.get");
- message.setServiceIsSend(2); // 没有推送的信息
- message.setServiceStatus(1); // 推送成功
- message.setServiceType(1); // 添加订单信息
- message.setServiceHandlerObjectName("efastOrderServiceImpl");
- message.setServiceHandlerMethodName("selectEfastSendOrderInfo");
- mQservice.insertMQMessage(message);
- } else if ("8".equals(orderDto.getSalesStatus())) {
- message.setServiceToMessage(orderDto.getSalesOrderid());
- message.setServiceOtherMessage("efast.order.return.info.fetch");
- message.setServiceIsSend(2); // 没有推送的信息
- message.setServiceStatus(1); // 推送成功
- message.setServiceType(1); // 添加订单信息
- message.setServiceHandlerObjectName("efastOrderServiceImpl");
- message.setServiceHandlerMethodName("selectEfastReturnOrderInfo");
- mQservice.insertMQMessage(message);
- }
- }
- }
-
- Integer pageCount = cartService.getOrderNumByOpenId(bean);
- int count = pageCount % pageSize == 0? pageCount/pageSize:(pageCount/pageSize)+1;
- Map<String,Object> map = new HashMap<String,Object>();
- map.put("pageCount", count);
- map.put("orderList", shopOrderList);
- map.put("productType", shopSystemRule.getRuleNum());
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- remsg.setData(map);
- return remsg;
- }
-
-
- /**
- * 查询订单详情
- * @param request
- * @param orderId
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/getShopOrderByOrderId")
- public ResultMsg getShopOrderByOrderId(HttpServletRequest request) throws Exception{
- String orderId = request.getParameter("orderId");
- ShopSystemRule shopSystemRule = this.adminOrderService.getReluByRid(109);
- ResultMsg remsg=new ResultMsg();
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- ShopSalesOrderDto shopSalesOrderDto = null;
- List<ShopOrderItemDto> orderItemList = new ArrayList<ShopOrderItemDto>();
- CouponType couponType = null;
- CouponItem couponItem = new CouponItem();
- if (orderId != null && !"".equals(orderId)) {
- shopSalesOrderDto = cartService.getShopOrderByOrderId(orderId, openId);
- //查询优惠券信息
- if (null != shopSalesOrderDto.getSalesCouponReceiveId() && !"".equals(shopSalesOrderDto.getSalesCouponReceiveId())) {
- couponItem.setCouponItemId(shopSalesOrderDto.getSalesCouponReceiveId());
- couponItem.setCouponItemUseropenid(openId);
- couponType = cartService.getCouponReduceByItemId(couponItem);
- }
- if (null != couponType) {
- int money = 0;
- switch (couponType.getCouponType()) {
- case 1:
- money = couponType.getCouponReduce();
- break;
- case 2:
- money = shopSalesOrderDto.getSalesAmount() - shopSalesOrderDto.getSalesAmount() * couponType.getCouponReduce()/100;
- break;
- }
- shopSalesOrderDto.setCouponReduce(money);
- }
- orderItemList = cartService.selectShopOrderItem(orderId);
-
- //判断该订单是否可以支付
- if (orderItemList != null && orderItemList.size() > 0) {
- if ("1".equals(shopSalesOrderDto.getSalesStatus())) {
- shopSalesOrderDto.setEfficacious(true);
- for (ShopOrderItemDto shopOrderItemDto : orderItemList) {
- if (!"1".equals(shopOrderItemDto.getProductStatus()) &&
- shopOrderItemDto.getItemProductType().intValue() != shopSystemRule.getRuleNum().intValue()) {
- shopSalesOrderDto.setEfficacious(false);
- }
- }
- }
- }
-
- shopSalesOrderDto.setOrderItemList(orderItemList);
- }
- if (shopSalesOrderDto == null) {
- shopSalesOrderDto = new ShopSalesOrderDto();
- }
- if ("5".equals(shopSalesOrderDto.getSalesStatus())) {
- // 给百胜推送信息
- try {
- MQMessage message = new MQMessage();
- message.setServiceToMessage(orderId);
- message.setServiceOtherMessage("efast.trade.detail.get");
- message.setServiceIsSend(2); // 没有推送的信息
- message.setServiceStatus(1); // 推送成功
- message.setServiceType(1); // 添加订单信息
- message.setServiceHandlerObjectName("efastOrderServiceImpl");
- message.setServiceHandlerMethodName("selectEfastSendOrderInfo");
- mQservice.insertMQMessage(message);
- } catch (Exception e) {
- // TODO: handle exception
- }
- } else if ("8".equals(shopSalesOrderDto.getSalesStatus())) {
- // 给百胜推送信息
- try {
- MQMessage message = new MQMessage();
- message.setServiceToMessage(orderId);
- message.setServiceOtherMessage("efast.trade.detail.get");
- message.setServiceIsSend(2); // 没有推送的信息
- message.setServiceStatus(1); // 推送成功
- message.setServiceType(1); // 添加订单信息
- message.setServiceHandlerObjectName("efastOrderServiceImpl");
- message.setServiceHandlerMethodName("selectEfastReturnOrderInfo");
- mQservice.insertMQMessage(message);
- } catch (Exception e) {
- // TODO: handle exception
- }
- }
- remsg.setData(shopSalesOrderDto);
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- return remsg;
- }
-
-
- /**
- * 订单页面支付方法
- * @param request
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/orderPay")
- public ResultMsg orderPay(HttpServletRequest request) throws Exception {
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- String orderId = request.getParameter("orderId");
- ResultMsg msg=new ResultMsg();
- Order order = new Order();
- order.setSalesOrderid(orderId);
- order.setSalesOpenid(openId);
- ShopSalesOrderDto shopSalesOrderDto = null;
- SendPayDto dto = new SendPayDto();
- dto.setSuccess(false);
- List<ShopOrderItemDto> orderItemList = new ArrayList<ShopOrderItemDto>();
- if (orderId != null && !"".equals(orderId)) {
- shopSalesOrderDto = cartService.getShopOrderByOrderId(orderId, openId);
- orderItemList = cartService.selectShopOrderItem(orderId);
- Member member = memberService.getMemberByUserOpenId(openId);
-
- //获取账户余额,判断是否在可用范围内
- int balancePayAmount=shopSalesOrderDto.getBalancePayAmount();
- int total = shopSalesOrderDto.getSalesYetAmount();
- //判断余额支付金额是否大于用户余额
- if(balancePayAmount > 0 && member.getUserIncome() > balancePayAmount) {
- total = total - balancePayAmount > 0 ? total - balancePayAmount : 0;
- } else if(balancePayAmount > 0 && member.getUserIncome() < balancePayAmount) {
- msg.setMessage(ResultInfo.NO_ENOUGH_FOR_PAY);
- return msg;
- }
- // 发起支付
- PayResult result = payService.requestPay(openId, orderId, total, orderItemList.get(0).getItemProductName() + "...", NameUtils.getConfig("WECHAT_ORDER_BACK"));
- if (result.isPaySuccess()) {
- dto.setInfo(result.getPayData());
- dto.setSuccess(true);
- dto.setOrderId(orderId);
- } else {
- dto.setInfo(result.getPayData());
- dto.setOrderId(orderId);
- }
- } else {
- shopSalesOrderDto = new ShopSalesOrderDto();
- }
- msg.setResultCode(ResultInfo.SUCCESSCODE);
- msg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- msg.setData(dto);
- msg.setStatus(true);
-
- return msg;
- }
-
- /**
- * 取消订单
- * @param request
- * @param orderId
- * @return ResultMsg
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/cancelOrder")
- public ResultMsg cancelOrder(HttpServletRequest request,
- @RequestParam(value = "orderId",defaultValue = "")String orderId,
- @RequestParam(value = "status",defaultValue = "-1") Integer status) throws Exception{
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- ResultMsg remsg=new ResultMsg();
- if (null != orderId && !"".equals(orderId)) {
- ShopSalesOrderDto orderDto = this.cartService.getOpenIdAndStatus(orderId);
- if (orderDto != null) {
- if (!openId.equals(orderDto.getSalesOpenid())) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- if (Integer.parseInt(orderDto.getSalesStatus()) != 1) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- if (null != orderDto.getSalesCouponReceiveId() && !"".equals(orderDto.getSalesCouponReceiveId())) {
- CouponItem couponItem = new CouponItem();
- couponItem.setCouponItemId(orderDto.getSalesCouponReceiveId());
- couponItem.setCouponItemUseropenid(openId);
- couponItem.setCouponUseStatus(1);
- couponItem.setOldCouponUseStatus(7);
- couponItemService.updateCouponItemById(couponItem);
- }
- Order order = new Order();
- order.setSalesStatus(0);
- order.setSalesOrderid(orderId);
- order.setOldStatus(status);
- adminOrderService.updateOrderStatusByOrderId(order);
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- return remsg;
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- }
-
-
- /**
- * 订单退货或退款
- * @param request
- * @param orderId
- * @param remark
- * @param status
- * @return
- * @throws Exception
- */
- @ResponseBody
- @RequestMapping("/returnOrder")
- public ResultMsg returnOrder(HttpServletRequest request,
- @RequestParam(value = "orderId",defaultValue = "")String orderId,
- @RequestParam(value = "remark",defaultValue = "")String remark,
- @RequestParam(value = "returnOrderId",defaultValue = "")String returnOrderId,
- @RequestParam(value = "status",defaultValue = "-1") Integer status) throws Exception {
- ResultMsg remsg=new ResultMsg();
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- Order order = new Order();
- order.setSalesOrderid(orderId);
- order.setOldStatus(status);
- ShopSystemRule shopSystemRule = this.adminOrderService.getReluByRid(102);
- if (null != orderId && !"".equals(orderId)) {
- ShopSalesOrderDto orderDto = this.cartService.getOpenIdAndStatus(orderId);
- if (orderDto != null) {
- if (!openId.equals(orderDto.getSalesOpenid())) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- //判断该订单是否被锁定,如果被锁定,则不能退款或是退换货
- if (orderDto.getSalesLockType() != null && "2".equals(orderDto.getSalesLockType().toString())) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- //判断该订单是否可以退款
- if (status == 2) {
- if (Integer.parseInt(orderDto.getSalesStatus()) != status) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- } else {
- order.setSalesStatus(3);
- order.setSalesReturnDes(remark);
- cartService.updateOrderByOrderId(order);
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- return remsg;
- }
- }
- //判断该订单是否可以退货
- if (status == 5) {
- if (Integer.parseInt(orderDto.getSalesStatus()) != status) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- } else {
- // 7天内用户可以退货
- if ((new Date().getTime() - orderDto.getSalesSendDate().getTime()) > shopSystemRule.getRuleNum() * (1000*3600*24)) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- } else {
- order.setSalesStatus(6);
- order.setSalesReturnDes(remark);
- order.setSalesChangeOrderid(returnOrderId);
- cartService.updateOrderByOrderId(order);
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- return remsg;
- }
- }
- }
-
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- }
- return remsg;
- }
-
- /**
- * 订单换货
- * @param request
- * @param orderId
- * @return
- */
- @ResponseBody
- @RequestMapping("/exchangeOrder")
- public ResultMsg exchangeOrder(HttpServletRequest request,
- @RequestParam(value = "orderId",defaultValue = "")String orderId,
- @RequestParam(value = "status",defaultValue = "-1") Integer status,
- @RequestParam(value = "changeOrderId",defaultValue = "") String changeOrderId) throws Exception{
- ResultMsg remsg=new ResultMsg();
-
- String openId = WechatUtils.getUserBySession(request).getUserOpenid();
- Order order = new Order();
- order.setSalesOrderid(orderId);
- order.setSalesChangeOrderid(changeOrderId);
- order.setOldStatus(status);
- ShopSystemRule shopSystemRule = this.adminOrderService.getReluByRid(103);
- if (null != orderId && !"".equals(orderId)) {
- ShopSalesOrderDto orderDto = this.cartService.getOpenIdAndStatus(orderId);
- if (orderDto != null) {
- if (!openId.equals(orderDto.getSalesOpenid())) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- if (Integer.parseInt(orderDto.getSalesStatus()) != 5 && Integer.parseInt(orderDto.getSalesStatus()) != 12) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- } else {
- // 1年内用户可以换货
- if ((new Date().getTime() - orderDto.getSalesSendDate().getTime()) >= shopSystemRule.getRuleNum() * (1000*3600*24)) {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- } else {
- order.setSalesStatus(11);
- adminOrderService.updateOrderStatusByOrderId(order);
- remsg.setMessage(NameUtils.getConfig("SUCCESSINFO"));
- remsg.setResultCode(ResultInfo.SUCCESSCODE);
- remsg.setStatus(true);
- return remsg;
- }
- }
- } else {
- remsg.setMessage(NameUtils.getConfig("ERRORINFO"));
- remsg.setResultCode(ResultInfo.ERRORCODE);
- remsg.setStatus(false);
- return remsg;
- }
- }
- return remsg;
- }
- /**
- * 获取T1/T2滤芯
- * @param request
- * @return
- */
- @ResponseBody
- @RequestMapping("/get_exchange")
- public ResultMsg getExchange(HttpServletRequest request,Integer couponId) throws Exception{
- ResultMsg remsg=new ResultMsg();
- if(couponId == null){
- return remsg;
- }
- List<ProductColor> productColorList = new ArrayList<>();
-
- Exchange exchange = new Exchange();
- exchange.setCouponId(couponId);
- List<Exchange> exchangeList = exchangeService.getExchangeList(exchange);
- for (Exchange ex : exchangeList) {
- List<ExchangeItem> exchangeItemList = ex.getExchangeItemList();
- for (ExchangeItem exchangeItem:exchangeItemList) {
- ProductColor productColor = productColorService.selectProductColorById(exchangeItem.getColorId());
- productColorList.add(productColor);
- }
- }
- remsg.setData(productColorList);
- remsg.setStatus(true);
- return remsg;
- }
- /**
- * 获取38节的权益
- * @param request
- * @return
- */
- @ResponseBody
- @RequestMapping("/get_38Interests")
- public ResultMsg get38Interests(HttpServletRequest request) throws Exception{
- ResultMsg remsg=new ResultMsg();
- List<ProductColor> productColorList = new ArrayList<>();
- ProductColor productColor = productColorService.selectProductColorById(48);
- productColorList.add(productColor);
- remsg.setData(productColorList);
- remsg.setStatus(true);
- return remsg;
- }
- }
|