增加订单签约各方真实信息接口

This commit is contained in:
2025-09-28 23:27:20 +08:00
parent 74bad2d393
commit 679f92415c
6 changed files with 113 additions and 3 deletions

View File

@ -4,6 +4,8 @@ package com.sczx.store.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sczx.store.common.Result;
import com.sczx.store.dto.CompanyStoreDTO;
import com.sczx.store.dto.OrderAgreementDTO;
import com.sczx.store.dto.req.QueryOrderAgreementReq;
import com.sczx.store.dto.req.StoreDistanceReq;
import com.sczx.store.service.StoreService;
import io.swagger.annotations.Api;
@ -36,4 +38,12 @@ public class StoreClientController {
public Result<IPage<CompanyStoreDTO>> listStoresByBBoxWithDistance(@RequestParam(name = "pageNo", required = false, defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", required = false, defaultValue = "10") Integer pageSize, @RequestBody StoreDistanceReq storeDistanceReq){
return Result.ok(storeService.listStoresByBBoxWithDistance(storeDistanceReq, pageNo, pageSize));
}
@ApiOperation(value = "查询订单协议签约各方信息")
@PostMapping("/queryOrderAgreement")
public Result<OrderAgreementDTO> queryOrderAgreement(@RequestBody QueryOrderAgreementReq req){
return Result.ok(storeService.queryOrderAgreement( req));
}
}

View File

@ -0,0 +1,28 @@
package com.sczx.store.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "订单协议签署各方信息")
@Data
public class OrderAgreementDTO {
@ApiModelProperty("平台正式名称")
private String platformOfficialName;
@ApiModelProperty("平台社会信用代码")
private String platformIdNo;
@ApiModelProperty("门店正式名称")
private String storeOfficialName;
@ApiModelProperty("门店社会信用代码")
private String storeIdNo;
@ApiModelProperty("用户真实姓名")
private String custRealName;
@ApiModelProperty("门店社会信用代码")
private String custIdNo;
}

View File

@ -20,10 +20,27 @@ public class SimpleUserInfoDTO {
@ApiModelProperty(value = "角色id")
private Integer roleId;
@ApiModelProperty(value = "小程序类型")
private String miniProgramType;
@ApiModelProperty("头像")
private String avatarUrl;
@ApiModelProperty("微信小程序 openid")
private String wechatOpenid;
@ApiModelProperty("支付宝小程序 userid")
private String alipayUserid;
@ApiModelProperty("支付宝小程序 openid")
private String alipayOpenid;
@ApiModelProperty("是否认证0未认证1已认证")
private Integer authed;
@ApiModelProperty("身份证号")
private String idNo;
@ApiModelProperty("实名")
private String realName;
}

View File

@ -0,0 +1,14 @@
package com.sczx.store.dto.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel(value = "查询订单协议签署各方信息请求")
@Data
public class QueryOrderAgreementReq {
@ApiModelProperty("门店id")
private Long storeId;
}

View File

@ -2,6 +2,8 @@ package com.sczx.store.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sczx.store.dto.CompanyStoreDTO;
import com.sczx.store.dto.OrderAgreementDTO;
import com.sczx.store.dto.req.QueryOrderAgreementReq;
import com.sczx.store.dto.req.StoreChangeReq;
import com.sczx.store.dto.req.StoreDistanceReq;
@ -17,6 +19,14 @@ public interface StoreService {
*/
IPage<CompanyStoreDTO> listStoresByBBoxWithDistance(StoreDistanceReq storeDistanceReq, Integer pageNo, Integer pageSize);
/**
* 查询订单协议信息
*
* @param req
* @return
*/
OrderAgreementDTO queryOrderAgreement(QueryOrderAgreementReq req);
/**
* 根据id获取门店信息
*

View File

@ -4,8 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.sczx.store.convert.StoreConvert;
import com.sczx.store.dto.CompanyDTO;
import com.sczx.store.dto.CompanyStoreDTO;
import com.sczx.store.dto.*;
import com.sczx.store.dto.req.QueryOrderAgreementReq;
import com.sczx.store.dto.req.StoreChangeReq;
import com.sczx.store.dto.req.StoreDistanceReq;
import com.sczx.store.exception.BizException;
@ -13,12 +13,17 @@ import com.sczx.store.po.CompanyStorePO;
import com.sczx.store.repository.CompanyStoreRepo;
import com.sczx.store.service.CompanyService;
import com.sczx.store.service.StoreService;
import com.sczx.store.service.SysDataService;
import com.sczx.store.util.JwtUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
@Service
public class StoreServiceImpl implements StoreService {
@ -31,11 +36,37 @@ public class StoreServiceImpl implements StoreService {
@Autowired
private CompanyService companyService;
@Autowired
private SysDataService sysDataService;
@Autowired
private JwtUtil jwtUtil;
@Override
public IPage<CompanyStoreDTO> listStoresByBBoxWithDistance(StoreDistanceReq storeDistanceReq, Integer pageNo, Integer pageSize) {
return companyStoreRepo.listStoresByBBoxWithDistance(storeDistanceReq,pageNo, pageSize);
}
@Override
public OrderAgreementDTO queryOrderAgreement(QueryOrderAgreementReq req) {
OrderAgreementDTO orderAgreementDTO = new OrderAgreementDTO();
List<SysDictDataDTO> sysDictDataList= sysDataService.listDictDataByDicType("platform_agreement");
if (CollectionUtils.isEmpty(sysDictDataList)) {
throw new BizException("未配置平台签约信息");
}
Map<String,SysDictDataDTO> sysDictDataMap = sysDictDataList.stream().collect(Collectors.toMap(SysDictDataDTO::getDictLabel, v -> v));
CompanyStorePO companyStorePO = companyStoreRepo.getById(req.getStoreId());
orderAgreementDTO.setStoreIdNo(companyStorePO.getExtend2());
orderAgreementDTO.setStoreOfficialName(companyStorePO.getExtend3());
orderAgreementDTO.setPlatformIdNo(sysDictDataMap.get("code").getDictValue());
orderAgreementDTO.setPlatformOfficialName(sysDictDataMap.get("name").getDictValue());
SimpleUserInfoDTO simpleUserInfoDTO = jwtUtil.getUserInfoFromToken();
orderAgreementDTO.setCustIdNo(simpleUserInfoDTO.getIdNo());
orderAgreementDTO.setCustRealName(simpleUserInfoDTO.getUserName());
return orderAgreementDTO;
}
@Override
public CompanyStoreDTO getStoreById(Integer id) {
CompanyStorePO companyStorePO = companyStoreRepo.getById(id);