From b6ad0f29932c0a4f6053a765723aa4d80adcc706 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 11 Dec 2023 15:01:20 +0800 Subject: [PATCH] 用户留言 --- src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java | 2 src/main/java/cc/mrbird/febs/mall/dto/ApiOrderSellComplainDto.java | 21 +++++++ src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java | 40 ++++++------ src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 37 ++++++++++++ src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java | 31 ++++++++++ src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java | 2 src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java | 2 src/main/java/cc/mrbird/febs/mall/controller/ApiMallProductController.java | 7 ++ src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java | 3 9 files changed, 122 insertions(+), 23 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java index 9310b8a..74dd466 100644 --- a/src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java +++ b/src/main/java/cc/mrbird/febs/common/enumerates/ProductEnum.java @@ -23,8 +23,9 @@ PRODUCT_SELL_FAIL(0,"失败"), /** - * 匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成 + * 匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成 6已投诉 */ + PRODUCT_MATE_STATE_COMPLAIN(6,"已投诉"), PRODUCT_MATE_STATE_FINISH(5,"已完成"), PRODUCT_MATE_STATE_CONFIRM(4,"对方已确认"), PRODUCT_MATE_STATE_PAY(3,"已支付"), diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallProductController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallProductController.java index b9a57f1..b265991 100644 --- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallProductController.java +++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallProductController.java @@ -78,6 +78,13 @@ return iApiMallProductService.orderSellInsure(apiOrderSellInsureDto); } + + @ApiOperation(value = "FCM-订单管理-查看提现详情-投诉", notes = "FCM-订单管理-查看提现详情-投诉") + @PostMapping(value = "/orderSellComplain") + public FebsResponse orderSellComplain(@RequestBody @Valid ApiOrderSellComplainDto apiOrderSellComplainDto) { + return iApiMallProductService.orderSellComplain(apiOrderSellComplainDto); + } + @ApiOperation(value = "FCM-FCM提现", notes = "FCM-FCM提现") @PostMapping(value = "/outFcm") public FebsResponse outFcm(@RequestBody @Valid ApiOutFcmDto outFcmDto) { diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ApiOrderSellComplainDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ApiOrderSellComplainDto.java new file mode 100644 index 0000000..ce5be86 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/dto/ApiOrderSellComplainDto.java @@ -0,0 +1,21 @@ +package cc.mrbird.febs.mall.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +@ApiModel(value = "ApiOrderSellComplainDto", description = "参数接收类") +public class ApiOrderSellComplainDto { + + @NotNull(message = "交易密码不能为空") + private Long sellRecordId;//ApiOrderSellRecordInfoVo的id,提现子表的ID + + @NotBlank(message = "内容不能为空") + @ApiModelProperty(value = "内容", example = "1") + private String description; + +} diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java index 909d7c7..a2f3bcb 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallProductService.java @@ -31,4 +31,6 @@ FebsResponse orderBuyList(ApiOrderBuyDto apiOrderBuyDto); Boolean operationPermissionMemberFrozen(Long memberId); + + FebsResponse orderSellComplain(ApiOrderSellComplainDto apiOrderSellComplainDto); } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java index 11c321e..ed4153e 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java @@ -1041,4 +1041,41 @@ mallProductSellMapper.insert(mallProductSell); } + public static List<Integer> findMissingNumbers(int[] nums) { + //定义一个标记数组,标记出现过的下表为true + boolean[] flag = new boolean[nums.length+1]; + for(int temp:nums){ + flag[temp] = true; + } + List<Integer> arr = new ArrayList<Integer>(); + //以连续的i作为本应该的下标,查找之前的标记数组,没有被标记过的下标,就是消失的数字 + for(int i = 1;i <= nums.length; i++){ + if(!flag[i]){ + arr.add(i); + } + } + return arr; + } + + public static List<Integer> findDisappearedNumbers(int[] nums) { + Set<Integer> set = new HashSet<>(); // 利用Set对象元素不重复的特性 + // 把nums里的每一个数字都添加至set中 + for(int i = 0; i < nums.length; ++i) { + set.add(nums[i]); + } + List<Integer> list = new ArrayList<>(); + // 把1~n的每一个数字都添加至set中,若添加成功则说明原数组不存在该数字,加入list即可 + for(int i = 1; i <= nums.length; ++i) { + if(set.add(i)) { + list.add(i); + } + } + return list; + } + public static void main(String[] args) { + int[] nums = {1, 2, 2, 5, 2}; + List<Integer> missingNumbers = findDisappearedNumbers(nums); + System.out.println("缺失的数字为:" + missingNumbers); + } + } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java index 1f2f630..96a505e 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java @@ -46,6 +46,7 @@ private final MallProductSellMapper mallProductSellMapper; private final MallProductSellRecordMapper mallProductSellRecordMapper; private final MallProductBuyRecordMapper mallProductBuyRecordMapper; + private final MallMemberSpeakMapper mallMemberSpeakMapper; @Override public List<ApiMallProductNftVo> productNFTList() { @@ -547,4 +548,34 @@ } return false; } + + @Override + public FebsResponse orderSellComplain(ApiOrderSellComplainDto apiOrderSellComplainDto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + Long sellRecordId = apiOrderSellComplainDto.getSellRecordId(); + MallProductSellRecord mallProductSellRecord = mallProductSellRecordMapper.selectById(sellRecordId); + if(ObjectUtil.isEmpty(mallProductSellRecord)){ + throw new FebsException("记录不存在"); + } + + MallProductBuyRecord mallProductBuyRecord = mallProductBuyRecordMapper.selectById(mallProductSellRecord.getBuyRecordId()); + if(ObjectUtil.isEmpty(mallProductBuyRecord)){ + throw new FebsException("记录不存在"); + } + + mallProductBuyRecord.setState(ProductEnum.PRODUCT_MATE_STATE_COMPLAIN.getValue()); + mallProductBuyRecordMapper.updateById(mallProductBuyRecord); + + mallProductSellRecord.setState(ProductEnum.PRODUCT_MATE_STATE_COMPLAIN.getValue()); + mallProductSellRecordMapper.updateById(mallProductSellRecord); + + MallMemberSpeak mallMemberSpeak = new MallMemberSpeak(); + mallMemberSpeak.setMemberId(memberId); + mallMemberSpeak.setState(ProductEnum.SPEAK_NO_DEAL.getValue()); + String description = apiOrderSellComplainDto.getDescription(); + String buyOrderNo = mallProductBuyRecord.getBuyOrderNo(); + mallMemberSpeak.setDescription("编号:"+buyOrderNo+","+description); + mallMemberSpeakMapper.insert(mallMemberSpeak); + return new FebsResponse().success(); + } } diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java index f202122..5b392b1 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/MallNewsInfoServiceImpl.java @@ -314,19 +314,19 @@ if(ObjectUtil.isEmpty(mallProductBuyRecord)){ throw new FebsException("记录不存在"); } - Integer state = mallProductBuyRecord.getState(); - if(ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue() != state){ - throw new FebsException("记录不是待支付状态"); - } +// Integer state = mallProductBuyRecord.getState(); +// if(ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue() != state){ +// throw new FebsException("记录不是待支付状态"); +// } MallProductSellRecord mallProductSellRecord = mallProductSellRecordMapper.selectById(mallProductBuyRecord.getSellRecordId()); if(ObjectUtil.isEmpty(mallProductSellRecord)){ throw new FebsException("记录不存在"); } - Integer stateSell = mallProductSellRecord.getState(); - if(ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue() != stateSell){ - throw new FebsException("记录不是待支付状态"); - } +// Integer stateSell = mallProductSellRecord.getState(); +// if(ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue() != stateSell){ +// throw new FebsException("记录不是待支付状态"); +// } DateTime payTime = DateUtil.date(); mallProductBuyRecord.setState(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue()); @@ -365,19 +365,19 @@ if(ObjectUtil.isEmpty(mallProductBuyRecord)){ throw new FebsException("记录不存在"); } - Integer state = mallProductBuyRecord.getState(); - if(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue() != state){ - throw new FebsException("记录不是已支付状态"); - } +// Integer state = mallProductBuyRecord.getState(); +// if(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue() != state){ +// throw new FebsException("记录不是已支付状态"); +// } Long sellRecordId = mallProductBuyRecord.getSellRecordId(); MallProductSellRecord mallProductSellRecord = mallProductSellRecordMapper.selectById(mallProductBuyRecord.getSellRecordId()); if(ObjectUtil.isEmpty(mallProductSellRecord)){ throw new FebsException("记录不存在"); } - Integer stateSell = mallProductSellRecord.getState(); - if(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue() != stateSell){ - throw new FebsException("记录不是已支付状态"); - } +// Integer stateSell = mallProductSellRecord.getState(); +// if(ProductEnum.PRODUCT_MATE_STATE_PAY.getValue() != stateSell){ +// throw new FebsException("记录不是已支付状态"); +// } mallProductBuyRecord.setState(ProductEnum.PRODUCT_MATE_STATE_CONFIRM.getValue()); mallProductBuyRecordMapper.updateById(mallProductBuyRecord); @@ -395,10 +395,10 @@ if(ObjectUtil.isEmpty(mallProductBuyRecord)){ throw new FebsException("记录不存在"); } - Integer state = mallProductBuyRecord.getState(); - if(ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue() != state){ - throw new FebsException("记录不是待支付状态"); - } +// Integer state = mallProductBuyRecord.getState(); +// if(ProductEnum.PRODUCT_MATE_STATE_WAIT_PAY.getValue() != state){ +// throw new FebsException("记录不是待支付状态"); +// } Long sellRecordId = mallProductBuyRecord.getSellRecordId(); //更新买单子表的数据 mallProductBuyRecord.setState(ProductEnum.PRODUCT_MATE_STATE_FAIL.getValue()); diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java index 01d80ae..597face 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderBuyRecordInfoVo.java @@ -15,7 +15,7 @@ private String accountLogin;// @ApiModelProperty(value = "分配额度、支付金额") private BigDecimal pickNftCnt;//分配额度、支付金额 - @ApiModelProperty(value = "匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成") + @ApiModelProperty(value = "匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成 6已投诉") private Integer state;//匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成 @ApiModelProperty(value = "匹配时间") private Date orderTime;//匹配时间 diff --git a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java index 60d1004..3e9761d 100644 --- a/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java +++ b/src/main/java/cc/mrbird/febs/mall/vo/ApiOrderSellRecordInfoVo.java @@ -23,7 +23,7 @@ private String nftImg;//支付凭证 @ApiModelProperty(value = "支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账") private Integer type;//支付类型 1:微信 2:支付宝 3:银行转账 4:USDT转账 - @ApiModelProperty(value = "匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成") + @ApiModelProperty(value = "匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成 6已投诉") private Integer state;//匹配状态0:失败 1:匹配中 2:待支付 3:已支付 4:对方已确认 5:已完成 @ApiModelProperty(value = "微信收款码") private String wxQrcode;//微信收款码 -- Gitblit v1.9.1