From a7454d8a6325566753358b37ffabfae2faa0ca7f Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 28 四月 2021 19:46:49 +0800
Subject: [PATCH] 拼多多授权调整,支持小程序跳转

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/AccountMessageServiceImpl.java |  187 ++++++++++++++++++++--------------------------
 1 files changed, 83 insertions(+), 104 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/AccountMessageServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/AccountMessageServiceImpl.java
index ba271fa..d4cfa85 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/AccountMessageServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/AccountMessageServiceImpl.java
@@ -1,104 +1,83 @@
-package com.yeshi.fanli.service.impl.user;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.hibernate.HibernateException;
-import org.hibernate.Session;
-import org.springframework.orm.hibernate4.HibernateCallback;
-import org.springframework.stereotype.Service;
-
-import com.yeshi.fanli.dao.config.SystemZnxDao;
-import com.yeshi.fanli.dao.user.AccountMessageDao;
-import com.yeshi.fanli.dao.user.UserInfoDao;
-import com.yeshi.fanli.entity.bus.user.AccountMessage;
-import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.system.SystemZnx;
-import com.yeshi.fanli.service.inter.user.AccountMessageService;
-import com.yeshi.fanli.util.Constant;
-
-@Service
-public class AccountMessageServiceImpl implements AccountMessageService {
-
-	@Resource
-	private AccountMessageDao dao;
-	@Resource
-	private UserInfoDao userInfoDao;
-
-	@Resource
-	private SystemZnxDao systemZnxDao;
-
-	@Resource
-	private AccountMessageService accountMessageService;
-
-	@Override
-	public List<AccountMessage> findAccountMessageList(long uid, int page) {
-		return dao.list("from AccountMessage am where am.userInfo.id=? order by id desc",
-				(page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, new Serializable[] { uid });
-	}
-
-	@Override
-	public int getCount(long uid) {
-		return (int) dao.getCount("select count(*) from AccountMessage am where am.userInfo.id=?",
-				new Serializable[] { uid });
-	}
-
-	@Override
-	public void open(long id) {
-		AccountMessage find = dao.find(AccountMessage.class, id);
-		if (find != null) {
-			find.setIsOpen(true);
-			dao.update(find);
-		}
-	}
-
-	@Override
-	public int getCanOpenCount(long uid) {
-		return (int) dao.getCount("select count(*) from AccountMessage am where am.userInfo.id=? and am.isOpen=0",
-				new Serializable[] { uid });
-	}
-
-	@Override
-	public void save(AccountMessage accountMessage) {
-		if (accountMessage != null)
-			dao.save(accountMessage);
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public void syncSystemZnx(long uid) {
-		UserInfo userInfo = userInfoDao.find(UserInfo.class, uid);
-		if (userInfo == null)
-			return;
-		List<SystemZnx> list = (List<SystemZnx>) systemZnxDao.excute(new HibernateCallback<List<SystemZnx>>() {
-			@SuppressWarnings("unchecked")
-			@Override
-			public List<SystemZnx> doInHibernate(Session session) throws HibernateException {
-				List result = session
-						.createSQLQuery(
-								"SELECT sm.* FROM `yeshi_ec_system_msg` sm LEFT JOIN  (SELECT * FROM `yeshi_ec_account_message` a WHERE a.`uid`=? AND a.`system_msg_id` IS NOT NULL)  s ON s.`system_msg_id`=sm.`id` WHERE s.`system_msg_id` IS NULL and sm.createTime>="
-										+ userInfo.getCreatetime())
-						.addEntity(SystemZnx.class).setParameter(0, uid).list();
-				if (result != null) {
-					List<SystemZnx> list = (List<SystemZnx>) result;
-					return list;
-				}
-				return null;
-			}
-		});
-		if (list != null)
-			for (SystemZnx systemZnx : list) {
-				AccountMessage accountMessage = new AccountMessage();
-				accountMessage.setTitle(systemZnx.getTitle());
-				accountMessage.setContent(systemZnx.getContent());
-				accountMessage.setCreateTime(systemZnx.getCreateTime());
-				accountMessage.setIsOpen(false);
-				accountMessage.setUserInfo(new UserInfo(uid));
-				accountMessage.setSystemMsgId(systemZnx.getId());
-				accountMessageService.save(accountMessage);
-			}
-	}
-
-}
+package com.yeshi.fanli.service.impl.user;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.yeshi.fanli.dao.mybatis.AccountMessageMapper;
+import com.yeshi.fanli.entity.bus.user.AccountMessage;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.system.SystemZnx;
+import com.yeshi.fanli.service.inter.user.AccountMessageService;
+import com.yeshi.fanli.service.inter.user.SystemZnxService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.util.Constant;
+
+@Service
+public class AccountMessageServiceImpl implements AccountMessageService {
+
+	@Resource
+	private AccountMessageMapper accountMessageMapper;
+	@Resource
+	private UserInfoService userInfoService;
+	
+	@Resource
+	private SystemZnxService systemZnxService;
+
+	@Override
+	public List<AccountMessage> findAccountMessageList(long uid, int page) {
+		return accountMessageMapper.listByUidOrderByIdDesc(uid, (page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE);
+	}
+
+	@Override
+	public int getCount(long uid) {
+		return (int) accountMessageMapper.countByUidAndOpen(uid, null);
+
+	}
+
+	@Override
+	public void open(long id) {
+		AccountMessage find = accountMessageMapper.selectByPrimaryKey(id);
+		if (find != null) {
+			AccountMessage update = new AccountMessage();
+			update.setId(id);
+			update.setIsOpen(true);
+			accountMessageMapper.updateByPrimaryKeySelective(update);
+		}
+	}
+
+	@Override
+	public int getCanOpenCount(long uid) {
+		return (int) accountMessageMapper.countByUidAndOpen(uid, false);
+	}
+
+	@Override
+	public void save(AccountMessage accountMessage) {
+		if (accountMessage != null)
+			accountMessageMapper.insertSelective(accountMessage);
+	}
+
+	@Override
+	public void syncSystemZnx(long uid) {
+		UserInfo userInfo = userInfoService.selectByPKey(uid);
+		if (userInfo == null)
+			return;
+		
+		List<SystemZnx> list = systemZnxService.listbyUidAndCreateTime(uid, userInfo.getCreatetime());
+
+		if (list != null)
+			for (SystemZnx systemZnx : list) {
+				AccountMessage accountMessage = new AccountMessage();
+				accountMessage.setTitle(systemZnx.getTitle());
+				accountMessage.setContent(systemZnx.getContent());
+				accountMessage.setCreateTime(systemZnx.getCreateTime());
+				accountMessage.setIsOpen(false);
+				accountMessage.setUserInfo(new UserInfo(uid));
+				accountMessage.setSystemMsgId(systemZnx.getId());
+				save(accountMessage);
+			}
+	}
+
+}

--
Gitblit v1.8.0