update 会员发票抬头功能代码

This commit is contained in:
2023-04-13 15:31:04 +08:00
parent 71b11e3d13
commit f7191823b6
7 changed files with 213 additions and 6 deletions

View File

@@ -13,13 +13,25 @@ import com.jsowell.common.response.RestApiResponse;
import com.jsowell.common.util.SMSUtil;
import com.jsowell.common.util.StringUtils;
import com.jsowell.pile.domain.MemberPlateNumberRelation;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.dto.BindingCarNoDTO;
import com.jsowell.pile.dto.BindingCardDTO;
import com.jsowell.pile.dto.CreateInvoiceTitleDTO;
import com.jsowell.pile.dto.MemberRegisterAndLoginDTO;
import com.jsowell.pile.dto.MemberRegisterDTO;
import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO;
import com.jsowell.pile.dto.WechatLoginDTO;
import com.jsowell.pile.dto.WeixinPayDTO;
import com.jsowell.pile.service.IMemberBasicInfoService;
import com.jsowell.pile.service.IMemberPlateNumberRelationService;
import com.jsowell.pile.vo.uniapp.InvoiceTitleVO;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -352,4 +364,47 @@ public class MemberController extends BaseController {
logger.info("用户解绑鉴权卡 result:{}", response);
return response;
}
/**
* 新增会员发票抬头
* http://localhost:8080/uniapp/member/createMemberInvoiceTitle
*/
@PostMapping("/createMemberInvoiceTitle")
public RestApiResponse<?> createMemberInvoiceTitle(HttpServletRequest request, CreateInvoiceTitleDTO title) {
RestApiResponse<?> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
memberService.createMemberInvoiceTitle(title);
response = new RestApiResponse<>();
} catch (BusinessException e) {
logger.error("新增会员发票抬头 error", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("新增会员发票抬头 error", e);
response = new RestApiResponse<>(e);
}
return response;
}
/**
* 查询会员发票抬头列表
* http://localhost:8080/uniapp/member/queryMemberInvoiceTitles
*/
@GetMapping("/queryMemberInvoiceTitles")
public RestApiResponse<?> queryMemberInvoiceTitles(HttpServletRequest request) {
RestApiResponse<?> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
List<InvoiceTitleVO> list = memberService.queryMemberInvoiceTitles(memberId);
response = new RestApiResponse<>(ImmutableMap.of("list", list));
} catch (BusinessException e) {
logger.error("查询会员发票抬头列表 error", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("查询会员发票抬头列表 error", e);
response = new RestApiResponse<>(e);
}
logger.info("查询会员发票抬头列表 result:{}", response);
return response;
}
}

View File

