package cn.it.shop.action; import java.util.Map; import org.apache.struts2.interceptor.ParameterAware; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import cn.it.shop.model.BackData; import cn.it.shop.model.Forder; import cn.it.shop.model.SendData; import cn.it.shop.model.Status; import cn.it.shop.model.User; /** * Struts处理流程: * 1. 获取请求后,先创建Action代理,在创建代理的时候顺便创建了Action, * 2. 执行18个拦截器,拦截器执行成功后再调用Action的方法 * 3. Action的方法执行完毕后,再调用18个拦截器 * 所以先创建Action-->servletConfig(拿到parameters)-->modelDriven * @author Ni Shengwu * */ @Controller("payAction") @Scope("prototype") public class PayAction extends BaseAction<Object> implements ParameterAware { private Map<String, String[]> parameters; @Override public Object getModel() { if(parameters.get("pd_FrpId") != null) { model = new SendData(); } else { model = new BackData(); } return model; } @Override public void setParameters(Map<String, String[]> parameters) { this.parameters = parameters; } public String goBank() { SendData sendData = (SendData)model; //1. 补全参数:P2 p3 pd Pa需要从session中获取 Forder forder = (Forder) session.get("oldForder"); User user = (User) session.get("user"); sendData.setP2_Order(forder.getId().toString()); //商户订单号 sendData.setP3_Amt(forder.getTotal().toString()); //支付金额 sendData.setPa_MP(user.getEmail() + "," + user.getPhone()); //商户扩展信息 //2. 对参数进行追加 //3. 加密获取签名 //4. 存储到request域中 payService.saveDataToRequest(request, sendData); //完成2,3,4 //5. 跳转到支付页面 return "pay"; } public String backBank() { BackData backData = (BackData)model; System.out.println(model); boolean isOK = payService.checkBackData(backData); if(isOK) { //1. 更新订单状态,参数是自己根据数据库中的情况传进去的,用来测试 forderService.updateStatusById(Integer.parseInt(backData.getR6_Order()), 2); //2. 根据user邮箱地址,发送邮件 String emailAddress = backData.getR8_MP().split(",")[0]; emailUtil.sendEmail(emailAddress, backData.getR6_Order()); //3. 发送手机短信 String phoneNum = backData.getR8_MP().split(",")[1]; messageUtil.sendMessage(phoneNum, backData.getR6_Order()); System.out.println("----success!!----"); return "index"; } else { System.out.println("----false!!!----"); return "error"; } } }
最近下载更多
微信网友_6880571174621184 LV1
3月24日
an7654 LV1
2023年10月9日
陆程江 LV2
2023年5月29日
jierffff LV2
2023年4月20日
天下无敌啦啦啦啦啦 LV2
2023年2月3日
反复发烧 LV1
2023年1月28日
wuying8208 LV15
2023年1月1日
二十一画 LV10
2022年6月25日
wanglinddad LV55
2022年4月18日
1358677997 LV2
2021年12月27日
最近浏览更多
微信网友_6880571174621184 LV1
3月24日
jiemomo LV12
2023年11月6日
微信网友_6707371254878208
2023年10月25日
暂无贡献等级
an7654 LV1
2023年10月9日
我是高手 LV1
2023年9月17日
SDLFJL LV6
2023年7月23日
include LV8
2023年6月20日
yemmmm666 LV1
2023年6月12日
陆程江 LV2
2023年5月23日
3516569014 LV5
2023年5月8日