Browse Source

Merge branch 'dev' of xiongzhu/raex_back into master

sunkean 3 years ago
parent
commit
ab7b23426d

+ 47 - 0
src/main/java/com/izouma/nineth/dto/UserSynchronizationDto.java

@@ -0,0 +1,47 @@
+package com.izouma.nineth.dto;
+
+import com.izouma.nineth.converter.EncryptConverter;
+import com.izouma.nineth.enums.AuthStatus;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.Column;
+import javax.persistence.Convert;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class UserSynchronizationDto {
+
+    @ApiModelProperty("昵称")
+    private String nickname;
+
+    @ApiModelProperty("手机号")
+    private String phone;
+
+    @ApiModelProperty("用户是否绑定了银行卡")
+    private Boolean isUserBankCard;
+
+    @ApiModelProperty("银行卡号")
+    @Convert(converter = EncryptConverter.class)
+    private String bankNo;
+
+    @ApiModelProperty("实名审核状态")
+    @Enumerated(EnumType.STRING)
+    private AuthStatus authStatus;
+
+    @ApiModelProperty("身份证号")
+    @Convert(converter = EncryptConverter.class)
+    @Column(length = 80)
+    private String idNo;
+
+    @ApiModelProperty("姓名")
+    private String realName;
+
+}

+ 1 - 1
src/main/java/com/izouma/nineth/repo/AssetRepo.java

@@ -104,7 +104,7 @@ public interface AssetRepo extends JpaRepository<Asset, Long>, JpaSpecificationE
 
     List<Asset> findAllByUserIdAndTypeAndOpened(Long userId, CollectionType type, Boolean opened);
 
-    @Query(nativeQuery = true, value = "SELECT asset.user_id userId,user.nickname nickname,user.username username,user.avatar avatar,asset.name,asset.prefix_name prefixName,count(*) num FROM asset left join user on asset.user_id = user.id where status in ('NORMAL','TRADING','GIFTING','MINTING','AUCTIONING') GROUP BY user_id ORDER BY count(*) DESC limit ?1,?2")
+    @Query(nativeQuery = true, value = "SELECT asset.user_id userId,user.nickname nickname,user.username username,user.avatar avatar,asset.name,asset.prefix_name prefixName,count(*) num FROM asset left join user on asset.user_id = user.id where asset.user_id not in (1435297,4273750) and asset.status in ('NORMAL','TRADING','GIFTING','MINTING','AUCTIONING') GROUP BY asset.user_id ORDER BY count(*) DESC limit ?1,?2")
     List<Map<String, String>> findByPage(int start, int end);
 
     @Query(nativeQuery = true, value = "SELECT count(distinct user_id) FROM asset where status in ('NORMAL','TRADING','GIFTING','MINTING','AUCTIONING') ")

+ 39 - 2
src/main/java/com/izouma/nineth/web/UserController.java

@@ -2,10 +2,13 @@ package com.izouma.nineth.web;
 
 import com.alipay.api.AlipayApiException;
 import com.huifu.adapay.core.exception.BaseAdaPayException;
+import com.izouma.nineth.converter.EncryptConverter;
+import com.izouma.nineth.domain.IdentityAuth;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.*;
 import com.izouma.nineth.enums.AuthorityName;
 import com.izouma.nineth.exception.BusinessException;
+import com.izouma.nineth.repo.IdentityAuthRepo;
 import com.izouma.nineth.repo.UserBankCardRepo;
 import com.izouma.nineth.repo.UserRepo;
 import com.izouma.nineth.security.Authority;
@@ -19,7 +22,11 @@ import com.izouma.nineth.utils.excel.ExcelUtils;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import me.chanjar.weixin.common.error.WxErrorException;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -43,6 +50,7 @@ public class UserController extends BaseController {
     private UserBankCardRepo              userBankCardRepo;
     private RedisTemplate<String, Object> redisTemplate;
     private UserBankCardService           userBankCardService;
+    private IdentityAuthRepo              identityAuthRepo;
 
     @PostMapping("/register")
     public User register(@RequestParam String username,
@@ -386,8 +394,37 @@ public class UserController extends BaseController {
     }
 
     @PostMapping("synchronizationData")
-    public String synchronizationData(@RequestBody String parameter){
-        return parameter;
+    public UserSynchronizationDto synchronizationData(@RequestBody String phone) {
+        User user = userRepo.findByPhoneAndDelFalse(phone).orElse(null);
+        if (ObjectUtils.isEmpty(user)) {
+            return null;
+        }
+        UserSynchronizationDto dto = new UserSynchronizationDto();
+        //昵称
+        dto.setNickname(user.getNickname());
+        //手机号
+        dto.setPhone(user.getPhone());
+        //银行卡
+        EncryptConverter converter = new EncryptConverter();
+        List<UserBankCard> byUserId = userBankCardRepo.findByUserId(user.getId());
+        if (CollectionUtils.isNotEmpty(byUserId)){
+            dto.setIsUserBankCard(true);
+            String bankNo = converter.convertToEntityAttribute(byUserId.get(0).getBankNo());
+            dto.setBankNo(bankNo);
+        }else {
+            dto.setIsUserBankCard(false);
+        }
+        //实名
+        if (ObjectUtils.isNotEmpty(user.getAuthId())){
+            IdentityAuth identityAuth = identityAuthRepo.findByIdAndDelFalse(user.getAuthId()).orElse(null);
+            if (ObjectUtils.isNotEmpty(identityAuth)){
+                String idNo = converter.convertToEntityAttribute(identityAuth.getIdNo());
+                dto.setRealName(identityAuth.getRealName());
+                dto.setIdNo(idNo);
+            }
+        }
+        dto.setAuthStatus(user.getAuthStatus());
+        return dto;
     }
 }