欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

登錄成功-修改登錄相關(guān)信息-通過事件監(jiān)聽方式完成-實現(xiàn)方式一

1.自定義事件

創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡營銷,包括網(wǎng)站制作、網(wǎng)站設(shè)計、SEO優(yōu)化、網(wǎng)絡推廣、整站優(yōu)化營銷策劃推廣、電子商務、移動互聯(lián)網(wǎng)營銷等。創(chuàng)新互聯(lián)建站為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制及解決方案,創(chuàng)新互聯(lián)建站核心團隊10年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務,在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。

a.創(chuàng)建包event

b.創(chuàng)建類LoginSuccessEvent

c.編寫類的內(nèi)容

package com.huinongtx.power.consumer.event;

import com.huinongtx.power.consumer.request.account.LoginForm;

import com.huinongtx.power.consumer.vo.result.ResultVO;

import com.huinongtx.power.provider.dto.account.AccountDTO;

import lombok.Data;

import org.springframework.context.ApplicationEvent;

/**

?* @ClassName LoginSuccessEvent

?* @Description 登錄成功事件

?* @Author yunshuodeng

?* @Date 2019-04-25 10:43

?* @Version 1.0

?**/

@Data

public class LoginSuccessEvent extends ApplicationEvent {

? ? private ResultVO resultVO;

? ? private AccountDTO accountDTO;

? ? private LoginForm loginForm;

? ? public LoginSuccessEvent(Object source) {

? ? ? ? super(source);

? ? }

? ? public LoginSuccessEvent(Object source,ResultVO resultVO,AccountDTO accountDTO,LoginForm loginForm) {

? ? ? ? super(source);

? ? ? ? this.resultVO = resultVO;

? ? ? ? this.accountDTO = accountDTO;

? ? ? ? this.loginForm = loginForm;

? ? }

}

2.自定義監(jiān)聽

a.創(chuàng)建包listener

b.創(chuàng)建類LoginSuccessListener

c.編寫類的實現(xiàn)

package com.huinongtx.power.consumer.listener;

import com.huinongtx.power.consumer.event.LoginSuccessEvent;

import com.huinongtx.power.consumer.repository.AccountRepository;

import com.huinongtx.power.consumer.request.account.LoginForm;

import com.huinongtx.power.consumer.util.IpUtil;

import com.huinongtx.power.provider.dto.account.AccountDTO;

import com.huinongtx.power.provider.dto.account.ModifyAccountLoginInfoDTO;

import com.huinongtx.power.provider.dto.result.ResultDTO;

import com.huinongtx.power.provider.util.TimeUtil;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.ApplicationListener;

import org.springframework.scheduling.annotation.Async;

import org.springframework.stereotype.Component;

import org.springframework.util.StringUtils;

import javax.servlet.http.HttpServletRequest;

/**

?* @ClassName LoginSuccessListener

?* @Description TODO

?* @Author yunshuodeng

?* @Date 2019-04-25 10:49

?* @Version 1.0

?**/

@Async

@Component

public class LoginSuccessListener implements ApplicationListener<LoginSuccessEvent> {

? ? @Autowired

? ? private HttpServletRequest request;

? ? // 注入賬戶持久層

? ? @Autowired

? ? private AccountRepository accountRepository;

? ? public void onApplicationEvent(LoginSuccessEvent loginSuccessEvent) {

? ? ? ? if (loginSuccessEvent.getResultVO().getCode() == 0){

//? ? ? ? ? ? System.out.println("執(zhí)行修改登錄信息操作");

? ? ? ? ? ? // 修改登錄相關(guān)信息

? ? ? ? ? ? try {

? ? ? ? ? ? ? ? modifyLoginInfo(request,loginSuccessEvent.getAccountDTO(),loginSuccessEvent.getLoginForm());

? ? ? ? ? ? } catch (Exception e) {

? ? ? ? ? ? ? ? System.out.println(e.getMessage());

? ? ? ? ? ? }

? ? ? ? }

? ? }

? ? /**

? ? ?* 修改登錄信息

? ? ?* @param request

? ? ?* @param accountDTO

? ? ?* @param loginForm

? ? ?* @throws Exception

? ? ?*/

? ? private void modifyLoginInfo(HttpServletRequest request, AccountDTO accountDTO, LoginForm loginForm) throws Exception {

? ? ? ? // 獲取客戶端登錄IP

? ? ? ? String ip = IpUtil.getIpAddr(request);

? ? ? ? // 修改登錄相關(guān)信息

? ? ? ? ModifyAccountLoginInfoDTO modifyAccountLoginInfoDTO = new ModifyAccountLoginInfoDTO();

? ? ? ? modifyAccountLoginInfoDTO.setId(accountDTO.getId());

? ? ? ? modifyAccountLoginInfoDTO.setDeviceNo(loginForm.getDeviceNo());

? ? ? ? modifyAccountLoginInfoDTO.setPlatform(loginForm.getPlatform());

? ? ? ? modifyAccountLoginInfoDTO.setDevicePlatform(loginForm.getDevicePlatform());

? ? ? ? modifyAccountLoginInfoDTO.setLoginTime(TimeUtil.getCurrentTimeMillis());

? ? ? ? modifyAccountLoginInfoDTO.setLastLoginTime(TimeUtil.getCurrentTimeMillis());

? ? ? ? modifyAccountLoginInfoDTO.setIp(ip);

? ? ? ? Long count = StringUtils.isEmpty(accountDTO.getCount()) ? 0 : accountDTO.getCount();

? ? ? ? modifyAccountLoginInfoDTO.setCount(count+1);

? ? ? ? ResultDTO resultDTO = accountRepository.modifyAccountInfoByCondition(modifyAccountLoginInfoDTO);

? ? ? ? System.out.println(resultDTO.getState());

? ? }

}

3.發(fā)布事件

a.在service中注入spring 上下文

@Autowired

private ApplicationContext applicationContext;

b.在相應的業(yè)務方法中發(fā)布事件

// 代碼省略

// 發(fā)布事件

applicationContext.publishEvent(new LoginSuccessEvent(this,resultVO,accountDTO,loginForm));

// 代碼省略

當前標題:登錄成功-修改登錄相關(guān)信息-通過事件監(jiān)聽方式完成-實現(xiàn)方式一
網(wǎng)站鏈接:http://chinadenli.net/article14/geosde.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化品牌網(wǎng)站建設(shè)電子商務搜索引擎優(yōu)化企業(yè)網(wǎng)站制作標簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)