package com.yc.sdk.shopping.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.google.gson.JsonObject; import com.yc.action.BaseAction; import com.yc.entity.DataSourceEntity; import com.yc.multiData.MultiDataSource; import com.yc.multiData.SpObserver; import com.yc.sdk.shopping.action.api.ShopCcCode; import com.yc.sdk.shopping.entity.PointsEntity; import com.yc.sdk.shopping.entity.SettingEntity; import com.yc.sdk.shopping.entity.ShareEntity; import com.yc.sdk.shopping.entity.ShopCcCodeEntity; import com.yc.sdk.shopping.service.SettingIfc; import com.yc.sdk.shopping.service.imagedata.ShoppingImageDataIfc; import com.yc.sdk.shopping.service.points.PointsIfc; import com.yc.sdk.shopping.service.share.ShareIfc; import com.yc.sdk.shopping.util.SettingKey; import com.yc.utils.SessionKey; @Controller public class SharedPoints extends BaseAction{ @Autowired PointsIfc pointsIfc; @Autowired SettingIfc settingIfc; @Autowired ShareIfc shareIfc; @Autowired ShoppingImageDataIfc imgData; /** * 获取积分 * 2017-1-16 * @param request * @param response */ @RequestMapping("/shopping/pay/sharedpoints.do") public void sharedPoints(HttpServletRequest request, HttpServletResponse response) { HttpSession session = request.getSession(); JsonObject errJson = new JsonObject(); String userCode = (session.getAttribute(SettingKey.CLTCODE) == null ? "" : (String) session.getAttribute(SettingKey.CLTCODE)); String openID = (String) session.getAttribute(SessionKey.WEIXIN_OPENID); //String dbId = (String) session.getAttribute(SessionKey.SHOPPING_DBID); String title=request.getAttribute(SettingKey.TITLE)==null?"":(String)request.getAttribute(SettingKey.TITLE); String sharedTo=request.getParameter("sharedTo")==null?"":(String)request.getParameter("sharedTo"); String share=request.getParameter("share")==null?"":(String)request.getParameter("share"); String link=request.getParameter("link")==null?"":(String)request.getParameter("link"); try { DataSourceEntity dataSourceEntity = MultiDataSource.getDataSourceMap( request) ; SpObserver.setDBtoInstance("_"+dataSourceEntity.getDbId());//切换数据源 SettingEntity settingEntity=settingIfc.getSettingEntity(request); //取网店 shopcccode ShopCcCodeEntity shopCcCodeEntity = ShopCcCode.getShopCcCode(settingEntity,request); ShareEntity shareEntity=shareIfc.getShareEntity(shopCcCodeEntity.getShopCcCode()); String cltCode = (session.getAttribute(SettingKey.CLTCODE) == null?null: (String)session.getAttribute(SettingKey.CLTCODE)); if (cltCode != null && !"".equals(cltCode)) { PointsEntity pointsEntity = null ; if(share==null||share.equals("")){ pointsEntity =pointsIfc.saveSharedPoints(userCode,cltCode,openID,"RMB",0, 0,(int)settingEntity.getSharedPoints(),sharedTo, title, settingEntity.getMetaDescription(), link, imgData.getImageUrl(settingEntity.getImage().toString(),settingEntity.getImagePopupWidth(),settingEntity.getImagePopupHeight(),true,settingEntity.isFromCached(),request),"提交"); }else{ pointsEntity=pointsIfc.saveSharedPoints(userCode,cltCode,openID,"RMB",0, 0,(int)settingEntity.getSharedPoints(),sharedTo, title, SettingKey.stripHtml(shareEntity.getDescription()), link, imgData.getImageUrl(shareEntity.getBackgroundImage().toString(),settingEntity.getImagePopupWidth(),settingEntity.getImagePopupHeight(),true,settingEntity.isFromCached(),request),"提交"); } if(pointsEntity == null){ errJson.addProperty("error","获取积分出错!"); this.printJson(response, errJson.toString()); return ; }else { String msg = "分享成功"; if (settingEntity.getSharedPoints() != 0) { msg = "分享成功,已获得积分"+(int)settingEntity.getSharedPoints() ; } errJson.addProperty("success", msg); this.printJson(response, errJson.toString()); return ; } }else { String msg = "分享成功" ; if (settingEntity.getSharedPoints() != 0) { msg = "分享成功,如果您注册为本站用户,再次分享将获得积分"+(int)settingEntity.getSharedPoints() ; } errJson.addProperty("success", msg); this.printJson(response, errJson.toString()); return ; } } catch (DataAccessException e) { e.printStackTrace(); errJson.addProperty("error",( e.getCause() != null ?e.getCause().getMessage():e.getMessage())); this.printJson(response, errJson.toString()); return; } catch (Exception e) { e.printStackTrace(); errJson.addProperty("error", ( e.getCause() != null ?e.getCause().getMessage():e.getMessage())); this.printJson(response, errJson.toString()); return; } finally { SpObserver.setDBtoInstance(); } } }