@@ -6,6 +6,7 @@ import com.jsowell.common.constant.CacheConstants;
import com.jsowell.common.constant.Constants;
import com.jsowell.common.core.page.PageResponse;
import com.jsowell.common.core.redis.RedisCache;
import com.jsowell.common.enums.TitleTypeEnum;
import com.jsowell.common.enums.uniapp.BalanceChangesEnum;
import com.jsowell.common.enums.ykc.ReturnCodeEnum;
import com.jsowell.common.exception.BusinessException;
@@ -13,22 +14,33 @@ import com.jsowell.common.util.JWTUtils;
import com.jsowell.common.util.StringUtils;
import com.jsowell.common.util.id.IdUtils;
import com.jsowell.pile.domain.MemberBasicInfo;
import com.jsowell.pile.domain.MemberInvoiceTitle;
import com.jsowell.pile.domain.MemberPlateNumberRelation;
import com.jsowell.pile.domain.MemberWalletInfo;
import com.jsowell.pile.domain.PileAuthCard;
import com.jsowell.pile.dto.*;
import com.jsowell.pile.dto.BindingCarNoDTO;
import com.jsowell.pile.dto.BindingCardDTO;
import com.jsowell.pile.dto.CreateInvoiceTitleDTO;
import com.jsowell.pile.dto.MemberRegisterAndLoginDTO;
import com.jsowell.pile.dto.MemberRegisterDTO;
import com.jsowell.pile.dto.UniAppQueryMemberBalanceDTO;
import com.jsowell.pile.dto.WechatLoginDTO;
import com.jsowell.pile.service.IMemberBasicInfoService;
import com.jsowell.pile.service.IMemberInvoiceTitleService;
import com.jsowell.pile.service.IMemberPlateNumberRelationService;
import com.jsowell.pile.service.IPileAuthCardService;
import com.jsowell.pile.service.IPileMerchantInfoService;
import com.jsowell.pile.transaction.dto.MemberTransactionDTO;
import com.jsowell.pile.transaction.service.TransactionService;
import com.jsowell.pile.vo.uniapp.InvoiceTitleVO;
import com.jsowell.pile.vo.uniapp.MemberVO;
import com.jsowell.pile.vo.uniapp.MemberWalletLogVO;
import com.jsowell.wxpay.service.WxAppletRemoteService;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -61,6 +73,9 @@ public class MemberService {
@Autowired
private IPileAuthCardService pileAuthCardService;
@Autowired
private IMemberInvoiceTitleService memberInvoiceTitleService;
/**
* 校验短信验证码
* @param dto
@@ -323,4 +338,31 @@ public class MemberService {
// 解绑鉴权卡
return pileAuthCardService.unBindingCard(authCard);
}
public List<InvoiceTitleVO> queryMemberInvoiceTitles(String memberId) {
List<InvoiceTitleVO> resultList = Lists.newArrayList();
MemberInvoiceTitle queryEntity = new MemberInvoiceTitle();
queryEntity.setMemberId(memberId);
List<MemberInvoiceTitle> memberInvoiceTitles = memberInvoiceTitleService.selectMemberInvoiceTitleList(queryEntity);
if (CollectionUtils.isEmpty(memberInvoiceTitles)) {
return resultList;
}
for (MemberInvoiceTitle memberInvoiceTitle : memberInvoiceTitles) {
resultList.add(
InvoiceTitleVO.builder()
.titleId(memberInvoiceTitle.getId() + "")
.titleName(memberInvoiceTitle.getName())
.titleType(TitleTypeEnum.getLabel(memberInvoiceTitle.getTitleType()))
.build()
);
}
return resultList;
}
public void createMemberInvoiceTitle(CreateInvoiceTitleDTO dto) {
MemberInvoiceTitle title = new MemberInvoiceTitle();
BeanUtils.copyProperties(dto, title);
int i = memberInvoiceTitleService.insertMemberInvoiceTitle(title);
log.info("新增{}条发票抬头", i);
}
}

View File

@@ -0,0 +1,39 @@
package com.jsowell.common.enums;
public enum TitleTypeEnum {
unit("1", "单位"),
person("2", "个人"),
;
private String value;
private String label;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
TitleTypeEnum(String value, String label) {
this.value = value;
this.label = label;
}
public static String getLabel(String value) {
for (TitleTypeEnum titleTypeEnum : TitleTypeEnum.values()) {
if (titleTypeEnum.getValue().equals(value)) {
return titleTypeEnum.getLabel();
}
}
return "";
}
}

View File

@@ -0,0 +1,52 @@
package com.jsowell.pile.dto;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class CreateInvoiceTitleDTO {
/**
* 会员id
*/
private String memberId;
/**
* 抬头类型1-单位2-个人)
*/
private String titleType;
/**
* 单位名称
*/
private String name;
/**
* 税号
*/
private String taxId;
/**
* 单位地址
*/
private String unitAddress;
/**
* 电话号码
*/
private String phoneNumber;
/**
* 开户银行
*/
private String bankName;
/**
* 银行账户
*/
private String bankAccountNumber;
}

View File

@@ -50,7 +50,6 @@ public class MemberInvoiceTitleServiceImpl implements IMemberInvoiceTitleService
*/
@Override
public int insertMemberInvoiceTitle(MemberInvoiceTitle memberInvoiceTitle) {
memberInvoiceTitle.setCreateTime(DateUtils.getNowDate());
return memberInvoiceTitleMapper.insertMemberInvoiceTitle(memberInvoiceTitle);
}

View File

@@ -0,0 +1,21 @@
package com.jsowell.pile.vo.uniapp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class InvoiceTitleVO {
// 抬头id
private String titleId;
// 抬头名称
private String titleName;
// 抬头类型 (单位或个人)
private String titleType;
}

View File

@@ -28,8 +28,7 @@
<sql id="selectMemberInvoiceTitleVo">
select
<include refid="Base_Column_List">
</include>
<include refid="Base_Column_List"/>
from member_invoice_title
</sql>