首页>代码>SSH+mysql开发电商网站(可直接导入运行)>/E_shop/src/cn/it/shop/action/PayAction.java
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";
		}
	}

}
最近下载更多
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日
最近浏览更多
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日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友