From e75b0d79535a6bcd147cca4a54632b70b42afdb9 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 29 五月 2021 18:10:18 +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