Commit 302dda9f authored by shiyu's avatar shiyu

登录3

parent e1354efb
......@@ -30,10 +30,10 @@ import java.util.concurrent.TimeUnit;
public class QdWxLoginManager {
private static final Logger logger = LoggerFactory.getLogger(QdWxLoginManager.class);
@Value("${dts.wx.app-id}")
@Value("${dts.wx.qd_app-id}")
private String APPLET_APPID;
@Value("${dts.wx.app-secret}")
@Value("${dts.wx.qd_app-secret}")
private String APPLET_APP_SECRET;
/**
......@@ -51,7 +51,6 @@ public class QdWxLoginManager {
private static final String GET_LINK_URL = "https://api.weixin.qq.com/wxa/genwxashortlink?access_token=%s";
@Autowired
private WxMaService wxMaService;
......
......@@ -2,6 +2,11 @@ dts:
# 开发者应该设置成自己的wx相关信息
# 更换主体要更换id和secret
wx:
#乾岛
qd_app-id: wx598b9e95a8b13209
qd_app-secret: 107406ff0fcc8d7c3a658b90dd938a08
app-id: wx5b4409448bf2c72b
app-secret: 6fee0d7b2197845fed0a3fe8f5a9bd66
merchant-id: 123
......
dts:
# 开发者应该设置成自己的wx相关信息
wx:
#乾岛
qd_app-id: wx598b9e95a8b13209
qd_app-secret: 107406ff0fcc8d7c3a658b90dd938a08
app-id: wx5b4409448bf2c72b
app-secret: 6fee0d7b2197845fed0a3fe8f5a9bd66
mch-id: 1538666666
......
......@@ -68,4 +68,9 @@ public class QdUserSignInNoteRequestDto extends BaseRequestDto implements Entity
* 是否删除
*/
private Boolean isDeleted;
/**
* 只看自己
*/
private Boolean onlySelf;
}
......@@ -7,6 +7,7 @@ import com.wwdz.ch.db.domain.qiandao.QdUserSignInNoteExample;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
import com.wwdz.ch.db.mapper.qiandao.QdUserSignInNoteMapper;
import com.xxdxxs.db.component.JdbcHelper;
import com.xxdxxs.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
......@@ -32,7 +33,11 @@ public class QdUserSignInNoteDaoImpl implements QdUserSignInNoteDao {
JdbcHelper.ifPresent(dto.getIsPrivate(), criteria :: andIsPrivateEqualTo);
criteria.andIsDeletedEqualTo(false);
PageHelper.startPage(dto.getPage(), dto.getLimit());
if (StringUtils.hasLength(dto.getSortColumn())) {
example.setOrderByClause(dto.getSortColumn() + " " + dto.getOrder());
} else {
example.setOrderByClause("create_time desc");
}
return qdUserSignInNoteMapper.selectByExample(example);
}
......
package com.wwdz.ch.wx.entity.request;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.xxdxxs.entity.Entity;
import lombok.Data;
@Data
public class QdHomePageRequestDto implements Entity {
public class QdHomePageRequestDto extends BaseRequestDto implements Entity {
private Long userId;
......
package com.wwdz.ch.wx.entity.vo.qiandao;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class QdSignInNoteVo implements Entity {
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 用户昵称
*/
private String userName;
/**
* 用户头像
*/
private String userAvatar;
/**
* 点赞数
*/
private Integer likeNum;
/**
* 签到任务id
*/
private Long taskId;
/**
* 标题
*/
private String title;
/**
* 内容
*/
private String content;
/**
* 图片,分号分割
*/
private String image;
private List<String> imageList;
/**
* 音频
*/
private String audio;
/**
* 对应签到的日期
*/
private String signInDate;
/**
* 对应签到记录的id
*/
private Long recordId;
/**
* 是否公开
*/
private Boolean isPrivate;
/**
* 创建时间
*/
private Date createTime;
/**
* 上传时间
* 如:1小时前;一天前
*/
private String uploadTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 是否删除
*/
private Boolean isDeleted;
}
package com.wwdz.ch.wx.impl.qiandao;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.qiandao.QdUserDao;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInNoteDao;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInTaskDao;
import com.wwdz.ch.db.dao.qiandao.SignInTaskDao;
import com.wwdz.ch.db.dao.UserSignInDao;
import com.wwdz.ch.db.dao.qiandao.*;
import com.wwdz.ch.db.domain.qiandao.QdUser;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.domain.qiandao.SignInTask;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
import com.wwdz.ch.wx.service.qiandao.QdHomePageService;
import com.xxdxxs.utils.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Service
public class QdHomePageServiceImpl implements QdHomePageService {
......@@ -29,25 +37,37 @@ public class QdHomePageServiceImpl implements QdHomePageService {
@Autowired
SignInTaskDao signInTaskDao;
@Autowired
QdUserSignInDao qdUserSignInDao;
@Override
public Result findUserInfo(QdHomePageRequestDto dto) {
try {
return Result.success();
Map<String, Object> map = new HashMap<>();
long userId = dto.getUserId();
QdUser qdUser = qdUserDao.queryById(userId);
//总打卡数
long totalSignInNum = qdUserSignInDao.countTotalRecord(userId, null);
map.put("totalSignInNum", totalSignInNum);
//正在签到的岛
long taskNum = qdUserSignInTaskDao.count(userId);
map.put("taskNum", taskNum);
map.put("nickName", StringUtils.isEmpty(qdUser.getNickName()) ? "微信用户" : qdUser.getNickName());
map.put("avatar", StringUtils.isEmpty(qdUser.getAvatar()) ? CommConsts.DEFAULT_AVATAR : qdUser.getNickName());
//如果没有参加的签到任务,则需要查询出任务列表
if (taskNum == 0) {
SignInTaskRequestDto signInTaskRequestDto = new SignInTaskRequestDto();
signInTaskRequestDto.setCreatorId(CommConsts.SYSTEM_ACCOUNT.longValue());
signInTaskRequestDto.setLimit(6);
List<SignInTask> signInTaskList = signInTaskDao.findByPage(signInTaskRequestDto);
map.put("taskList", signInTaskList);
}
return Result.success(map);
} catch (Exception e) {
logger.error("查询乾岛首页用户信息失败 error:{}", e);
}
return Result.failed();
}
@Override
public Result findSignInNoteList(QdHomePageRequestDto dto) {
try {
} catch (Exception e) {
logger.error("查询签到笔记失败 error:{}", e);
}
return Result.failed();
}
}
......@@ -152,23 +152,18 @@ public class QdUserServiceImpl implements QdUserService {
@Override
public Result login(QdUserRequestDto dto, HttpServletRequest request) {
try {
String mobile = "";
// 根据小程序来源不同调用不同的处理逻辑获取手机号
try {
WxMaJscode2SessionResult result = qdWxLoginManager.getWxOpenId(dto.getLoginCode());
dto.setWxOpenid(result.getOpenid());
dto.setWxUnionid(result.getUnionid());
Result<String> getPhoneResult = qdWxLoginManager.getPhone(dto);
/* Result<String> getPhoneResult = qdWxLoginManager.getPhone(dto);
if (getPhoneResult.getSuccess()) {
mobile = getPhoneResult.getData();
}
}*/
} catch (Exception e) {
logger.error("获取用户信息异常", e);
return Result.failed("获取用户信息异常");
}
dto.setMobile(mobile);
// 进行登录
Map<String, Object> result = getLoginResult(dto, request);
logger.info("【请求结束】快捷登录成功,响应结果:{}", JSONObject.toJSONString(result));
......
package com.wwdz.ch.wx.impl.qiandao;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.core.type.PageSearchResult;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.qiandao.*;
import com.wwdz.ch.db.domain.qiandao.QdUser;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
import com.wwdz.ch.wx.entity.vo.qiandao.QdSignInNoteVo;
import com.wwdz.ch.wx.service.qiandao.QdUserSignInNoteService;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@Service
public class QdUserSignInNoteServiceImpl implements QdUserSignInNoteService {
private static final Logger logger = LoggerFactory.getLogger(QdUserSignInNoteServiceImpl.class);
@Autowired
QdUserDao qdUserDao;
@Autowired
QdUserSignInTaskDao qdUserSignInTaskDao;
@Autowired
QdUserSignInNoteDao qdUserSignInNoteDao;
@Autowired
SignInTaskDao signInTaskDao;
@Autowired
QdUserSignInDao qdUserSignInDao;
@Override
public Result findSignInNoteList(QdUserSignInNoteRequestDto dto) {
try {
long userId = dto.getUserId();
//查询多有动态,查询时剔除指定用户
if (!dto.getOnlySelf()) {
dto.setUserId(null);
}
List<QdSignInNoteVo> list = new ArrayList<>();
List<QdUserSignInNote> qdUserSignInNoteList = qdUserSignInNoteDao.findByPage(dto);
PageInfo<QdUserSignInNote> pageInfo = new PageInfo<>(qdUserSignInNoteList);
for (QdUserSignInNote qdUserSignInNote : qdUserSignInNoteList) {
QdSignInNoteVo qdSignInNoteVo = new QdSignInNoteVo();
EntityMapper.copyAttribute(qdUserSignInNote, qdSignInNoteVo);
qdSignInNoteVo.setImageList(Arrays.asList(qdUserSignInNote.getImage().split(";")));
QdUser qdUser = qdUserDao.queryById(userId);
qdSignInNoteVo.setUserAvatar(qdSignInNoteVo.getUserAvatar());
qdSignInNoteVo.setUserName(qdUser.getNickName());
long diffInMillies = Math.abs(new Date().getTime() - qdUserSignInNote.getCreateTime().getTime());
long diffInHours = diffInMillies / (60 * 1000 * 60);
String uploadTime = "";
if (diffInHours >= 1 && diffInHours < 24) {
uploadTime = diffInHours + "小时前发布";
} else if (diffInHours > 24) {
long diffInDays = diffInMillies / (60 * 1000 * 60 * 24);
uploadTime = diffInDays + "天前发布";
} else {
uploadTime = "1小时内发布";
}
qdSignInNoteVo.setUploadTime(uploadTime);
list.add(qdSignInNoteVo);
}
return Result.success(PageSearchResult.of(pageInfo, list));
} catch (Exception e) {
logger.error("查询签到笔记失败 error:{}", e);
}
return Result.failed();
}
}
package com.wwdz.ch.wx.service.qiandao;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
public interface QdHomePageService {
......@@ -13,5 +15,5 @@ public interface QdHomePageService {
Result findUserInfo(QdHomePageRequestDto dto);
Result findSignInNoteList(QdHomePageRequestDto dto);
}
package com.wwdz.ch.wx.service.qiandao;
public interface QdUserSignInNoteService {
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
/**
* 用户签到笔记
*/
public interface QdUserSignInNoteService {
Result findSignInNoteList(QdUserSignInNoteRequestDto dto);
}
package com.wwdz.ch.wx.service.qiandao;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.UserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInRequestDto;
public interface QdUserSignInService {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment