Skip to content

Commit

Permalink
Merge pull request #84 from yanyanho/main
Browse files Browse the repository at this point in the history
quer member with team info and add sponsor
  • Loading branch information
yanyanho committed Dec 13, 2023
2 parents 9caf0a2 + a40c8bf commit 2bbaa26
Show file tree
Hide file tree
Showing 26 changed files with 251 additions and 85 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ public enum CodeEnums {
MEMBER_ALREADY_REQUEST_TEAM("1007", "member already request team"),

NOT_FOUND_JD("1008", "not found jd"),
NOT_FOUND_MEMBER("1008", "not found user"),
NOT_FOUND_MEMBER("1009", "not found user"),
NOT_THE_ADMIN("1010", "user not the admin"),
//Sharing
SHARING_NOT_FOUND("5001", "Sharing not found"),
SHARING_NOT_OWNER("5002", "You are no sharing user"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,10 @@

import com.dl.officialsite.login.enums.UserRoleEnum;
import com.dl.officialsite.login.model.UserPrincipleData;
import com.dl.officialsite.team.TeamMember;
import com.dl.officialsite.team.teammember.TeamMember;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.CollectionUtils;

import java.util.Collections;
import java.util.List;

@Slf4j
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/com/dl/officialsite/config/IPFSConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,14 @@
import lombok.Data;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

//@Component
@Data
@ConditionalOnProperty(value = "ipfs.url")
@ConfigurationProperties(prefix = "ipfs")
public class IPFSConfig {

Expand Down
18 changes: 2 additions & 16 deletions src/main/java/com/dl/officialsite/hiring/HireController.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
import com.dl.officialsite.common.base.BaseResponse;
import com.dl.officialsite.hiring.vo.ApplyVo;
import com.dl.officialsite.hiring.vo.HiringVO;
import java.util.ArrayList;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
Expand Down Expand Up @@ -92,21 +93,6 @@ public BaseResponse allByAddress(@RequestParam String address,
return BaseResponse.successWithData(hiringVOList);
}

/**
*
*/
@GetMapping("/sponsors")
public BaseResponse sponsor() {
List<SponsorVo> sponsorVos = new ArrayList<>();
SponsorVo sponsorVo = new SponsorVo();
sponsorVo.setCompany("Optimism");
sponsorVo.setLink("https://www.optimism.io/");
sponsorVo.setIcon("https://assets-global.website-files.com/611dbb3c82ba72fbc285d4e2/611fd32ef63b79b5f8568d58_OPTIMISM-logo.svg");
for (int i = 0; i < 4; i++) {
sponsorVos.add(sponsorVo);
}
return BaseResponse.successWithData(sponsorVos);
}

/**
* 投递职位
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/com/dl/officialsite/hiring/HireService.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ public HiringVO add(HiringVO hiringVO) {
Hiring hiring = new Hiring();
BeanUtils.copyProperties(hiringVO, hiring);
hireRepository.save(hiring);

// optimise
hiringVO.getMainSkills().forEach(mainSkill -> {
HiringSkill hiringSkill = new HiringSkill();
BeanUtils.copyProperties(mainSkill, hiringSkill);
Expand All @@ -57,6 +59,7 @@ public HiringVO add(HiringVO hiringVO) {
hiringSkillRepository.save(hiringSkill);
});

// delete todo
hiringVO.getOtherSkills().forEach(otherSkill -> {
HiringSkill hiringSkill = new HiringSkill();
BeanUtils.copyProperties(otherSkill, hiringSkill);
Expand Down
20 changes: 0 additions & 20 deletions src/main/java/com/dl/officialsite/hiring/SponsorVo.java

This file was deleted.

2 changes: 2 additions & 0 deletions src/main/java/com/dl/officialsite/hiring/vo/HiringVO.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ public class HiringVO {
@NotNull(message = "工作类型不能为空")
private List<HiringSkillVO> mainSkills;


//ignore
private List<HiringSkillVO> otherSkills;

@NotBlank(message = "公司不能为空")
Expand Down
7 changes: 6 additions & 1 deletion src/main/java/com/dl/officialsite/ipfs/IPFSService.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,19 @@
import io.ipfs.multihash.Multihash;
import java.io.InputStream;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;


//@Component
@Configuration
@ConditionalOnBean(IPFS.class)
public class IPFSService {


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
@Getter
public enum UserRoleEnum {

ADMIN(Integer.MAX_VALUE),
ADMIN(1),

NORMAL(0);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,15 @@
import com.dl.officialsite.login.model.UserPrincipleData;
import com.dl.officialsite.member.Member;
import com.dl.officialsite.member.MemberRepository;
import com.dl.officialsite.team.TeamMember;
import com.dl.officialsite.team.TeamMemberRepository;
import com.dl.officialsite.team.teammember.TeamMember;
import com.dl.officialsite.team.teammember.TeamMemberRepository;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.session.web.http.SessionRepositoryFilter;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;

import javax.servlet.FilterChain;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.dl.officialsite.login.model;

import com.dl.officialsite.login.enums.UserRoleEnum;
import com.dl.officialsite.team.TeamMember;
import com.dl.officialsite.team.teammember.TeamMember;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
Expand Down
16 changes: 6 additions & 10 deletions src/main/java/com/dl/officialsite/member/MemberController.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,19 @@ public class MemberController {
@Autowired
private MemberRepository memberRepository;

// @Autowired
// private IPFSService ipfsService;
@Autowired
AaveService aaveService;
@Autowired
private MemberService memberService;

public static final Logger logger = LoggerFactory.getLogger(MemberController.class);

@RequestMapping(value = "/query", method = RequestMethod.GET)
BaseResponse getMemberByAddress(@RequestParam String address) throws Exception {
BaseResponse getMemberByAddress(@RequestParam String address) {

Optional<Member> member = memberRepository.findByAddress(address);
if (!member.isPresent()) {
Member member = memberService.getMemberWithTeamInfoByAddress(address);
if (member == null) {
return BaseResponse.failWithReason("1001", "no user found");
}
return BaseResponse.successWithData(member.get());
return BaseResponse.successWithData(member);
}


Expand Down Expand Up @@ -201,8 +199,6 @@ public BaseResponse updateMemberByAddress(@RequestParam String address, @Request
private Long getMemberId(HttpSession session) {
Long memberId = (Long) session
.getAttribute("memberId");


return memberId;
}

Expand Down
46 changes: 43 additions & 3 deletions src/main/java/com/dl/officialsite/member/MemberService.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,56 @@
package com.dl.officialsite.member;

import com.dl.officialsite.team.Team;
import com.dl.officialsite.team.TeamRepository;
import com.dl.officialsite.team.teammember.TeamMember;
import com.dl.officialsite.team.teammember.TeamMemberRepository;
import com.dl.officialsite.team.vo.TeamVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

@Service
public class MemberService {


@Autowired
private MemberRepository memberRepository;
@Autowired
private TeamMemberRepository teamMemberRepository;
@Autowired
private TeamRepository teamRepository;

public Member getMemberByAddress(String address) {
Optional<Member> member = memberRepository.findByAddress(address);
if(member.isPresent()) {
return member.get();
}
return null;
}


public MemberWithTeam getMemberWithTeamInfoByAddress(String address) {
Optional<Member> member = memberRepository.findByAddress(address);

if(member.isPresent()) {
MemberWithTeam memberWithTeam = new MemberWithTeam();
BeanUtils.copyProperties(member, memberWithTeam);
ArrayList teams = memberWithTeam.getTeams();
List<TeamMember> teamMembers = teamMemberRepository.findByMemberId(member.get().getId());

// public Member getMemberByAddress(String address) {
// return memberRepository.findByAddress(address);
// }
teamMembers.stream().forEach(teamMember -> {
Team team = teamRepository.findById(teamMember.getTeamId()).get();
if(team.getTeamName().equals("Dapp-Learning DAO co-founders")){
memberWithTeam.setAdmin(true);
}
teams.add(team);
});
return memberWithTeam;
}
return null;
}
}
25 changes: 25 additions & 0 deletions src/main/java/com/dl/officialsite/member/MemberWithTeam.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.dl.officialsite.member;


import com.dl.officialsite.team.vo.TeamVO;
import lombok.*;
import org.hibernate.annotations.DynamicUpdate;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;

@Data
public class MemberWithTeam extends Member
{

private ArrayList<TeamVO> teams;

private boolean isAdmin;


}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ public class RedPacketService {
@Scheduled(cron = "0 0/2 * * * ? ")
public void updateRedpacketStatus() throws IOException {
log.info("schedule task begin --------------------- ");
System.out.println("验证是否是新代码--------------");
HttpPost request = new HttpPost("http://api.studio.thegraph.com/proxy/55957/dapp-learning-redpacket/version/latest");
request.setHeader("Content-Type", "application/json");
// Define your GraphQL query
Expand Down Expand Up @@ -67,7 +66,7 @@ public void updateRedpacketStatus() throws IOException {
JsonObject data = jsonObject.getAsJsonObject("data");
JsonArray redpacketsArray = data.getAsJsonArray("redpackets");

log.info("redpacket array : " + redpacketsArray);
// log.info("redpacket array : " + redpacketsArray);
List<RedPacket> redPacketList = redPacketRepository.findByStatus(0);

for (int i = 0; i < redpacketsArray.size(); i++) {
Expand Down
30 changes: 30 additions & 0 deletions src/main/java/com/dl/officialsite/sponsor/Sponsor.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.dl.officialsite.sponsor;

import lombok.Data;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.*;

/**
* @ClassName SponsorVo
* @Author jackchen
* @Date 2023/12/11 21:16
* @Description 广告
**/
@Data
@EntityListeners(AuditingEntityListener.class)
@Entity
@Table(name = "sponsor")
public class Sponsor {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

private String company;

private String link;

private String icon;

}
34 changes: 34 additions & 0 deletions src/main/java/com/dl/officialsite/sponsor/SponsorController.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.dl.officialsite.sponsor;

import com.dl.officialsite.common.base.BaseResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
* @ClassName HireController
* @Author jackchen
* @Date 2023/11/7 10:45
* @Description HireController
**/
@RestController
@RequestMapping("/sponsors")
public class SponsorController {

@Autowired
private SponsorService sponsorService;
@Autowired
private SponsorRepository sponsorRepository;

@PostMapping
public BaseResponse create(@RequestParam String address, @RequestBody Sponsor sponsor) {
return BaseResponse.successWithData( sponsorService.add(address , sponsor));

}
@GetMapping("/all")
public BaseResponse all(@RequestParam String address) {
List<Sponsor> sponsors = sponsorRepository.findAll();
return BaseResponse.successWithData(sponsors);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.dl.officialsite.sponsor;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

public interface SponsorRepository extends JpaRepository<Sponsor, Long>, JpaSpecificationExecutor <Sponsor>{
//Optional<Sponser> findByAddress(@Param("address") String address);
}
Loading

0 comments on commit 2bbaa26

Please sign in to comment.