package com.sp2p.action.front; import java.io.IOException; import java.text.ParseException; import java.util.Map; import com.hehenian.biz.common.account.dataobject.AccountUserDo; import net.sf.json.JSONObject; import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.sp2p.constants.IAmountConstants; import com.sp2p.constants.IConstants; import com.sp2p.service.AwardMoneyService; import com.sp2p.service.BeVipService; import com.sp2p.service.CostManagerService; import com.sp2p.service.IDCardValidateService; import com.sp2p.service.RecommendUserService; import com.sp2p.task.JobTaskService; import com.shove.Convert; import com.shove.util.SqlInfusion; import com.shove.web.util.JSONUtils; public class BeVipAction extends BaseFrontAction { private static final long serialVersionUID = 1L; public static Log log = LogFactory.getLog(BeVipAction.class); private BeVipService beVipService;; private CostManagerService costManagerService; private RecommendUserService recommendUserService; private AwardMoneyService awardMoneyService; @SuppressWarnings("unused") private IDCardValidateService iDCardValidateService; // add by houli vip扣费处理 private JobTaskService jobTaskService; // public void setIDCardValidateService(IDCardValidateService cardValidateService) { iDCardValidateService = cardValidateService; } public void setCostManagerService(CostManagerService costManagerService) { this.costManagerService = costManagerService; } public void setAwardMoneyService(AwardMoneyService awardMoneyService) { this.awardMoneyService = awardMoneyService; } public void setRecommendUserService(RecommendUserService recommendUserService) { this.recommendUserService = recommendUserService; } public void setBeVipService(BeVipService beVipService) { this.beVipService = beVipService; } /** * 即时验证身份证号码 * * @return * @throws IOException * @throws ParseException * @throws NumberFormatException */ public String isIDNO() throws IOException, NumberFormatException, ParseException { JSONObject obj = new JSONObject(); String IDNO = SqlInfusion.FilteSqlInfusion(paramMap.get("idNo")); if (StringUtils.isBlank(IDNO)) { obj.put("putStr", "0"); JSONUtils.printObject(obj); return null; } long len = IDNO.length(); // 验证身份证 int sortCode = 0; int MAN_SEX = 0; if (len == 15) { sortCode = Integer.parseInt(IDNO.substring(12, 15)); } else if(len == 18) { sortCode = Integer.parseInt(IDNO.substring(14, 17)); }else return null; if (sortCode % 2 == 0) { MAN_SEX = 2;// 女性身份证 } else if (sortCode % 2 != 0) { MAN_SEX = 1;// 男性身份证 } else { obj.put("putStr", "1");// 身份证不合法 JSONUtils.printObject(obj); return null; } String iDresutl = ""; iDresutl = IDCardValidateService.chekIdCard(MAN_SEX, IDNO); if (iDresutl != "") { obj.put("putStr", "1");// 身份证不合法 JSONUtils.printObject(obj); return null; } return null; } /** * 查询用户的参数申请vip时候的参数 * * @return * @throws Exception */ public String bevip() throws Exception { Map<String, String> userMap = null; AccountUserDo user = (AccountUserDo) session().getAttribute(IConstants.SESSION_USER); userMap = beVipService.queryVipParamList(user.getId()); request().setAttribute("userMap", userMap); return SUCCESS; } /** * 更新用户的vip状态 * * @return * @throws Exception */ public String updateUserVip() throws Exception { Map<String, Object> platformCostMap = this.getPlatformCost(); JSONObject obj = new JSONObject(); String pageId = SqlInfusion.FilteSqlInfusion(paramMap.get("pageId")); String code = (String) session().getAttribute(pageId + "_checkCode"); String _code = SqlInfusion.FilteSqlInfusion(paramMap.get("code").toString().trim()); String servicePersonId = SqlInfusion.FilteSqlInfusion(paramMap.get("kefu"));// 客服跟踪人 Long server = Convert.strToLong(servicePersonId, -1); if (StringUtils.isBlank(servicePersonId)) { obj.put("msg", "请选择客服"); JSONUtils.printObject(obj); return null; } if (code == null || !_code.equals(code)) { obj.put("msg", "验证码错误"); JSONUtils.printObject(obj); return null; } AccountUserDo user = (AccountUserDo) session().getAttribute("user"); Long userId = user.getId(); double vipFee = Convert.strToDouble(platformCostMap.get(IAmountConstants.VIP_FEE_RATE) + "", 0); double money = Convert.strToDouble(platformCostMap.get(IAmountConstants.ORDINARY_FRIENDS_FEE) + "", 0); Map<String, String> map = beVipService.beVip(userId, server, vipFee, money); int ret = Convert.strToInt(map.get("ret") + "", -1); if (ret < 1) { obj.put("msg", map.get("ret_desc") + ""); JSONUtils.printObject(obj); return null; } else { obj.put("msg", "1"); JSONUtils.printObject(obj); return null; } } public JobTaskService getJobTaskService() { return jobTaskService; } public void setJobTaskService(JobTaskService jobTaskService) { this.jobTaskService = jobTaskService; } }