123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package com.ichaoj.ams.controller;
- import cn.hutool.core.bean.BeanUtil;
- import cn.hutool.core.collection.CollectionUtil;
- import cn.hutool.core.util.StrUtil;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.ichaoj.ams.entity.AmsAddressAccount;
- import com.ichaoj.ams.request.address.BatchAddressRequest;
- import com.ichaoj.ams.request.address.BatchKeyStoreRequest;
- import com.ichaoj.ams.request.address.PageAddressRequest;
- import com.ichaoj.ams.request.address.PremiumAddressRequest;
- import com.ichaoj.ams.response.address.AddressResponse;
- import com.ichaoj.ams.service.IAmsAddressAccountService;
- import com.ichaoj.common.annotation.AuthResource;
- import com.ichaoj.common.exception.ErrorServiceException;
- import com.ichaoj.common.model.PublicPage;
- import com.ichaoj.common.model.PublicResult;
- import com.ichaoj.common.model.PublicUserInfo;
- import com.ichaoj.web.context.SuperWhaleContext;
- import io.swagger.v3.oas.annotations.Operation;
- import io.swagger.v3.oas.annotations.tags.Tag;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletResponse;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- /**
- * @author cjwen
- */
- @RestController
- @RequestMapping("/address")
- @Tag(name = "地址模块")
- public class AddressController {
- @Resource
- IAmsAddressAccountService addressService;
- @Operation(summary = "批量创建钱包")
- @PostMapping("/generate/batch-address")
- @AuthResource
- public PublicResult<List<String>> batchCreateAddress(@RequestBody @Validated BatchAddressRequest batchAddressRequest) {
- return PublicResult.success(addressService.batchCreateAddress(batchAddressRequest));
- }
- @Operation(summary = "批量下载keystore文件")
- @PostMapping("/download/batch-keystore")
- @AuthResource
- @Validated
- public void batchKeystore(HttpServletResponse response, @RequestBody @Validated BatchKeyStoreRequest keyStoreRequest) {
- addressService.batchKeystore(keyStoreRequest.getGroupName(), response);
- }
- @Operation(summary = "批量添加精品号")
- @PostMapping("/add/premium-address")
- @AuthResource
- public PublicResult<Object> addPremiumAddress(@RequestBody List<PremiumAddressRequest> requestList) {
- if (CollectionUtil.isEmpty(requestList)) {
- throw new ErrorServiceException("至少需要一个精品号");
- }
- addressService.addPremiumAddress(requestList);
- return PublicResult.success();
- }
- @Operation(summary = "分页查询地址")
- @PostMapping("/page")
- @AuthResource
- public PublicResult<PublicPage<AddressResponse>> pageAddress(@RequestBody PageAddressRequest pageAddressRequest) {
- PublicPage<AddressResponse> result = addressService.pageAddress(pageAddressRequest);
- return PublicResult.success(result);
- }
- @Operation(summary = "查询地址组列表")
- @GetMapping("/group-list")
- @AuthResource
- public PublicResult<List<String>> queryGroupList() {
- List<String> result = addressService.queryGroupList(1);
- return PublicResult.success(result);
- }
- @Operation(summary = "统计当前用户的精品号和批量号数量")
- @GetMapping("/count-address")
- @AuthResource
- public PublicResult<Map<String, Object>> countAddress() {
- String userId = SuperWhaleContext.getContext(PublicUserInfo.class).getUserId();
- Map<String, Object> map = new HashMap<>(5);
- map.put("batchCount", addressService.count(new LambdaQueryWrapper<AmsAddressAccount>()
- .eq(AmsAddressAccount::getUserId, userId)
- .eq(AmsAddressAccount::getAddressType, 1)));
- map.put("premiumCount", addressService.count(new LambdaQueryWrapper<AmsAddressAccount>()
- .eq(AmsAddressAccount::getUserId, userId)
- .eq(AmsAddressAccount::getAddressType, 0)));
- return PublicResult.success(map);
- }
- }
|