From f7191823b6c8f07fd2ed35827253a2a7e514a9eb Mon Sep 17 00:00:00 2001 From: "autumn.g@foxmail.com" Date: Thu, 13 Apr 2023 15:31:04 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=9A=E5=91=98=E5=8F=91=E7=A5=A8?= =?UTF-8?q?=E6=8A=AC=E5=A4=B4=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jsowell/api/uniapp/MemberController.java | 59 ++++++++++++++++++- .../com/jsowell/service/MemberService.java | 44 +++++++++++++- .../jsowell/common/enums/TitleTypeEnum.java | 39 ++++++++++++ .../pile/dto/CreateInvoiceTitleDTO.java | 52 ++++++++++++++++ .../impl/MemberInvoiceTitleServiceImpl.java | 1 - .../pile/vo/uniapp/InvoiceTitleVO.java | 21 +++++++ .../mapper/pile/MemberInvoiceTitleMapper.xml | 3 +- 7 files changed, 213 insertions(+), 6 deletions(-) create mode 100644 jsowell-common/src/main/java/com/jsowell/common/enums/TitleTypeEnum.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateInvoiceTitleDTO.java create mode 100644 jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/InvoiceTitleVO.java diff --git a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java index 3efa68d99..6dde8e42d 100644 --- a/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java +++ b/jsowell-admin/src/main/java/com/jsowell/api/uniapp/MemberController.java @@ -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 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; + } } diff --git a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java index 32b5fadee..b5a906c94 100644 --- a/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java +++ b/jsowell-admin/src/main/java/com/jsowell/service/MemberService.java @@ -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 queryMemberInvoiceTitles(String memberId) { + List resultList = Lists.newArrayList(); + MemberInvoiceTitle queryEntity = new MemberInvoiceTitle(); + queryEntity.setMemberId(memberId); + List 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); + } } diff --git a/jsowell-common/src/main/java/com/jsowell/common/enums/TitleTypeEnum.java b/jsowell-common/src/main/java/com/jsowell/common/enums/TitleTypeEnum.java new file mode 100644 index 000000000..953736b03 --- /dev/null +++ b/jsowell-common/src/main/java/com/jsowell/common/enums/TitleTypeEnum.java @@ -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 ""; + } +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateInvoiceTitleDTO.java b/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateInvoiceTitleDTO.java new file mode 100644 index 000000000..a62f20744 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/dto/CreateInvoiceTitleDTO.java @@ -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; +} diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberInvoiceTitleServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberInvoiceTitleServiceImpl.java index a565057c8..21fb90be6 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberInvoiceTitleServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/MemberInvoiceTitleServiceImpl.java @@ -50,7 +50,6 @@ public class MemberInvoiceTitleServiceImpl implements IMemberInvoiceTitleService */ @Override public int insertMemberInvoiceTitle(MemberInvoiceTitle memberInvoiceTitle) { - memberInvoiceTitle.setCreateTime(DateUtils.getNowDate()); return memberInvoiceTitleMapper.insertMemberInvoiceTitle(memberInvoiceTitle); } diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/InvoiceTitleVO.java b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/InvoiceTitleVO.java new file mode 100644 index 000000000..b8b4d7b02 --- /dev/null +++ b/jsowell-pile/src/main/java/com/jsowell/pile/vo/uniapp/InvoiceTitleVO.java @@ -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; +} diff --git a/jsowell-pile/src/main/resources/mapper/pile/MemberInvoiceTitleMapper.xml b/jsowell-pile/src/main/resources/mapper/pile/MemberInvoiceTitleMapper.xml index b5976d1ee..8837010ae 100644 --- a/jsowell-pile/src/main/resources/mapper/pile/MemberInvoiceTitleMapper.xml +++ b/jsowell-pile/src/main/resources/mapper/pile/MemberInvoiceTitleMapper.xml @@ -28,8 +28,7 @@ select - - + from member_invoice_title