用户信息接口完善

master
panqihua 4 years ago
parent f4b06b0fdd
commit 096dea346c
  1. 10
      src/main/java/com/community/pocket/entity/vo/android/Info.java
  2. 20
      src/main/java/com/community/pocket/repository/android/UserDao.java
  3. 10
      src/main/java/com/community/pocket/util/LookupOperationUtil.java
  4. 7
      src/test/java/com/community/pocket/DemoApplicationTests.java

@ -6,7 +6,7 @@ import java.util.List;
public class Info {
//用户名
private String username;
private String id;
//信用分
private Integer creditScore;
//头像
@ -22,12 +22,12 @@ public class Info {
//信用分历史记录
private List<CreditScore> scoreHistory;
public String getUsername() {
return username;
public String getId() {
return id;
}
public void setUsername(String username) {
this.username = username;
public void setId(String id) {
this.id = id;
}
public Integer getCreditScore() {

@ -9,6 +9,7 @@ import com.community.pocket.repository.BaseDao;
import com.community.pocket.repository.CreditScoreDao;
import com.community.pocket.repository.EmailDao;
import com.community.pocket.util.LookupOperationUtil;
import com.community.pocket.util.TableName;
import com.mongodb.client.result.UpdateResult;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -16,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.aggregation.Aggregation;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
@ -209,22 +211,8 @@ public class UserDao extends BaseDao<MyInfo> {
//获取个人信息
public Info queryUser(String username) {
MyInfo myInfo = mongoTemplate.findOne(new Query(Criteria.where("username").is(username)), entityClass());
if (myInfo != null) {
Info info = new Info();
info.setUsername(myInfo.getUsername());
info.setCreditScore(myInfo.getCreditScore());
info.setEmail(myInfo.getEmail());
info.setHeadImg(myInfo.getHeadImg());
info.setMobie(myInfo.getMobie());
info.setPosts(myInfo.getPosts());
info.setVisitors(myInfo.getVisitors());
info.setScoreHistory(myInfo.getScoreHistory());
return info;
} else {
return null;
}
Aggregation aggregation = Aggregation.newAggregation(LookupOperationUtil.scoreHistoryLookup, Aggregation.match(Criteria.where(LookupOperationUtil.idKey).is(username)));
return mongoTemplate.aggregate(aggregation, TableName.info, Info.class).getUniqueMappedResult();
}
//修改密码

@ -10,19 +10,27 @@ public class LookupOperationUtil {
private static final String activeKey = "activeDto";
//关联
public static final LookupOperation activeforumLookup = LookupOperation.newLookup().from(TableName.active).localField(idKey).foreignField(idKey).as(activeKey);
//投诉贴
//关联属性
private static final String complainKey = "complainDto";
//定义管道操作
public static final LookupOperation complainforumLookup = LookupOperation.newLookup().from(TableName.complain).localField(idKey).foreignField(idKey).as(complainKey);
//结算贴
private static final String scoreKey = "score";
//定义管道操作
public static final LookupOperation scoreforumLookup = LookupOperation.newLookup().from(TableName.score).localField(idKey).foreignField(idKey).as(scoreKey);
//关联属性
//用户信息
private static final String infoKey = "info";
//关联用户外键属性
private static final String usernameKey = "username";
//定义管道操作
public static final LookupOperation infoLookup = LookupOperation.newLookup().from(TableName.info).localField(usernameKey).foreignField(idKey).as(infoKey);
//信用分历史记录
private static final String scorehistoryKey = "scoreHistory";
public static final LookupOperation scoreHistoryLookup = LookupOperation.newLookup().from(TableName.creditScore).localField(idKey).foreignField(usernameKey).as(scorehistoryKey);
}

@ -6,6 +6,7 @@ import com.community.pocket.entity.po.android.GarbageWastePrice;
import com.community.pocket.entity.po.android.MyInfo;
import com.community.pocket.entity.po.android.Token;
import com.community.pocket.entity.vo.android.GarbageCateGory;
import com.community.pocket.entity.vo.android.Info;
import com.community.pocket.entity.vo.android.QueryUserForm;
import com.community.pocket.repository.android.GarbageDao;
import com.community.pocket.repository.android.GarbagePriceDao;
@ -233,4 +234,10 @@ class DemoApplicationTests {
.param("like", String.valueOf(false))
).andDo(MockMvcResultHandlers.print()).andReturn().getResponse();
}
//查询用户信息
@Test
void findUser() {
Info myInfo = userDao.queryUser("panqihua");
}
}

Loading…
Cancel
Save