| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- package com.izouma.nineth.web;
- import com.izouma.nineth.domain.UserAssetSummary;
- import com.izouma.nineth.domain.UserDetail;
- import com.izouma.nineth.dto.MetaRestResult;
- import com.izouma.nineth.dto.PageQuery;
- import com.izouma.nineth.dto.PublicShowDTO;
- import com.izouma.nineth.exception.BusinessException;
- import com.izouma.nineth.repo.UserAssetSummaryRepo;
- import com.izouma.nineth.repo.UserDetailRepo;
- import com.izouma.nineth.service.ContentAuditService;
- import com.izouma.nineth.service.UserDetailService;
- import com.izouma.nineth.utils.excel.ExcelUtils;
- import lombok.AllArgsConstructor;
- import org.apache.commons.collections.CollectionUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.data.domain.Page;
- import org.springframework.web.bind.annotation.*;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Objects;
- @RestController
- @RequestMapping("/userDetail")
- @AllArgsConstructor
- public class UserDetailController extends BaseController {
- private UserDetailService userDetailService;
- private UserDetailRepo userDetailRepo;
- private ContentAuditService contentAuditService;
- private UserAssetSummaryRepo userAssetSummaryRepo;
- //@PreAuthorize("hasRole('ADMIN')")
- @PostMapping("/save")
- public UserDetail save(@RequestBody UserDetail record) {
- if (StringUtils.isNotBlank(record.getAutograph())) {
- if (!contentAuditService.auditText(record.getAutograph())) {
- throw new BusinessException("简介包含非法内容");
- }
- }if (StringUtils.isNotBlank(record.getNickname())) {
- if (!contentAuditService.auditText(record.getNickname())) {
- throw new BusinessException("昵称包含非法内容");
- }
- }if (StringUtils.isNotBlank(record.getMail())) {
- if (!contentAuditService.auditText(record.getMail())) {
- throw new BusinessException("邮箱包含非法内容");
- }
- }if (StringUtils.isNotBlank(record.getSchool())) {
- if (!contentAuditService.auditText(record.getSchool())) {
- throw new BusinessException("学校包含非法内容");
- }
- }if (StringUtils.isNotBlank(record.getCompany())) {
- if (!contentAuditService.auditText(record.getCompany())) {
- throw new BusinessException("公司包含非法内容");
- }
- }if (StringUtils.isNotBlank(record.getOccupation())) {
- if (!contentAuditService.auditText(record.getOccupation())) {
- throw new BusinessException("职业包含非法内容");
- }
- }
- return userDetailRepo.save(record);
- }
- @PostMapping("/meta/save")
- public MetaRestResult<UserDetail> metaSave(@RequestBody UserDetail record) {
- UserDetail userDetail;
- try {
- userDetail = save(record);
- } catch (Exception e) {
- return MetaRestResult.returnError(e.getMessage());
- }
- return MetaRestResult.returnSuccess(userDetail);
- }
- //@PreAuthorize("hasRole('ADMIN')")
- @PostMapping("/all")
- public Page<UserDetail> all(@RequestBody PageQuery pageQuery) {
- return userDetailService.all(pageQuery);
- }
- @GetMapping("/get/{id}")
- public UserDetail get(@PathVariable Long id) {
- UserDetail userDetail = userDetailRepo.findById(id).orElse(null);
- if (Objects.isNull(userDetail)) {
- userDetail = new UserDetail();
- userDetail.setUserId(id);
- userDetailRepo.save(userDetail);
- }
- userDetail.setNftCount(userDetailRepo.findNftCountById(id));
- userDetail.setBuildCount(userDetailRepo.findBuildCountById(id));
- userDetail.setPlotCount(userDetailRepo.findPlotCountById(id));
- userDetail.setFansCount(userDetailRepo.findFansCountById(id));
- userDetail.setReikiCount(userDetailRepo.findReikiCountById(id));
- userDetail.setMedalCount(userDetailRepo.findMedalCountById(id));
- userDetail.setPersonalheatCount(userDetailRepo.findPersonalHeatCountById(id));
- List<UserAssetSummary> userAssetSummaries = userAssetSummaryRepo.findPublicShowAsset(id);
- List<PublicShowDTO> list = new ArrayList<>();
- if (CollectionUtils.isEmpty(userAssetSummaries)) {
- userDetail.setPublicShowDTOs(list);
- return userDetail;
- }
- userAssetSummaries.forEach(userAssetSummary -> {
- list.add(new PublicShowDTO(userAssetSummary.getName(), "video/mp4".equals(userAssetSummary.getPic().get(0).getType()) ? userAssetSummary.getPic().get(0).getThumb() : userAssetSummary.getPic().get(0).getUrl(), userAssetSummary.getOpenShowNum()));
- });
- userDetail.setPublicShowDTOs(list);
- return userDetail;
- }
- @GetMapping("/light/{userId}")
- public boolean light(@PathVariable Long userId) {
- UserDetail userDetail = userDetailRepo.findById(userId).orElse(null);
- if (Objects.isNull(userDetail)) {
- return false;
- }
- if (StringUtils.isNotBlank(userDetail.getAutograph())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getBgpic())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getBirthday())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getBlood())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getCompany())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getConstellation())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getHome())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getMail())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getOccupation())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getPic())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getSchool())) {
- return true;
- }
- if (StringUtils.isNotBlank(userDetail.getSex())) {
- return true;
- }
- return false;
- }
- @GetMapping("/{userId}/metaQuery")
- public MetaRestResult<UserDetail> metaQuery(@PathVariable Long userId) {
- return MetaRestResult.returnSuccess(get(userId));
- }
- @PostMapping("/del/{id}")
- public void del(@PathVariable Long id) {
- userDetailRepo.softDelete(id);
- }
- @GetMapping("/excel")
- @ResponseBody
- public void excel(HttpServletResponse response, PageQuery pageQuery) throws IOException {
- List<UserDetail> data = all(pageQuery).getContent();
- ExcelUtils.export(response, data);
- }
- }
|