git 5 lat temu
rodzic
commit
f8b5692e51

+ 20 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/BankCardDao.java

@@ -0,0 +1,20 @@
+package com.mooctest.crowd.domain.dao;
+
+import com.mooctest.crowd.domain.model.BankCardPO;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.repository.CrudRepository;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+import java.util.Optional;
+
+
+@Transactional
+public interface BankCardDao extends PagingAndSortingRepository<BankCardPO, Long> ,CrudRepository<BankCardPO, Long>, JpaRepository<BankCardPO, Long> ,JpaSpecificationExecutor<BankCardPO>{
+
+    Optional<BankCardPO> findById(Long id);
+
+    List<BankCardPO> findByUserIdAndIsDeleted(Long userId, int isDeleted);
+}

+ 35 - 0
core/src/main/java/com/mooctest/crowd/domain/model/BankCardPO.java

@@ -0,0 +1,35 @@
+package com.mooctest.crowd.domain.model;
+
+import lombok.Data;
+
+import javax.persistence.*;
+
+
+@Data
+@Entity
+@Table(name = "bank_card")
+public class BankCardPO {
+
+    @Id
+    @Column(name = "BC_ID")
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+
+    @Column(name = "BC_NAME")
+    private String name;
+
+    @Column(name="BC_USER")
+    private String user;
+
+    @Column(name="BC_NUMBER")
+    private  String number;
+
+    @Column(name = "BC_LOGO_URL")
+    private String logoUrl;
+
+    @Column(name="BC_U_ID")
+    private Long userId;
+
+    @Column(name = "BC_DELETED")
+    private int isDeleted;
+}

+ 18 - 1
site/src/main/java/com/mooctest/crowd/site/controller/PersonalDataController.java

@@ -1,7 +1,9 @@
 package com.mooctest.crowd.site.controller;
 
+import com.mooctest.crowd.site.data.dto.BankCardDTO;
 import com.mooctest.crowd.site.data.dto.QualificationDTO;
 import com.mooctest.crowd.site.data.dto.UserDTO;
+import com.mooctest.crowd.site.data.vo.BankCardVO;
 import com.mooctest.crowd.site.data.vo.QualificationVO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 import com.mooctest.crowd.site.service.PersonalDataService;
@@ -31,7 +33,7 @@ public class PersonalDataController {
         return  personalDataService.getQualification(userId);
     }
 
-    @RequestMapping(value = "/addqualification/{userId:\\d+}", method = RequestMethod.PUT)
+    @RequestMapping(value = "/addqualification/{userId:\\d+}", method = RequestMethod.POST)
     public QualificationDTO addQualification(@PathVariable("userId") long userId, @RequestBody QualificationVO qualificationVO){
         return  personalDataService.addQualification(userId,qualificationVO);
     }
@@ -45,4 +47,19 @@ public class PersonalDataController {
     public QualificationDTO deleteQualification(@PathVariable("id") long id, @PathVariable("userId") long userId){
         return  personalDataService.deleteQualification(id,userId);
     }
+
+    @RequestMapping(value = "/displaybankcard/{userId:\\d+}", method = RequestMethod.GET)
+    public BankCardDTO getBankCard(@PathVariable("userId") long userId){
+        return  personalDataService.getBankCard(userId);
+    }
+
+    @RequestMapping(value = "/addbankcard/{userId:\\d+}", method = RequestMethod.POST)
+    public BankCardDTO addBankCard(@PathVariable("userId") long userId, @RequestBody BankCardVO bankCardVO){
+        return  personalDataService.addBankCard(userId,bankCardVO);
+    }
+
+    @RequestMapping(value = "/deletebankcard/{id:\\d+}/{userId:\\d+}", method = RequestMethod.DELETE)
+    public BankCardDTO deleteBankCard(@PathVariable("id") long id, @PathVariable("userId") long userId){
+        return  personalDataService.deleteBankCard(id,userId);
+    }
 }

+ 12 - 0
site/src/main/java/com/mooctest/crowd/site/data/dto/BankCardDTO.java

@@ -0,0 +1,12 @@
+package com.mooctest.crowd.site.data.dto;
+
+import com.mooctest.crowd.site.data.vo.BankCardVO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class BankCardDTO {
+    private BankCardVO bankCardVO;
+    private List<BankCardVO> bankCardVOList;
+}

+ 16 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/BankCardVO.java

@@ -0,0 +1,16 @@
+package com.mooctest.crowd.site.data.vo;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+@Data
+@NoArgsConstructor
+public class BankCardVO {
+    private Long id;
+    private String name;
+    private String user;
+    private String number;
+    private String logoUrl;
+    private Long userId;
+}

+ 6 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/ViewMediator.java

@@ -80,4 +80,10 @@ public interface ViewMediator {
     QualificationDTO updateQualification(long id,long userId,QualificationVO qualificationVO);
 
     QualificationDTO deleteQualification(long id,long userId);
+
+    BankCardDTO getBankCard(long userId);
+
+    BankCardDTO addBankCard(long userId,BankCardVO bankCardVO);
+
+    BankCardDTO deleteBankCard(long id,long userId);
 }

