From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 26 四月 2024 18:02:17 +0800
Subject: [PATCH] 唯品会链接解析升级
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java | 1823 ++++++++++++++++++++++++++--------------------------------
1 files changed, 812 insertions(+), 1,011 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
index d3ccb92..0d3a1dd 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserInfoServiceImpl.java
@@ -1,1011 +1,812 @@
-package com.yeshi.fanli.service.impl.user;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.annotation.Resource;
-
-import org.hibernate.HibernateException;
-import org.hibernate.Query;
-import org.hibernate.SQLQuery;
-import org.hibernate.Session;
-import org.springframework.core.task.TaskExecutor;
-import org.springframework.orm.hibernate4.HibernateCallback;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
-import org.yeshi.utils.FileUtil;
-import org.yeshi.utils.HttpUtil;
-import org.yeshi.utils.NumberUtil;
-import org.yeshi.utils.tencentcloud.COSManager;
-
-import com.google.gson.Gson;
-import com.yeshi.fanli.dao.mybatis.BindingAccountMapper;
-import com.yeshi.fanli.dao.mybatis.PayInfoMapper;
-import com.yeshi.fanli.dao.mybatis.ScanHistoryMapper;
-import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
-import com.yeshi.fanli.dao.mybatis.UserShareGoodsHistoryMapper;
-import com.yeshi.fanli.dao.mybatis.share.ShareMapper;
-import com.yeshi.fanli.dao.user.UserInfoDao;
-import com.yeshi.fanli.entity.bus.user.BindingAccount;
-import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode;
-import com.yeshi.fanli.entity.bus.user.ForbiddenUserIdentifyCode.ForbiddenUserIdentifyCodeTypeEnum;
-import com.yeshi.fanli.entity.bus.user.InviteUser;
-import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
-import com.yeshi.fanli.entity.bus.user.UserInfo;
-import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum;
-import com.yeshi.fanli.entity.bus.user.WeiXinUser;
-import com.yeshi.fanli.entity.system.BusinessSystem;
-import com.yeshi.fanli.exception.ThreeSaleException;
-import com.yeshi.fanli.exception.user.ForbiddenUserIdentifyCodeException;
-import com.yeshi.fanli.exception.user.UserInfoException;
-import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.config.ConfigService;
-import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
-import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
-import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionAuthRecordService;
-import com.yeshi.fanli.service.inter.user.BindingAccountService;
-import com.yeshi.fanli.service.inter.user.ForbiddenUserIdentifyCodeService;
-import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
-import com.yeshi.fanli.service.inter.user.UserActiveLogService;
-import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
-import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
-import com.yeshi.fanli.service.inter.user.UserInfoService;
-import com.yeshi.fanli.service.inter.user.UserRankService;
-import com.yeshi.fanli.util.Constant;
-import com.yeshi.fanli.util.StringUtil;
-import com.yeshi.fanli.util.ThreadUtil;
-import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.util.Utils;
-import com.yeshi.fanli.util.account.UserUtil;
-import com.yeshi.fanli.util.wx.WXLoginUtil;
-import com.yeshi.fanli.vo.user.UserInfoVO;
-
-import net.coobird.thumbnailator.Thumbnails;
-
-@Service
-public class UserInfoServiceImpl implements UserInfoService {
-
- @Resource(name = "taskExecutor")
- private TaskExecutor executor;
-
- @Resource
- private UserInfoDao userInfoDao;
-
- @Resource
- private UserInfoService userInfoService;
-
- @Resource
- private ConfigService configService;
-
- @Resource
- private ThreeSaleSerivce threeSaleSerivce;
-
- @Resource
- private UserInfoMapper userInfoMapper;
-
- @Resource
- private BindingAccountMapper bindingAccountMapper;
-
- @Resource
- private PayInfoMapper payInfoMapper;
-
- @Resource
- private UserShareGoodsHistoryMapper userShareGoodsHistoryMapper;
-
- @Resource
- private ScanHistoryMapper scanHistoryMapper;
-
- @Resource
- private ShareMapper shareMapper;
-
- @Resource
- private HongBaoV2CountService hongBaoV2CountService;
-
- @Resource
- private UserRankService userRankService;
-
- @Resource
- private UserActiveLogService userActiveLogService;
-
- @Resource
- private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
-
- @Resource
- private TaoBaoUnionAuthRecordService taoBaoUnionAuthRecordService;
-
- @Resource
- private SpreadUserImgService spreadUserImgService;
-
- @Resource
- private ForbiddenUserIdentifyCodeService forbiddenUserIdentifyCodeService;
-
- @Resource
- private BindingAccountService bindingAccountService;
-
- @Resource
- private UserInfoModifyRecordService userInfoModifyRecordService;
-
-
- public UserInfo getUserByLoginTypeAndOpenId(int loginType, String openid, String appid) {
- List<UserInfo> list = null;
- if (loginType == 1) {
- list = userInfoDao.list("from UserInfo u where u.openid=? and u.appId = ? ",
- new Serializable[] { openid, appid });
- } else {
- list = userInfoDao.list("from UserInfo u where u.wxUnionId=? and u.appId = ? ",
- new Serializable[] { openid, appid });
- }
-
- if (list != null)
- for (int i = 0; i < list.size(); i++) {
- if (list.get(i).getState() == UserInfo.STATE_DELETE
- || list.get(i).getState() == UserInfo.STATE_DELETE_OUT_OF_DATE) {
- list.remove(i);
- i--;
- }
- }
-
- if (list != null && list.size() > 0) {
- return list.get(0);
- }
- return null;
- }
-
- //
- // public UserInfo getUserByLoginTypeAndOpenIdByMybatis(int loginType,
- // String openid, String appid) {
- // List<UserInfo> list = null;
- // if (loginType == 1) {
- // list = userInfoDao.list("from UserInfo u where u.openid=? and u.appId = ?
- // ",
- // new Serializable[] { openid, appid });
- // } else {
- // list = userInfoDao.list("from UserInfo u where u.wxUnionId=? and u.appId
- // = ? ",
- // new Serializable[] { openid, appid });
- // }
- // if (list != null && list.size() > 0) {
- // return list.get(0);
- // }
- // return null;
- // }
-
- @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
- public UserInfo addUser(UserInfo form, String appid) {
- try {
- LogHelper.test("鐢ㄦ埛鐨勬敞鍐屼俊鎭�:" + new Gson().toJson(form));
- form.setCreatetime(new Date().getTime());
- form.setRank(0);
- String openId = form.getLoginType() == Constant.TAOBAO ? form.getOpenid() : form.getWxUnionId();
- UserInfo find = getUserByLoginTypeAndOpenId(form.getLoginType(), openId, Constant.APPID);
- if (find != null) {
- return find;
- }
- boolean create = createUser(form, appid);
- if (!create) {
- return null;
- }
- int loginType = form.getLoginType();
- // 寤虹殑鍋囩敤鎴枫�傘��
- if (loginType == -1) {
- return form;
- }
-
- LogHelper.userInfo("娣诲姞鐢ㄦ埛:" + form);
- if (form.getLoginType() == Constant.WEIXIN) {
- // final UserInfo temp = form;
- ThreadUtil.run(new Runnable() {
- public void run() {
- UserInfo temp = userInfoDao.find(UserInfo.class, form.getId());
- COSManager cosManager = COSManager.getInstance();
- InputStream inputStream = HttpUtil.getAsInputStream(temp.getPortrait());
- String uploadFile = cosManager.uploadFile(inputStream, UUID.randomUUID().toString()).getUrl();
- temp.setPortrait(uploadFile);
- userInfoDao.update(temp);
- }
- });
- }
- } catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- return null;
- }
- return form;
- }
-
- public boolean createUser(UserInfo form, String appid) {
- Long id = (Long) userInfoDao.excute(new HibernateCallback<Long>() {
- public Long doInHibernate(Session session) throws HibernateException {
- SQLQuery query = session.createSQLQuery("SELECT IFNULL(MAX(id),100000) FROM yeshi_ec_user ");
- List list = query.list();
- long dd = (long) (Math.random() * 100);
- if (dd == 0) {
- dd = 1;
- }
- long bid = Long.parseLong(list.get(0) + "");
- return bid + dd;
- }
- });
- form.setId(id);
- form.setAppId(appid);
- userInfoDao.save(form);
- return true;
- }
-
- public UserInfo getUserById(long uid) {
- UserInfo user = userInfoDao.find(UserInfo.class, uid);
- if (user.getState() != null && user.getState() != UserInfo.STATE_NORMAL)
- return null;
- if (user != null) {
- user.setRankIcon(UserUtil.getRankIcon(user.getRank()));
- user.setRankNamePicture(UserUtil.getRankNamePicture(user.getRank()));
- }
- return user;
- }
-
- @Transactional
- public void update(UserInfo user) {
- userInfoDao.update(user);
- }
-
- public long getUserCount() {
- return userInfoDao.getCount("select count(*) from UserInfo");
- }
-
- public List<UserInfo> getUserList(int index, String key) {
-
- int start = index * Constant.PAGE_SIZE;
-
- if (NumberUtil.isNumeric(key)) {
- long l = Long.parseLong(key);
- return userInfoDao.list("from UserInfo u where u.id = ? or u.nickName like ? order by u.id desc", start,
- Constant.PAGE_SIZE, new Serializable[] { l, "%" + key + "%" });
- }
-
- return userInfoDao.list("from UserInfo u where u.nickName like ? order by u.id desc ", start,
- Constant.PAGE_SIZE, new Serializable[] { "%" + key + "%" });
-
- }
-
- public int getUserCount(String key) {
- if (NumberUtil.isNumeric(key)) {
- long lk = Long.parseLong(key);
- return (int) userInfoDao.getCount("select count(u.id) from UserInfo u where u.id = ? or u.nickName like ? ",
- new Serializable[] { lk, "%" + key + "%" });
- }
- Long lcount = userInfoDao.getCount("select count(u.id) from UserInfo u where u.nickName like ? ",
- new Serializable[] { "%" + key + "%" });
- return lcount.intValue();
- }
-
- @SuppressWarnings("unchecked")
- public Map<String, Integer> getnewUserByDate(final int days, Date date) {
-
- final Map<String, Integer> map = new HashMap<String, Integer>();
- long timestampms = date.getTime();
- final long timestamps = timestampms / 1000;
- List<String> list = TimeUtil.getEmupDate(days, timestampms);
- for (String dataStr : list) {
- map.put(dataStr, 0);
- }
- return (Map<String, Integer>) userInfoDao.excute(new HibernateCallback<Map<String, Integer>>() {
-
- public Map<String, Integer> doInHibernate(Session session) throws HibernateException {
- SQLQuery sqlQuery = session.createSQLQuery(
- "SELECT DATE(FROM_UNIXTIME(createtime/1000)) c,COUNT(*) FROM yeshi_ec_user WHERE DATE_SUB(FROM_UNIXTIME(?), INTERVAL ? DAY) <= DATE(FROM_UNIXTIME(createtime/1000)) AND DATE(FROM_UNIXTIME(createtime/1000)) <= FROM_UNIXTIME(?) GROUP BY c");
- sqlQuery.setParameter(0, timestamps);
- sqlQuery.setParameter(1, days);
- sqlQuery.setParameter(2, timestamps);
- List<Object[]> list = sqlQuery.list();
- for (Object[] objArr : list) {
- map.put(TimeUtil.getSimpleDate((Date) objArr[0]), ((BigInteger) objArr[1]).intValue());
- }
- return map;
- }
- });
- }
-
- @SuppressWarnings("unchecked")
- public Map<String, Integer> getnewUserByMonth(final int months, final Date endDate) {
- List<String> monthList = Utils.getDateMonthList(months, endDate);
- final Map<String, Integer> map = new HashMap<String, Integer>();
- for (String monthStr : monthList) {
- map.put(monthStr, 0);
- }
- return (Map<String, Integer>) userInfoDao.excute(new HibernateCallback<Map<String, Integer>>() {
-
- public Map<String, Integer> doInHibernate(Session session) throws HibernateException {
- Calendar calendar = Calendar.getInstance();
- calendar.setTime(endDate);
- calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) + 1);
- calendar.set(Calendar.DAY_OF_MONTH, 1);
- long curTime = (calendar.getTime().getTime()) / 1000;
- SQLQuery sqlQuery = session.createSQLQuery(
- "SELECT DATE_FORMAT(FROM_UNIXTIME(createtime/1000),'%Y-%m') months,COUNT(*) FROM yeshi_ec_user WHERE DATE(FROM_UNIXTIME(createtime/1000)) >= DATE_SUB(FROM_UNIXTIME(?),INTERVAL ? MONTH) AND DATE(FROM_UNIXTIME(createtime/1000)) < FROM_UNIXTIME(?) GROUP BY months");
- sqlQuery.setParameter(0, curTime);
- sqlQuery.setParameter(1, months);
- sqlQuery.setParameter(2, curTime);
- List<Object[]> list = sqlQuery.list();
- for (Object[] objArr : list) {
- map.put((String) objArr[0], ((BigInteger) objArr[1]).intValue());
- }
- return map;
- }
- });
- }
-
- @SuppressWarnings("unchecked")
- public Map<String, Integer> getUserTotalByDate(final int days, Date date) {
-
- final Map<String, Integer> map = new HashMap<String, Integer>();
- long timestampms = date.getTime();
- final List<String> list = TimeUtil.getEmupDate(days, timestampms);
- for (String dataStr : list) {
- map.put(dataStr, 0);
- }
- return (Map<String, Integer>) userInfoDao.excute(new HibernateCallback<Map<String, Integer>>() {
-
- public Map<String, Integer> doInHibernate(Session session) throws HibernateException {
- StringBuffer sb = new StringBuffer();
- int ii = 0;
- for (String day : list) {
- if (ii == 0) {
- sb.append("SELECT '" + day + "' AS t,IFNULL(SUM(a.s),0) FROM yeshi_ec_user_day a WHERE a.c<= '"
- + day + "' ");
- } else {
- sb.append("UNION ALL SELECT '" + day
- + "' AS t,IFNULL(SUM(a.s),0) FROM yeshi_ec_user_day a WHERE a.c<= '" + day + "' ");
- }
- ii++;
- }
-
- SQLQuery sqlQuery = session.createSQLQuery(sb.toString());
- List<Object[]> list = sqlQuery.list();
- for (Object[] objArr : list) {
- map.put(String.valueOf(objArr[0]), ((BigDecimal) objArr[1]).intValue());
- }
- return map;
- }
- });
- }
-
- @SuppressWarnings("unchecked")
- public Map<String, Integer> getUserTotalByMonth(int months, Date date) {
- final List<String> monthList = Utils.getDateMonthList(months, date);
- final Map<String, Integer> map = new HashMap<String, Integer>();
- for (String monthStr : monthList) {
- map.put(monthStr, 0);
- }
- return (Map<String, Integer>) userInfoDao.excute(new HibernateCallback<Map<String, Integer>>() {
-
- public Map<String, Integer> doInHibernate(Session session) throws HibernateException {
-
- StringBuffer sb = new StringBuffer();
- int ii = 0;
- for (String month : monthList) {
- if (ii == 0) {
- sb.append("SELECT '" + month
- + "' AS t,IFNULL(SUM(a.s),0) FROM yeshi_ec_user_month a WHERE a.months<= '" + month
- + "' ");
- } else {
- sb.append("UNION ALL SELECT '" + month
- + "' AS t,IFNULL(SUM(a.s),0) FROM yeshi_ec_user_month a WHERE a.months<= '" + month
- + "' ");
- }
- ii++;
- }
-
- SQLQuery sqlQuery = session.createSQLQuery(sb.toString());
- List<Object[]> list = sqlQuery.list();
- for (Object[] objArr : list) {
- map.put((String) objArr[0], ((BigDecimal) objArr[1]).intValue());
- }
- return map;
- }
- });
- }
-
- public List<UserInfo> getUserListByUid(long uid) {
- List<UserInfo> list = userInfoDao.list("from UserInfo u where u.id = ? ", new Serializable[] { uid });
- return list;
- }
-
- public double getFreezeAssets(final double min) {
- return (Double) userInfoDao.excute(new HibernateCallback<Double>() {
-
- public Double doInHibernate(Session session) throws HibernateException {
- Query query = session.createSQLQuery(
- "select IFNULL(sum(u.my_hongBao),0) from yeshi_ec_user u where u.my_hongBao < ? ");
- query.setParameter(0, min);
- Double result = Double.parseDouble(query.uniqueResult() + "");
- return result.doubleValue();
- }
- });
- }
-
- public double getCanAssets(final double min) {
- return (Double) userInfoDao.excute(new HibernateCallback<Double>() {
-
- public Double doInHibernate(Session session) throws HibernateException {
- Query query = session.createSQLQuery(
- "select IFNULL(sum(u.my_hongBao),0) from yeshi_ec_user u where u.my_hongBao >= ? ");
- query.setParameter(0, min);
- Double result = Double.parseDouble(query.uniqueResult() + "");
- return result.doubleValue();
- }
- });
- }
-
- public long getRandomShamUser() {
- return (Long) userInfoDao.excute(new HibernateCallback<Long>() {
-
- public Long doInHibernate(Session session) throws HibernateException {
- SQLQuery sqlQuery = session
- .createSQLQuery("SELECT id FROM yeshi_ec_user WHERE login_type=-1 ORDER BY RAND() LIMIT 1");
- List list = sqlQuery.list();
- if (list.size() > 0) {
- long id = Long.parseLong(list.get(0) + "");
- return id;
- }
- return (long) 0;
- }
- });
- }
-
- @Transactional
- public boolean inviteWXUserInfo(String code, UserInfo inviter) {
- WeiXinUser weiXinUser = WXLoginUtil.getWeiXinWYUser(code);
- if (weiXinUser == null) {
- return false;
- }
- String wxUnionId = weiXinUser.getUnionid();
- UserInfo find = getUserByLoginTypeAndOpenId(Constant.WEIXIN, wxUnionId, Constant.APPID);
-
- if (find == null) {
- find = new UserInfo();
- find.setAppId(Constant.APPID);
- find.setWxUnionId(weiXinUser.getUnionid());
- String wxHeadImg = COSManager.getInstance()
- .uploadFile(HttpUtil.getAsInputStream(weiXinUser.getHeadimgurl()),
- Constant.WXHEADURL + UUID.randomUUID().toString())
- .getUrl();
- find.setPortrait(wxHeadImg);
- find.setWxPic(wxHeadImg);
- find.setNickName(weiXinUser.getNickname());
- find.setWxName(weiXinUser.getNickname());
- find.setLoginType(Constant.WEIXIN);
- find.setRank(0);
- find.setWxOpenId(weiXinUser.getOpenid());
- BusinessSystem system = new BusinessSystem(Constant.FANLI);
- system.setPlatform(1);
- find.setSystem(system);
- }
-
- try {
- threeSaleSerivce.bind(find, inviter);
- return true;
- } catch (ThreeSaleException e) {
- e.printStackTrace();
- return false;
- }
- }
-
- @Transactional
- public void unBindUserInfo(UserInfo user, int type) {
- if (type == Constant.TAOBAO) {
- user.setOpenid("");
- user.setTbName("");
- user.setTbPic("");
- if (!StringUtil.isNullOrEmpty(user.getWxOpenId())) {
- user.setLoginType(Constant.WEIXIN);
- user.setNickName(user.getWxName());
- user.setPortrait(user.getWxPic());
- }
- } else if (type == Constant.WEIXIN) {
- user.setWxName("");
- user.setWxOpenId("");
- user.setWxUnionId("");
- user.setWxPic("");
- if (!StringUtil.isNullOrEmpty(user.getOpenid())) {
- user.setLoginType(Constant.TAOBAO);
- user.setNickName(user.getTbName());
- user.setPortrait(user.getTbPic());
- }
- }
- userInfoDao.update(user);
- }
-
- @Transactional
- public void addMoney(UserInfo userInfo, BigDecimal money) {
-
- userInfoDao.excute(new HibernateCallback() {
- @Override
- public Object doInHibernate(Session session) throws HibernateException {
- Query query = session.createQuery("update UserInfo u set u.myHongBao = u.myHongBao + ? where u.id = ?");
- query.setParameter(0, money);
- query.setParameter(1, userInfo.getId());
- query.executeUpdate();
- return null;
- }
- });
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<UserInfo> findFriends(long id, int type) {
- List<UserInfo> list;
- if (type == 1) {
- list = userInfoDao.list("select ts.worker from ThreeSale ts where ts.boss.id = ?",
- new Serializable[] { id });
- } else {
- list = (List<UserInfo>) userInfoDao.excute(new HibernateCallback<List<UserInfo>>() {
- @Override
- public List<UserInfo> doInHibernate(Session session) throws HibernateException {
- SQLQuery query = session.createSQLQuery(
- "select uu.* from yeshi_ec_user uu left join (SELECT trw.`worker_id` as id FROM yeshi_ec_threesale trw RIGHT JOIN "
- + "(SELECT tr.`worker_id` AS id FROM `yeshi_ec_threesale` tr LEFT JOIN `yeshi_ec_user` u ON tr.`boss_id`=u.`id` WHERE tr.`boss_id`=?) nu ON nu.id = trw.`boss_id`"
- + "WHERE nu.id = trw.`boss_id`) u on uu.id=u.id where uu.id=u.id");
- query.setParameter(0, id);
- query.addEntity(UserInfo.class);
- return query.list();
- }
- });
- }
- return list;
- }
-
- @Override
- public int findFriendsCount(long id, int type) {
- if (type == 1) {
- return (int) userInfoDao.getCount("select count(*) from ThreeSale ts where ts.boss.id = ? and ts.state=1",
- new Serializable[] { id });
- } else {
- return (int) userInfoDao.getCountSQL(" from yeshi_ec_threesale trw RIGHT JOIN "
- + "(SELECT tr.`worker_id` AS id FROM `yeshi_ec_threesale` tr LEFT JOIN `yeshi_ec_user` u ON tr.`boss_id`=u.`id` WHERE tr.`boss_id`=? and tr.state=1) nu ON nu.id = trw.`boss_id`"
- + "WHERE nu.id = trw.`boss_id` and trw.state=1", new Serializable[] { id });
- }
- }
-
- @Override
- public void updateLoginInfo(UserInfo user) {
- userInfoDao.excute(new HibernateCallback() {
- @Override
- public Object doInHibernate(Session session) throws HibernateException {
- SQLQuery query = session
- .createSQLQuery("update yeshi_ec_user u set u.loginip=?,u.last_logintime=? where u.id = ?");
- query.setParameter(0, user.getLastLoginIp());
- query.setParameter(1, user.getLastLoginTime());
- query.setParameter(2, user.getId());
- return query.executeUpdate();
- }
- });
- }
-
- @Override
- public List<InviteUser> getFriendsList(final long id, int type, int page, int pageSize) {
- List<InviteUser> list = null;
- if (type == 1) {
- list = userInfoDao.getHibernateTemplate().execute(new HibernateCallback<List<InviteUser>>() {
- @Override
- public List<InviteUser> doInHibernate(Session session) throws HibernateException {
- List list = session
- .createSQLQuery(
- "SELECT u.id,u.`nick_name`,u.`portrait`,uu.state FROM (SELECT t.* FROM `yeshi_ec_threesale` t "
- + "WHERE t.`boss_id`=? AND (t.expire = 0 OR t.expire IS NULL) ORDER BY t.createTime DESC) uu LEFT JOIN yeshi_ec_user u ON u.`id`=uu.worker_id")
- .setParameter(0, id).setFirstResult((page - 1) * pageSize).setMaxResults(pageSize).list();
- return covertToInviteUserList(list);
- }
- });
- } else {
- list = userInfoDao.getHibernateTemplate().execute(new HibernateCallback<List<InviteUser>>() {
- @Override
- public List<InviteUser> doInHibernate(Session session) throws HibernateException {
- List list = session
- .createSQLQuery(
- "SELECT u.id,u.`nick_name`,u.`portrait`,uu.state FROM (SELECT tt.* FROM `yeshi_ec_threesale` t LEFT JOIN yeshi_ec_threesale tt ON tt.`boss_id`=t.`worker_id` "
- + " WHERE t.`boss_id`=? AND tt.`id` IS NOT NULL AND (tt.expire = 0 OR tt.expire IS NULL) ORDER BY tt.createTime DESC) uu LEFT JOIN yeshi_ec_user u ON u.`id`=uu.worker_id")
- .setParameter(0, id).setFirstResult((page - 1) * pageSize).setMaxResults(pageSize).list();
- return covertToInviteUserList(list);
- }
- });
- }
- return list;
- }
-
- private List<InviteUser> covertToInviteUserList(List list) {
- List<InviteUser> ilist = new ArrayList<>();
- if (list != null)
- for (int i = 0; i < list.size(); i++) {
- Object[] objs = (Object[]) list.get(i);
- InviteUser inviteUser = new InviteUser();
- UserInfo user = new UserInfo();
- user.setId(Long.parseLong(objs[0] + ""));
- user.setNickName(objs[1] + "");
- user.setPortrait(objs[2] + "");
- inviteUser.setUserInfo(user);
- inviteUser.setValid(Boolean.parseBoolean(objs[3] + ""));
- ilist.add(inviteUser);
- }
- return ilist;
- }
-
- @Override
- public void cleanPassword(long id) {
- userInfoMapper.cleanPassword(id);
- }
-
- @Override
- public long getFriendsListCount(long id, int type) {
- if (type == 1)
- return userInfoDao.getCountSQL("SELECT COUNT(t.`id`) FROM `yeshi_ec_threesale` t WHERE t.`boss_id`= " + id
- + " AND (t.expire = 0 OR t.expire IS NULL)");
- else
- return userInfoDao.getCountSQL(
- "SELECT COUNT(tt.id) FROM `yeshi_ec_threesale` t LEFT JOIN yeshi_ec_threesale tt ON tt.`boss_id`=t.`worker_id` WHERE t.`boss_id`="
- + id + " AND tt.`id` IS NOT NULL AND (tt.expire = 0 OR tt.expire IS NULL)");
- }
-
- @Override
- public BigDecimal getNewPeopleHB(Long id) {
- return userInfoMapper.getNewPeopleHB(id);
- }
-
- @Override
- public UserInfo getUserByIdWithMybatis(long uid) {
- UserInfo user = userInfoMapper.selectByPKey(uid);
- return UserUtil.filterForClientUser(user);
- }
-
- @Override
- public long queryCount(Integer userState, String key, Integer keyType, String userRank, Integer days,
- String startTime, String endTime) {
- return userInfoMapper.queryCount(userState, key, keyType, userRank, days, startTime, endTime);
- }
-
- @Override
- public List<UserInfoVO> query(long start, int count, Integer userState, String key, Integer keyType,
- String userRank, Integer days, String startTime, String endTime, Integer orderField, Integer orderMode) {
-
- List<UserInfoVO> userList = userInfoMapper.query(start, count, userState, key, keyType, userRank, days,
- startTime, endTime, orderField, orderMode);
-
- if (userList == null || userList.size() == 0) {
- return null;
- }
-
- for (UserInfoVO userInfoVO : userList) {
- // 鏁版嵁鍔犲伐澶勭悊
- convertUserInfoVOData(userInfoVO);
- }
-
- return userList;
- }
-
- public void convertUserInfoVOData(UserInfoVO userInfoVO) {
-
- String rankName = userInfoVO.getRankName();
- if (rankName == null || rankName.trim().length() == 0) {
- userInfoVO.setRankName("闈掗摐");
- userInfoVO.setRankPicture("http://img.flqapp.com/resource/rank/rank_picture_new_1.png");
- }
-
- String f_alipayAccount = userInfoVO.getAlipayAccountInvalid();
- if (f_alipayAccount != null && f_alipayAccount.trim().length() > 0) {
- userInfoVO.setAlipayAccountState(1);
- }
-
- String f_phone = userInfoVO.getPhoneInvalid();
- if (f_phone != null && f_phone.trim().length() > 0) {
- userInfoVO.setPhoneState(1);
- }
-
- String f_taobaoUid = userInfoVO.getTaobaoUidInvalid();
- if (f_taobaoUid != null && f_taobaoUid.trim().length() > 0) {
- userInfoVO.setTaobaoUidState(1);
- }
-
- String f_wxUnionId = userInfoVO.getWxUnionIdInvalid();
- if (f_wxUnionId != null && f_wxUnionId.trim().length() > 0) {
- userInfoVO.setWxUnionIdState(1);
- }
-
- // 鏈�杩戠櫥褰曟椂闂�
- Long lastLoginTime = userInfoVO.getLastLoginTime();
- if (lastLoginTime != null && lastLoginTime == 0) {
- userInfoVO.setLastLoginTime(null);
- }
-
-
- //鏄剧ず鐢ㄦ埛寰俊 娣樺疂 鑰佺増鏈瓨鍦�
- String wxUnionId = userInfoVO.getWxUnionId();
- if (wxUnionId == null || wxUnionId.trim().length() == 0) {
- userInfoVO.setWxName(null);
- }
-
- // 鏄惁缁戝畾鏀粯瀹濓紙璐拱 + 鍒嗕韩鏉冮檺锛�
- String taoBaoUid = userInfoVO.getTaoBaoUid();
- String tbSpecialId = userInfoVO.getTbSpecialId();
- String tbRelationId = userInfoVO.getTbRelationId();
- if (StringUtil.isNullOrEmpty(taoBaoUid) || StringUtil.isNullOrEmpty(tbSpecialId) || StringUtil.isNullOrEmpty(tbRelationId)) {
- userInfoVO.setTbName(null);
- userInfoVO.setTaoBaoUid(null);
- }
-
- Long uid = userInfoVO.getId();
- /* 缁戝畾鏀舵璐﹀彿淇℃伅 */
- List<BindingAccount> account = bindingAccountMapper.selectByUid(uid);
- if (account != null && account.size() > 0) {
- BindingAccount bindingAccount = account.get(0);
- Integer type = bindingAccount.getType();
- if (type != null && type == 1) {
- // 鏀粯瀹�
- userInfoVO.setAccountAlipay(bindingAccount.getAccount());
- userInfoVO.setAccountName(bindingAccount.getName());
- userInfoVO.setAccountBindId(bindingAccount.getId());
-
- } else if (type != null && type == 2) {
- // 寰俊
- userInfoVO.setAccountWX(bindingAccount.getAccount());
- userInfoVO.setAccountNameWX(bindingAccount.getName());
- userInfoVO.setAccountBindIdWX(bindingAccount.getId());
- }
- }
-
- // 鏈�杩戜竴娆′笅鍗曟椂闂�
- Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid);
- if (lastOrderTime != null && lastOrderTime.getTime() != 0) {
- userInfoVO.setLastOrderTime(lastOrderTime.getTime());
- }
-
- // 浠婃棩鎬昏鍗�
- long todayOrder = hongBaoV2CountService.countValidNumberByUid(uid, 1);
- userInfoVO.setTodayOrder(todayOrder);
-
- // 鏈鍙栫孩鍖� 寰呭叆璐﹂噾棰�
- BigDecimal unaccountedMoney = hongBaoV2CountService.countWillGetMoneyByUid(uid);
- if (unaccountedMoney == null) {
- unaccountedMoney = new BigDecimal(0);
- }
- userInfoVO.setUnaccountedMoney(unaccountedMoney.toString());
-
- // 鍘嗗彶鎬绘敹鐩�
- BigDecimal totalMoneyHistory = hongBaoV2CountService.countMoneyByUidAndState(uid, 3);
- if (totalMoneyHistory == null) {
- totalMoneyHistory = new BigDecimal(0);
- }
- userInfoVO.setTotalMoneyHistory(totalMoneyHistory.toString());
-
- // 鏀粯瀹濊处鍙� 绱杞处鎬婚噾棰�
- double totalMoney = payInfoMapper.sumMoneyByUid(uid);
- userInfoVO.setTotalMoney(totalMoney);
-
- // 绱鎻愮幇 (鏆傛湭璁″叆寰俊)
- userInfoVO.setTotalExtract(totalMoney);
-
- // 缁熻鍒嗕韩涓暟
- long countUserShares = userShareGoodsHistoryMapper.countUserShares(uid);
- userInfoVO.setCountUserShares(countUserShares);
-
- // 缁熻娴忚瓒宠抗
- long countScanHistory = scanHistoryMapper.countUserScanHistory(uid);
- userInfoVO.setCountScanHistory(countScanHistory);
-
- // 涓�搴﹂槦鍛樻暟閲�
- int firstTeamCount = shareMapper.myFirstTeamCount(uid + "");
- userInfoVO.setCountLevelOne(firstTeamCount);
-
- // 浜屽害闃熷憳鏁伴噺
- int secondTeamCount = shareMapper.mySecondTeamCount(uid + "");
- userInfoVO.setCountLevelTwo(secondTeamCount);
- }
-
- @Override
- public double querySumMoney(String key, Integer userType, Integer days, String startTime, String endTime) {
- return userInfoMapper.querySumMoney(key, userType, days, startTime, endTime);
- }
-
- @Override
- public UserInfo selectByPKey(Long id) {
- return userInfoMapper.selectByPKey(id);
- }
-
- @Override
- public int updateByPrimaryKeySelective(UserInfo record) {
- return userInfoMapper.updateByPrimaryKeySelective(record);
- }
-
- @Override
- @Transactional
- public void deleteBindInfo(UserInfo user, int type) {
- if (type == 1) {
- user.setOpenid("");
- user.setTbName("");
- user.setTbPic("");
- if (!StringUtil.isNullOrEmpty(user.getWxOpenId())) {
- user.setLoginType(Constant.WEIXIN);
- user.setNickName(user.getWxName());
- user.setPortrait(user.getWxPic());
- }
- } else if (type == 2) {
- user.setWxName("");
- user.setWxOpenId("");
- user.setWxUnionId("");
- user.setWxPic("");
- if (!StringUtil.isNullOrEmpty(user.getOpenid())) {
- user.setLoginType(Constant.TAOBAO);
- user.setNickName(user.getTbName());
- user.setPortrait(user.getTbPic());
- }
- } else if (type == 3) {
- user.setPhone("");
- }
-
- userInfoMapper.updateByPrimaryKeySelective(user);
- }
-
- @Override
- public List<Long> longTimeNoLogin(int daysNum, List<Long> list) {
- return userInfoMapper.longTimeNoLogin(daysNum, list);
- }
-
- /**
- * 鏍规嵁鐢佃瘽鍙风爜銆侀個璇风爜鑾峰彇閭�璇风敤鎴�
- *
- * @param phone
- * @param inviteCode
- * @return
- */
- @Override
- public UserInfo getInfoByPhoneOrInviteCode(String phone, String inviteCode) {
- return userInfoMapper.getInfoByPhoneOrInviteCode(phone, inviteCode);
- }
-
- @Override
- public UserInfo getEffectiveUserInfoByPhone(String phone) {
- return userInfoMapper.getEffectiveUserInfoByPhone(phone);
- }
-
- @Override
- public UserInfo getEffectiveUserInfoByWXUnionId(String unionId) {
- return userInfoMapper.getEffectiveUserInfoByWXUnionId(unionId);
- }
-
- @Override
- public UserInfo getUserInfo(Long uid) throws UserInfoException {
- if (uid == null) {
- throw new UserInfoException(1, "璇锋眰鍙傛暟涓虹┖");
- }
-
- UserInfo userInfo = userInfoMapper.selectByPKey(uid);
- if (userInfo == null) {
- throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
- }
-
- if (userInfo.getState() == UserInfo.STATE_FORBIDDEN) {
- throw new UserInfoException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
- }
-
- if (userInfo.getState() != UserInfo.STATE_NORMAL) {
- throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
- }
-
- // 娣樺疂鏄电О 缁勭粐
- boolean clearOpenid = true;
- UserExtraTaoBaoInfo extraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
- if (extraTaoBaoInfo != null) {
- String specialId = extraTaoBaoInfo.getSpecialId();
- String relationId = extraTaoBaoInfo.getRelationId();
- String taoBaoNickName = extraTaoBaoInfo.getTaoBaoNickName();
-
- if (!StringUtil.isNullOrEmpty(specialId) && !StringUtil.isNullOrEmpty(relationId)) {
- clearOpenid = false;
- userInfo.setOpenid(extraTaoBaoInfo.getTaoBaoUid());
-
- if (!StringUtil.isNullOrEmpty(taoBaoNickName)) {
- userInfo.setTbName(taoBaoNickName);
- } else {
- String taoBaoUserNick = taoBaoUnionAuthRecordService.getTaoBaoUserNick(uid);
- if (!StringUtil.isNullOrEmpty(taoBaoUserNick)) {
- userInfo.setTbName(taoBaoUserNick);
- }
- }
- }
- }
-
- if (clearOpenid) {
- userInfo.setOpenid(null);
- }
-
- return userInfo;
- }
-
- @Override
- public BigDecimal getBalance(Long uid) {
- UserInfo user = userInfoMapper.selectByPKey(uid);
- if (user != null)
- return user.getMyHongBao();
- return null;
- }
-
- @Override
- public void uploadPortrait(MultipartFile file, Long uid) throws UserInfoException, IOException {
-
- UserInfo userInfo = userInfoMapper.selectByPKey(uid);
- if (userInfo == null) {
- throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
- }
-
- // 璋锋瓕鍘嬬缉鍥剧墖
- String targetPath = FileUtil.getCacheDir() + "/uploadPortrait_" + uid + "_" + System.currentTimeMillis()
- + ".jpg";
- Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath);
-
- // 鎵ц涓婁紶
- String filePath = "/img/user/" + UUID.randomUUID().toString().replace("-", "") + ".jpg";
- String fileLink = COSManager.getInstance().uploadFile(new File(targetPath), filePath).getUrl();
-
- // 鍒犻櫎鏈湴鍥剧墖
- if (new File(targetPath).exists()) {
- new File(targetPath).delete();
- }
-
- // 鍘熷ご鍍�
- String portrait = userInfo.getPortrait();
-
- // 鏇存柊淇℃伅
- userInfo.setPortrait(fileLink);
- userInfoMapper.updateByPrimaryKeySelective(userInfo);
-
- // 鍒犻櫎鍘熷ご鍍�
- if (!StringUtil.isNullOrEmpty(portrait) && portrait.contains("/img/user/")) {
- COSManager.getInstance().deleteFile(portrait);
- }
-
- userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.portrait, fileLink);
-
- executor.execute(new Runnable() {
- @Override
- public void run() {
- try {
- // 鍒犻櫎鍒嗕韩澶村儚淇℃伅
- spreadUserImgService.deleteImgUrl(uid);
- } catch (Exception e) {
- try {
- LogHelper.errorDetailInfo(e);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
- }
- });
- }
-
- @Override
- public void saveUserInfo(String nickName, Long uid) throws UserInfoException {
- UserInfo userInfo = userInfoMapper.selectByPKey(uid);
- if (userInfo == null) {
- throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
- }
-
- userInfo.setNickName(nickName);
- userInfoMapper.updateByPrimaryKeySelective(userInfo);
- }
-
-}
+package com.yeshi.fanli.service.impl.user;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
+
+import javax.annotation.Resource;
+
+import com.yeshi.fanli.entity.SystemEnum;
+import com.yeshi.fanli.entity.config.SystemConfigKeyEnum;
+import com.yeshi.fanli.service.inter.config.SystemConfigService;
+import com.yeshi.fanli.util.*;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.core.task.TaskExecutor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
+import org.yeshi.utils.FileUtil;
+import org.yeshi.utils.HttpUtil;
+import org.yeshi.utils.tencentcloud.COSManager;
+
+import com.google.gson.Gson;
+import com.yeshi.fanli.dao.mybatis.BindingAccountMapper;
+import com.yeshi.fanli.dao.mybatis.PayInfoMapper;
+import com.yeshi.fanli.dao.mybatis.ScanHistoryMapper;
+import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
+import com.yeshi.fanli.dao.mybatis.UserShareGoodsHistoryMapper;
+import com.yeshi.fanli.dao.mybatis.share.ShareMapper;
+import com.yeshi.fanli.entity.bus.user.BindingAccount;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.UserInfoModifyRecord.ModifyTypeEnum;
+import com.yeshi.fanli.exception.user.UserInfoException;
+import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
+import com.yeshi.fanli.service.inter.order.CommonOrderCountService;
+import com.yeshi.fanli.service.inter.user.SpreadUserImgService;
+import com.yeshi.fanli.service.inter.user.UserInfoModifyRecordService;
+import com.yeshi.fanli.service.inter.user.UserInfoService;
+import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.user.tb.TaoBaoUnionAuthRecordService;
+import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
+import com.yeshi.fanli.util.account.UserUtil;
+import com.yeshi.fanli.util.user.UserLevelUtil;
+import com.yeshi.fanli.vo.user.UserInfoVO;
+
+import net.coobird.thumbnailator.Thumbnails;
+
+@Service
+public class UserInfoServiceImpl implements UserInfoService {
+
+ @Resource(name = "taskExecutor")
+ private TaskExecutor executor;
+
+ @Resource
+ private ThreeSaleSerivce threeSaleSerivce;
+
+ @Resource
+ private UserInfoMapper userInfoMapper;
+
+ @Resource
+ private BindingAccountMapper bindingAccountMapper;
+
+ @Resource
+ private PayInfoMapper payInfoMapper;
+
+ @Resource
+ private UserShareGoodsHistoryMapper userShareGoodsHistoryMapper;
+
+ @Resource
+ private ScanHistoryMapper scanHistoryMapper;
+
+ @Resource
+ private HongBaoV2CountService hongBaoV2CountService;
+
+ @Lazy
+ @Resource
+ private CommonOrderCountService commonOrderCountService;
+
+ @Resource
+ private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+ @Resource
+ private TaoBaoUnionAuthRecordService taoBaoUnionAuthRecordService;
+
+ @Resource
+ private SpreadUserImgService spreadUserImgService;
+
+ @Lazy
+ @Resource
+ private IntegralDetailService integralDetailService;
+
+ @Lazy
+ @Resource
+ private UserInfoModifyRecordService userInfoModifyRecordService;
+
+ @Resource
+ private RedisManager redisManager;
+
+ @Resource
+ private SystemConfigService systemConfigService;
+
+
+ public UserInfo getUserByLoginTypeAndOpenId(int loginType, String openid, SystemEnum sysetm) {
+ List<UserInfo> list = null;
+ UserInfoMapper.DaoQuery daoQuery = new UserInfoMapper.DaoQuery();
+ daoQuery.system = sysetm;
+ daoQuery.count = 1000;
+ if (loginType == 1) {
+ daoQuery.openId = openid;
+ } else {
+ daoQuery.wxUnionId = openid;
+ }
+ list = userInfoMapper.list(daoQuery);
+
+
+ if (list != null)
+ for (int i = 0; i < list.size(); i++) {
+ if (list.get(i).getState() == UserInfo.STATE_DELETE
+ || list.get(i).getState() == UserInfo.STATE_DELETE_OUT_OF_DATE) {
+ list.remove(i);
+ i--;
+ }
+ }
+
+ if (list != null && list.size() > 0) {
+ return list.get(0);
+ }
+ return null;
+ }
+
+ @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
+ public UserInfo addUser(UserInfo form, SystemEnum sysetm) {
+ try {
+ LogHelper.test("鐢ㄦ埛鐨勬敞鍐屼俊鎭�:" + new Gson().toJson(form));
+ form.setCreatetime(new Date().getTime());
+ form.setRank(0);
+ String openId = form.getLoginType() == Constant.TAOBAO ? form.getOpenid() : form.getWxUnionId();
+ UserInfo find = getUserByLoginTypeAndOpenId(form.getLoginType(), openId, sysetm);
+ if (find != null) {
+ return find;
+ }
+ boolean create = createUser(form, sysetm);
+ if (!create) {
+ return null;
+ }
+ int loginType = form.getLoginType();
+ // 寤虹殑鍋囩敤鎴枫�傘��
+ if (loginType == -1) {
+ return form;
+ }
+
+ LogHelper.userInfo("娣诲姞鐢ㄦ埛:" + form);
+ if (form.getLoginType() == Constant.WEIXIN) {
+ ThreadUtil.run(new Runnable() {
+ public void run() {
+ UserInfo temp = userInfoMapper.selectByPrimaryKey(form.getId());
+ COSManager cosManager = COSManager.getInstance();
+ InputStream inputStream = HttpUtil.getAsInputStream(temp.getPortrait());
+ String uploadFile = cosManager.uploadFile(inputStream, FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString()).getUrl();
+ UserInfo updateTemp = new UserInfo(temp.getId());
+ updateTemp.setPortrait(uploadFile);
+ userInfoMapper.updateByPrimaryKeySelective(updateTemp);
+ }
+ });
+ }
+ } catch (Exception e) {
+ try {
+ LogHelper.errorDetailInfo(e);
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ return null;
+ }
+ return form;
+ }
+
+ @Transactional
+ public boolean createUser(UserInfo form, SystemEnum sysetm) {
+ long maxUid = userInfoMapper.getMaxUid();
+ long dd = (long) (Math.random() * 100);
+ if (dd == 0) {
+ dd = 1;
+ }
+ long bid = maxUid;
+ long id = bid + dd;
+
+ form.setId(id);
+ form.setSystem(sysetm);
+ userInfoMapper.insertSelective(form);
+ return true;
+ }
+
+ public UserInfo getUserById(long uid) {
+ UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
+ if (user.getState() != null && user.getState() != UserInfo.STATE_NORMAL)
+ return null;
+ if (user != null) {
+ user.setRankIcon(UserUtil.getRankIcon(user.getRank()));
+ user.setRankNamePicture(UserUtil.getRankNamePicture(user.getRank()));
+ }
+ return user;
+ }
+
+ @Transactional
+ public void update(UserInfo user) {
+ userInfoMapper.updateByPrimaryKeySelective(user);
+ }
+
+ public long getUserCount() {
+ return userInfoMapper.countAvaiableUser();
+ }
+
+
+ @Transactional
+ public void unBindUserInfo(UserInfo user, int type) {
+ if (type == Constant.TAOBAO) {
+ user.setOpenid("");
+ user.setTbName("");
+ user.setTbPic("");
+ if (!StringUtil.isNullOrEmpty(user.getWxOpenId())) {
+ user.setLoginType(Constant.WEIXIN);
+ user.setNickName(user.getWxName());
+ user.setPortrait(user.getWxPic());
+ }
+ } else if (type == Constant.WEIXIN) {
+ user.setWxName("");
+ user.setWxOpenId("");
+ user.setWxUnionId("");
+ user.setWxPic("");
+ if (!StringUtil.isNullOrEmpty(user.getOpenid())) {
+ user.setLoginType(Constant.TAOBAO);
+ user.setNickName(user.getTbName());
+ user.setPortrait(user.getTbPic());
+ }
+ }
+ userInfoMapper.updateByPrimaryKeySelective(user);
+ }
+
+ @Transactional
+ public void addMoney(UserInfo userInfo, BigDecimal money) {
+ userInfoMapper.addHongBaoByUid(userInfo.getId(), money);
+ }
+
+ @Override
+ public void updateLoginInfo(UserInfo user) {
+ UserInfo update = new UserInfo(user.getId());
+ update.setLastLoginIp(user.getLastLoginIp());
+ update.setLastLoginTime(user.getLastLoginTime());
+ userInfoMapper.updateByPrimaryKeySelective(update);
+ }
+
+ @Override
+ public void cleanPassword(long id) {
+ userInfoMapper.cleanPassword(id);
+ }
+
+ @Override
+ public BigDecimal getNewPeopleHB(Long id) {
+ return userInfoMapper.getNewPeopleHB(id);
+ }
+
+ @Override
+ public UserInfo getUserByIdWithMybatis(long uid) {
+ UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
+ return UserUtil.filterForClientUser(user);
+ }
+
+
+ @Override
+ public long countInfo(Integer userState, String key, Integer keyType, String userRank, Integer days,
+ String startTime, String endTime, Integer userType, String level, Integer activeCode, SystemEnum system) {
+ return userInfoMapper.countInfo(userState, key, keyType, userRank, days, startTime, endTime, userType, level, activeCode, system);
+ }
+
+ @Override
+ public List<UserInfoVO> queryInfo(long start, int count, Integer userState, String key, Integer keyType,
+ String userRank, Integer days, String startTime, String endTime, Integer userType, String level, Integer activeCode, SystemEnum system) {
+
+ List<UserInfoVO> userList = userInfoMapper.queryInfo(start, count, userState, key, keyType, userRank, days,
+ startTime, endTime, userType, level, activeCode, system);
+
+ if (userList == null || userList.size() == 0) {
+ return null;
+ }
+
+ for (UserInfoVO userInfoVO : userList) {
+ Long uid = userInfoVO.getId();
+ String rankName = userInfoVO.getRankName();
+ if (rankName == null || rankName.trim().length() == 0) {
+ userInfoVO.setRankName("闈掗摐");
+ userInfoVO.setRankPicture("http://img.flqapp.com/resource/rank/rank_picture_new_1.png");
+ }
+
+ String userLevel = userInfoVO.getUserLevel();
+ if (!StringUtil.isNullOrEmpty(userLevel)) {
+ userInfoVO.setUserLevel(UserLevelUtil.getByEnumName(userLevel).getName());
+ }
+ // 绱鎻愮幇
+ userInfoVO.setTotalExtract(payInfoMapper.sumMoneyByUid(uid));
+
+ // 绱璁㈠崟鏁伴噺
+ userInfoVO.setTotalOrder(commonOrderCountService.countHistoryOrderNum(uid));
+
+ // 绱鍏戞崲閲戝竵
+ userInfoVO.setTotalGoldCoinUsed(Math.abs(integralDetailService.sumUseGoldCoin(uid)));
+
+ // 閭�璇蜂汉
+ UserInfo boss = threeSaleSerivce.getBoss(uid);
+ if (boss == null) {
+ userInfoVO.setBossName("");
+ } else {
+ userInfoVO.setBossName("閭�璇蜂汉锛�" + boss.getNickName());
+ }
+
+ // 寰俊鍙�
+ String wxId = userInfoVO.getWxId();
+ if (StringUtil.isNullOrEmpty(wxId)) {
+ userInfoVO.setWxId("");
+ } else {
+ userInfoVO.setWxId("寰俊鍙�:" + wxId);
+ }
+ }
+
+ return userList;
+ }
+
+ @Override
+ public List<UserInfo> listBySystemAndWXUnionId(SystemEnum system, String unionId) {
+ UserInfoMapper.DaoQuery daoQuery = new UserInfoMapper.DaoQuery();
+ daoQuery.system = system;
+ daoQuery.count = 1000;
+ daoQuery.wxUnionId = unionId;
+
+ return userInfoMapper.list(daoQuery);
+ }
+
+ @Override
+ public List<UserInfo> listBySystemAndTaoBaoOpenId(SystemEnum system, String openId) {
+ UserInfoMapper.DaoQuery daoQuery = new UserInfoMapper.DaoQuery();
+ daoQuery.system = system;
+ daoQuery.count = 1000;
+ daoQuery.openId = openId;
+ return userInfoMapper.list(daoQuery);
+ }
+
+ @Override
+ public List<UserInfo> listBySystemAndPhone(SystemEnum system, String phone) {
+ UserInfoMapper.DaoQuery daoQuery = new UserInfoMapper.DaoQuery();
+ daoQuery.system = system;
+ daoQuery.count = 1000;
+ daoQuery.phone = phone;
+ return userInfoMapper.list(daoQuery);
+ }
+
+ @Override
+ public SystemEnum getUserSystem(Long uid) {
+ String value = redisManager.getCommonString(RedisKeyEnum.getRedisKey(RedisKeyEnum.userSystem, uid + ""));
+ if (!StringUtil.isNullOrEmpty(value)) {
+ return SystemEnum.valueOf(value);
+ }
+ UserInfo user = selectByPKey(uid);
+ if (user != null) {
+ //淇濆瓨1澶�
+ redisManager.cacheCommonString(RedisKeyEnum.getRedisKey(RedisKeyEnum.userSystem, uid + ""), user.getSystem().name(), 60 * 60 * 24);
+ return user.getSystem();
+ }
+ return null;
+ }
+
+
+ @Override
+ public long queryCount(Integer userState, String key, Integer keyType, String userRank, Integer days,
+ String startTime, String endTime, Integer userType, String level, Integer activeCode, SystemEnum system) {
+ return userInfoMapper.queryCount(userState, key, keyType, userRank, days, startTime, endTime, userType, level, activeCode, system);
+ }
+
+ @Override
+ public List<UserInfoVO> query(long start, int count, Integer userState, String key, Integer keyType,
+ String userRank, Integer days, String startTime, String endTime, Integer orderField, Integer orderMode,
+ Integer userType, String level, Integer activeCode, SystemEnum system) {
+
+ List<UserInfoVO> userList = userInfoMapper.query(start, count, userState, key, keyType, userRank, days,
+ startTime, endTime, orderField, orderMode, userType, level, activeCode, system);
+
+ if (userList == null || userList.size() == 0) {
+ return null;
+ }
+
+ for (UserInfoVO userInfoVO : userList) {
+ // 鏁版嵁鍔犲伐澶勭悊
+ convertUserInfoVOData(userInfoVO);
+ }
+
+ return userList;
+ }
+
+ public void convertUserInfoVOData(UserInfoVO userInfoVO) {
+ String rankName = userInfoVO.getRankName();
+ if (rankName == null || rankName.trim().length() == 0) {
+ userInfoVO.setRankName("闈掗摐");
+ userInfoVO.setRankPicture("http://img.flqapp.com/resource/rank/rank_picture_new_1.png");
+ }
+
+ String f_alipayAccount = userInfoVO.getAlipayAccountInvalid();
+ if (f_alipayAccount != null && f_alipayAccount.trim().length() > 0) {
+ userInfoVO.setAlipayAccountState(1);
+ }
+
+ String f_phone = userInfoVO.getPhoneInvalid();
+ if (f_phone != null && f_phone.trim().length() > 0) {
+ userInfoVO.setPhoneState(1);
+ }
+
+ String f_taobaoUid = userInfoVO.getTaobaoUidInvalid();
+ if (f_taobaoUid != null && f_taobaoUid.trim().length() > 0) {
+ userInfoVO.setTaobaoUidState(1);
+ }
+
+ String f_wxUnionId = userInfoVO.getWxUnionIdInvalid();
+ if (f_wxUnionId != null && f_wxUnionId.trim().length() > 0) {
+ userInfoVO.setWxUnionIdState(1);
+ }
+
+ // 鏈�杩戠櫥褰曟椂闂�
+ Long lastLoginTime = userInfoVO.getLastLoginTime();
+ if (lastLoginTime != null && lastLoginTime == 0) {
+ userInfoVO.setLastLoginTime(null);
+ }
+
+ // 鏄剧ず鐢ㄦ埛寰俊 娣樺疂 鑰佺増鏈瓨鍦�
+ String wxUnionId = userInfoVO.getWxUnionId();
+ if (wxUnionId == null || wxUnionId.trim().length() == 0) {
+ userInfoVO.setWxName(null);
+ }
+
+ // 鏄惁缁戝畾鏀粯瀹濓紙璐拱 + 鍒嗕韩鏉冮檺锛�
+ String taoBaoUid = userInfoVO.getTaoBaoUid();
+ String tbSpecialId = userInfoVO.getTbSpecialId();
+ String tbRelationId = userInfoVO.getTbRelationId();
+ if (StringUtil.isNullOrEmpty(taoBaoUid) || StringUtil.isNullOrEmpty(tbSpecialId)
+ || StringUtil.isNullOrEmpty(tbRelationId)) {
+ userInfoVO.setTbName(null);
+ userInfoVO.setTaoBaoUid(null);
+ }
+
+ Long uid = userInfoVO.getId();
+ /* 缁戝畾鏀舵璐﹀彿淇℃伅 */
+ List<BindingAccount> account = bindingAccountMapper.selectByUid(uid);
+ if (account != null && account.size() > 0) {
+ BindingAccount bindingAccount = account.get(0);
+ Integer type = bindingAccount.getType();
+ if (type != null && type == 1) {
+ // 鏀粯瀹�
+ userInfoVO.setAccountAlipay(bindingAccount.getAccount());
+ userInfoVO.setAccountName(bindingAccount.getName());
+ userInfoVO.setAccountBindId(bindingAccount.getId());
+
+ } else if (type != null && type == 2) {
+ // 寰俊
+ userInfoVO.setAccountWX(bindingAccount.getAccount());
+ userInfoVO.setAccountNameWX(bindingAccount.getName());
+ userInfoVO.setAccountBindIdWX(bindingAccount.getId());
+ }
+ }
+
+ // 鏈�杩戜竴娆′笅鍗曟椂闂�
+ Date lastOrderTime = hongBaoV2CountService.getLastHongBaoTime(uid);
+ if (lastOrderTime != null && lastOrderTime.getTime() != 0) {
+ userInfoVO.setLastOrderTime(lastOrderTime.getTime());
+ }
+
+ // 浠婃棩鎬昏鍗�
+ long todayOrder = hongBaoV2CountService.countValidNumberByUid(uid, 1);
+ userInfoVO.setTodayOrder(todayOrder);
+
+ // 鏈鍙栫孩鍖� 寰呭叆璐﹂噾棰�
+ BigDecimal unaccountedMoney = hongBaoV2CountService.countWillGetMoneyByUid(uid);
+ if (unaccountedMoney == null) {
+ unaccountedMoney = new BigDecimal(0);
+ }
+ userInfoVO.setUnaccountedMoney(unaccountedMoney.toString());
+
+ // 鍘嗗彶鎬绘敹鐩�
+ BigDecimal totalMoneyHistory = hongBaoV2CountService.countMoneyByUidAndState(uid, 3);
+ if (totalMoneyHistory == null) {
+ totalMoneyHistory = new BigDecimal(0);
+ }
+ userInfoVO.setTotalMoneyHistory(totalMoneyHistory.toString());
+
+ // 鏀粯瀹濊处鍙� 绱杞处鎬婚噾棰�
+ double totalMoney = payInfoMapper.sumMoneyByUid(uid);
+ userInfoVO.setTotalMoney(totalMoney);
+
+ // 绱鎻愮幇 (鏆傛湭璁″叆寰俊)
+ userInfoVO.setTotalExtract(totalMoney);
+
+ // 缁熻鍒嗕韩涓暟
+ long countUserShares = userShareGoodsHistoryMapper.countUserShares(uid);
+ userInfoVO.setCountUserShares(countUserShares);
+
+ // 缁熻娴忚瓒宠抗
+ long countScanHistory = scanHistoryMapper.countUserScanHistory(uid);
+ userInfoVO.setCountScanHistory(countScanHistory);
+
+ // 涓�搴﹂槦鍛樻暟閲�
+ //int firstTeamCount = shareMapper.myFirstTeamCount(uid + "");
+ //userInfoVO.setCountLevelOne(firstTeamCount);
+
+ // 浜屽害闃熷憳鏁伴噺
+ //int secondTeamCount = shareMapper.mySecondTeamCount(uid + "");
+ //userInfoVO.setCountLevelTwo(secondTeamCount);
+
+ String userLevel = userInfoVO.getUserLevel();
+ if (!StringUtil.isNullOrEmpty(userLevel)) {
+ userInfoVO.setUserLevel(UserLevelUtil.getByEnumName(userLevel).getName());
+ }
+
+ String inviteCode = userInfoVO.getInviteCode();
+ if (!StringUtil.isNullOrEmpty(inviteCode)) {
+ userInfoVO.setInviteCode("宸叉縺娲�");
+ } else {
+ userInfoVO.setInviteCode("鏈縺娲�");
+ }
+ }
+
+ @Override
+ public double querySumMoney(String key, Integer userType, Integer days, String startTime, String endTime) {
+ return userInfoMapper.querySumMoney(key, userType, days, startTime, endTime);
+ }
+
+ @Override
+ public UserInfo selectByPKey(Long id) {
+ return userInfoMapper.selectByPrimaryKey(id);
+ }
+
+ @Override
+ public int updateByPrimaryKeySelective(UserInfo record) {
+ return userInfoMapper.updateByPrimaryKeySelective(record);
+ }
+
+ @Override
+ @Transactional
+ public void deleteBindInfo(UserInfo user, int type) {
+ if (type == 1) {
+ user.setOpenid("");
+ user.setTbName("");
+ user.setTbPic("");
+ if (!StringUtil.isNullOrEmpty(user.getWxOpenId())) {
+ user.setLoginType(Constant.WEIXIN);
+ user.setNickName(user.getWxName());
+ user.setPortrait(user.getWxPic());
+ }
+ } else if (type == 2) {
+ user.setWxName("");
+ user.setWxOpenId("");
+ user.setWxUnionId("");
+ user.setWxPic("");
+ if (!StringUtil.isNullOrEmpty(user.getOpenid())) {
+ user.setLoginType(Constant.TAOBAO);
+ user.setNickName(user.getTbName());
+ user.setPortrait(user.getTbPic());
+ }
+ } else if (type == 3) {
+ user.setPhone("");
+ }
+
+ userInfoMapper.updateByPrimaryKeySelective(user);
+ }
+
+ @Override
+ public List<Long> longTimeNoLogin(int daysNum, List<Long> list) {
+ return userInfoMapper.longTimeNoLogin(daysNum, list);
+ }
+
+ /**
+ * 鏍规嵁鐢佃瘽鍙风爜銆侀個璇风爜鑾峰彇閭�璇风敤鎴�
+ *
+ * @param inviteCode
+ * @return
+ */
+ @Override
+ public UserInfo getUserInfoByInviteCode(String inviteCode) {
+ return userInfoMapper.getUserInfoByInviteCode(inviteCode);
+ }
+
+ @Override
+ public UserInfo getEffectiveUserInfoByPhone(String phone, SystemEnum system) {
+
+ UserInfoMapper.DaoQuery daoQuery = new UserInfoMapper.DaoQuery();
+ daoQuery.system = system;
+ daoQuery.count = 1000;
+ daoQuery.phone = phone;
+ daoQuery.state = UserInfo.STATE_NORMAL;
+ List<UserInfo> userInfoList = userInfoMapper.list(daoQuery);
+
+ return userInfoList != null && userInfoList.size() > 0 ? userInfoList.get(0) : null;
+ }
+
+ @Override
+ public UserInfo getEffectiveUserInfoByWXUnionId(String unionId, SystemEnum system) {
+ UserInfoMapper.DaoQuery daoQuery = new UserInfoMapper.DaoQuery();
+ daoQuery.system = system;
+ daoQuery.count = 1000;
+ daoQuery.wxUnionId = unionId;
+ daoQuery.state = UserInfo.STATE_NORMAL;
+ List<UserInfo> userInfoList = userInfoMapper.list(daoQuery);
+
+ return userInfoList != null && userInfoList.size() > 0 ? userInfoList.get(0) : null;
+
+ }
+
+ @Override
+ public UserInfo getEffectiveUserInfoByQQOpenId(String opneId, SystemEnum sysetm) {
+ UserInfoMapper.DaoQuery daoQuery = new UserInfoMapper.DaoQuery();
+ daoQuery.system = sysetm;
+ daoQuery.count = 1000;
+ daoQuery.qqOpenId = opneId;
+ daoQuery.state = UserInfo.STATE_NORMAL;
+ List<UserInfo> userInfoList = userInfoMapper.list(daoQuery);
+ return userInfoList != null && userInfoList.size() > 0 ? userInfoList.get(0) : null;
+ }
+
+ @Override
+ public UserInfo getEffectiveUserInfoByOpenId(String openId, SystemEnum sysetm) {
+ UserInfoMapper.DaoQuery daoQuery = new UserInfoMapper.DaoQuery();
+ daoQuery.system = sysetm;
+ daoQuery.count = 1000;
+ daoQuery.openId = openId;
+ daoQuery.state = UserInfo.STATE_NORMAL;
+ List<UserInfo> userInfoList = userInfoMapper.list(daoQuery);
+ return userInfoList != null && userInfoList.size() > 0 ? userInfoList.get(0) : null;
+ }
+
+ @Override
+ public UserInfo getUserInfo(Long uid) throws UserInfoException {
+ if (uid == null) {
+ throw new UserInfoException(1, "璇锋眰鍙傛暟涓虹┖");
+ }
+
+ UserInfo userInfo = userInfoMapper.selectByPrimaryKey(uid);
+ if (userInfo == null) {
+ throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
+ }
+
+ if (userInfo.getState() == UserInfo.STATE_FORBIDDEN) {
+ throw new UserInfoException(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC);
+ }
+
+ if (userInfo.getState() == UserInfo.STATE_DELETE || userInfo.getState() == UserInfo.STATE_DELETE_OUT_OF_DATE) {
+ throw new UserInfoException(Constant.CODE_FORBIDDEN_USER, "甯愭埛宸茶鍒犻櫎锛岃閲嶆柊鐧诲綍");
+ }
+
+ // 娣樺疂鏄电О 缁勭粐
+ boolean clearOpenid = true;
+ UserExtraTaoBaoInfo extraTaoBaoInfo = userExtraTaoBaoInfoService.getByUid(uid);
+ if (extraTaoBaoInfo != null) {
+ String specialId = extraTaoBaoInfo.getSpecialId();
+ String relationId = extraTaoBaoInfo.getRelationId();
+ String taoBaoNickName = extraTaoBaoInfo.getTaoBaoNickName();
+
+ if (!StringUtil.isNullOrEmpty(specialId) && !StringUtil.isNullOrEmpty(relationId)) {
+ clearOpenid = false;
+ userInfo.setOpenid(extraTaoBaoInfo.getTaoBaoUid());
+
+ if (!StringUtil.isNullOrEmpty(taoBaoNickName)) {
+ userInfo.setTbName(taoBaoNickName);
+ } else {
+ String taoBaoUserNick = taoBaoUnionAuthRecordService.getTaoBaoUserNick(uid);
+ if (!StringUtil.isNullOrEmpty(taoBaoUserNick)) {
+ userInfo.setTbName(taoBaoUserNick);
+ }
+ }
+ }
+ }
+
+ if (clearOpenid) {
+ userInfo.setOpenid(null);
+ }
+
+ return userInfo;
+ }
+
+ @Override
+ public BigDecimal getBalance(Long uid) {
+ UserInfo user = userInfoMapper.selectByPrimaryKey(uid);
+ if (user != null)
+ return user.getMyHongBao();
+ return null;
+ }
+
+ @Override
+ public void uploadPortrait(MultipartFile file, Long uid) throws UserInfoException, IOException {
+
+ UserInfo userInfo = userInfoMapper.selectByPrimaryKey(uid);
+ if (userInfo == null) {
+ throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
+ }
+
+ // 璋锋瓕鍘嬬缉鍥剧墖
+ String targetPath = FileUtil.getCacheDir() + "/uploadPortrait_" + uid + "_" + System.currentTimeMillis()
+ + ".jpg";
+ Thumbnails.of(file.getInputStream()).size(200, 200).toFile(targetPath);
+
+ // 鎵ц涓婁紶
+ String filePath = FilePathEnum.userPortrait.getPath() + UUID.randomUUID().toString().replace("-", "") + ".jpg";
+ String fileLink = COSManager.getInstance().uploadFile(new File(targetPath), filePath).getUrl();
+
+ // 鍒犻櫎鏈湴鍥剧墖
+ if (new File(targetPath).exists()) {
+ new File(targetPath).delete();
+ }
+
+ // 鍘熷ご鍍�
+ String portrait = userInfo.getPortrait();
+
+ // 鏇存柊淇℃伅
+ userInfo.setPortrait(fileLink);
+ userInfoMapper.updateByPrimaryKeySelective(userInfo);
+
+ // 鍒犻櫎鍘熷ご鍍�
+ if (!StringUtil.isNullOrEmpty(portrait)) {
+ COSManager.getInstance().deleteFile(portrait);
+ }
+
+ userInfoModifyRecordService.addModifyRecord(uid, ModifyTypeEnum.portrait, fileLink);
+
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ // 鍒犻櫎鍒嗕韩澶村儚淇℃伅
+ spreadUserImgService.deleteImgUrl(uid);
+ } catch (Exception e) {
+ try {
+ LogHelper.errorDetailInfo(e);
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ }
+ }
+ });
+ }
+
+ @Override
+ public void saveUserInfo(String nickName, Long uid) throws UserInfoException {
+ UserInfo userInfo = userInfoMapper.selectByPrimaryKey(uid);
+ if (userInfo == null) {
+ throw new UserInfoException(1, "鐢ㄦ埛涓嶅瓨鍦�");
+ }
+
+ userInfo.setNickName(nickName);
+ userInfoMapper.updateByPrimaryKeySelective(userInfo);
+ }
+
+ @Override
+ public List<UserInfo> getAutoExtractUser(int start, int count, BigDecimal minSurplus, String beganDate,
+ String endDate) {
+ return userInfoMapper.getAutoExtractUser(start, count, minSurplus, beganDate, endDate);
+ }
+
+ @Override
+ public List<UserInfo> listByType(int type, int page, int count) {
+ return userInfoMapper.listByType(type, (page - 1) * count, count);
+ }
+
+ @Override
+ public long countByType(int type) {
+ return userInfoMapper.countByType(type);
+ }
+
+ @Override
+ public List<UserInfo> getAutoExtractUserTo1212(int start, int count) {
+ return userInfoMapper.getAutoExtractUserTo1212(start, count);
+ }
+
+ @Override
+ public UserInfo selectAvailableByPrimaryKey(Long uid) {
+ return userInfoMapper.selectAvailableByPrimaryKey(uid);
+ }
+
+
+ @Override
+ public String getDefaultNickName(SystemEnum system, Long uid) {
+ return systemConfigService.getValueCache(SystemConfigKeyEnum.defaultNickNamePrefix, system) + uid;
+ }
+
+ @Override
+ public String getDefaultNickName(Long uid) {
+ SystemEnum system = getUserSystem(uid);
+ return getDefaultNickName(system, uid);
+ }
+
+ @Override
+ public String getDefaultPortrait(SystemEnum system) {
+ return systemConfigService.getValueCache(SystemConfigKeyEnum.defaultPortrait, system);
+ }
+
+ @Override
+ public String getDefaultPortrait(Long uid) {
+ SystemEnum system = getUserSystem(uid);
+ return getDefaultPortrait(system);
+ }
+
+
+}
--
Gitblit v1.8.0