+ 40 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -87,6 +87,9 @@ public class WebMediatorImpl implements ViewMediator {
     @Autowired
     private QualificationDao qualificationDao;
 
+    @Autowired
+    private  BankCardDao bankCardDao;
+
     @Value("${agency}")
     private String agencyId;
 
@@ -831,6 +834,43 @@ public class WebMediatorImpl implements ViewMediator {
         return this.getQualification(userId);
     }
 
+    @Override
+    public BankCardDTO getBankCard(long userId) {
+        BankCardDTO bankCardDTO=new BankCardDTO();
+        List<BankCardVO> bankCardVOList = new ArrayList<>();
+        bankCardDao.findByUserIdAndIsDeleted(userId,DeletedStatus.isNotDeleted).forEach(bankCardPO ->{
+            BankCardVO bankCardVO = new BankCardVO();
+            bankCardVO.setId(bankCardPO.getId());
+            bankCardVO.setName(bankCardPO.getName());
+            bankCardVO.setUser(bankCardPO.getUser());
+            bankCardVO.setNumber(bankCardPO.getNumber());
+            bankCardVO.setLogoUrl(bankCardPO.getLogoUrl());
+            bankCardVOList.add(bankCardVO);
+        });
+        List<BankCardVO> results = bankCardVOList.stream().distinct().collect(Collectors.toList());
+        bankCardDTO.setBankCardVOList(results);
+        return bankCardDTO;
+    }
+
+    @Override
+    public BankCardDTO addBankCard(long userId, BankCardVO bankCardVO) {
+        BankCardPO bankCardPO=new BankCardPO();
+        bankCardPO.setName(bankCardVO.getName());
+        bankCardPO.setUser(bankCardVO.getUser());
+        bankCardPO.setNumber(bankCardVO.getNumber());
+        bankCardPO.setUserId(userId);
+        bankCardDao.save(bankCardPO);
+        return this.getBankCard(userId);
+    }
+
+    @Override
+    public BankCardDTO deleteBankCard(long id, long userId) {
+        Optional<BankCardPO> bankCardPO=bankCardDao.findById(id);
+        bankCardPO.get().setIsDeleted(1);
+        bankCardDao.save(bankCardPO.get());
+        return this.getBankCard(userId);
+    }
+
     private ProjectOperationControl initProjectPermission(CrowdTestProject project, User user) {
         ProjectOperationControl operationControl = new ProjectOperationControl();
         if (user == null)

+ 9 - 1
site/src/main/java/com/mooctest/crowd/site/service/PersonalDataService.java

@@ -1,13 +1,15 @@
 package com.mooctest.crowd.site.service;
 
+import com.mooctest.crowd.site.data.dto.BankCardDTO;
 import com.mooctest.crowd.site.data.dto.QualificationDTO;
 import com.mooctest.crowd.site.data.dto.UserDTO;
+import com.mooctest.crowd.site.data.vo.BankCardVO;
 import com.mooctest.crowd.site.data.vo.QualificationVO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 
 
 public interface PersonalDataService {
-    UserDTO getInformation(long id);
+    UserDTO getInformation(long userId);
 
     UserDTO  updateInformation(long userId,UserVO userVO);
 
@@ -18,4 +20,10 @@ public interface PersonalDataService {
     QualificationDTO updateQualification(long id,long userId,QualificationVO qualificationVO);
 
     QualificationDTO deleteQualification(long id,long userId);
+
+    BankCardDTO getBankCard(long userId);
+
+    BankCardDTO addBankCard(long userId,BankCardVO bankCardVO);
+
+    BankCardDTO deleteBankCard(long id,long userId);
 }

+ 19 - 2
site/src/main/java/com/mooctest/crowd/site/service/impl/PersonalDataServiceImpl.java

@@ -1,7 +1,9 @@
 package com.mooctest.crowd.site.service.impl;
 
+import com.mooctest.crowd.site.data.dto.BankCardDTO;
 import com.mooctest.crowd.site.data.dto.QualificationDTO;
 import com.mooctest.crowd.site.data.dto.UserDTO;
+import com.mooctest.crowd.site.data.vo.BankCardVO;
 import com.mooctest.crowd.site.data.vo.QualificationVO;
 import com.mooctest.crowd.site.data.vo.UserVO;
 import com.mooctest.crowd.site.mediator.ViewMediator;
@@ -16,8 +18,8 @@ public class PersonalDataServiceImpl implements PersonalDataService {
     private ViewMediator viewMediator;
 
     @Override
-    public UserDTO getInformation(long id) {
-        return viewMediator.getInformation(id);
+    public UserDTO getInformation(long userId) {
+        return viewMediator.getInformation(userId);
     }
 
     @Override
@@ -44,4 +46,19 @@ public class PersonalDataServiceImpl implements PersonalDataService {
     public QualificationDTO deleteQualification(long id, long userId) {
         return viewMediator.deleteQualification(id,userId);
     }
+
+    @Override
+    public BankCardDTO getBankCard(long userId) {
+        return viewMediator.getBankCard(userId);
+    }
+
+    @Override
+    public BankCardDTO addBankCard(long userId, BankCardVO bankCardVO) {
+        return viewMediator.addBankCard(userId,bankCardVO);
+    }
+
+    @Override
+    public BankCardDTO deleteBankCard(long id, long userId) {
+        return viewMediator.deleteBankCard(id,userId);
+    }
 }