diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/controller/BuyerController.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/controller/BuyerController.java index 164b41c7..87c41787 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/controller/BuyerController.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/controller/BuyerController.java @@ -44,7 +44,7 @@ import java.util.*; @Slf4j @RestController @Api(value = "购方信息", tags = {"管理模块"}) -@RequestMapping("/buyer") + @RequestMapping("/buyer") public class BuyerController { private static final String LOGGER_MSG = "(购方信息控制层)"; @@ -123,28 +123,6 @@ public class BuyerController { Long userId = userInfoService.getUser().getUserId(); String id = buyerEntity.getId(); - // 处理MDM默认银行账户等信息 - List bankListBOS = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(buyerEntity.getBanks())) { - buyerEntity.getBanks().forEach(i -> { - MdmBankListBO temp = new MdmBankListBO(); - temp.setAddress(i.getAddress()); - temp.setPhone(i.getPhone()); - temp.setBankNumber(i.getBankNumber()); - temp.setBankOfDeposit(i.getBankOfDeposit()); - bankListBOS.add(temp); - }); - - if (buyerEntity.getBankDefaultIndex() != null) { - buyerEntity.getBanks().get(buyerEntity.getBankDefaultIndex()); - Integer index = buyerEntity.getBankDefaultIndex(); - buyerEntity.setAddress(buyerEntity.getBanks().get(index).getAddress()); - buyerEntity.setPhone(buyerEntity.getBanks().get(index).getPhone()); - buyerEntity.setBankNumber(buyerEntity.getBanks().get(index).getBankNumber()); - buyerEntity.setBankOfDeposit(buyerEntity.getBanks().get(index).getBankOfDeposit()); - } - } - if (StringUtils.isNotBlank(id)) { // 修改 buyerEntity.setModifyUserId(userId.toString()); diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java index cd19ec97..e8404209 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/dao/BuyerMapper.java @@ -1,6 +1,7 @@ package com.dxhy.order.baseservice.module.buyer.dao; import com.dxhy.order.baseservice.module.buyer.model.BuyerEntity; +import com.dxhy.order.baseservice.module.buyer.model.BuyerEntityDetail; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -39,6 +40,10 @@ public interface BuyerMapper { */ int insertBuyer(BuyerEntity buyerEntity); + int batchInsertBuyerDetail(List buyerEntityDetails); + + int deleteBuyerDetail(String buyerManageId); + int insertBuyerOnDuplicateKey(BuyerEntity buyerEntity); /** diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java index 51df8d73..76dcbdf9 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntity.java @@ -129,6 +129,8 @@ public class BuyerEntity implements Serializable { // 银行账户 private List banks; + private List buyerEntityDetail; + // 默认银行账户的索引7 private Integer bankDefaultIndex; } diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntityDetail.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntityDetail.java new file mode 100644 index 00000000..b56f061d --- /dev/null +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/model/BuyerEntityDetail.java @@ -0,0 +1,55 @@ +package com.dxhy.order.baseservice.module.buyer.model; + +import lombok.Data; + +import java.util.Date; + +@Data +public class BuyerEntityDetail { + /** + * id + */ + private Integer consumerId; + /** + * buyer_manage_info 的主表 + */ + private String buyerManageId; + /** + * 客户银行名称 + */ + private String bankName; + + /** + * 客户银行账户 + */ + private String bankAccount; + + /** + * 购方地址 + */ + private String address; + /** + * 购方电话 + */ + private String phone; + /** + * 默认银行标记 + */ + private String defaultMark; + /** + * 创建人 + */ + private String createUser; + /** + * 更新人 + */ + private String updateUser; + /** + * 创建时间 + */ + private Date createTime; + /** + * 更新时间 + */ + private Date updateTime; +} diff --git a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/service/impl/BuyerServiceImpl.java b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/service/impl/BuyerServiceImpl.java index 58115611..c32d80a0 100644 --- a/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/service/impl/BuyerServiceImpl.java +++ b/order-management-base-service/src/main/java/com/dxhy/order/baseservice/module/buyer/service/impl/BuyerServiceImpl.java @@ -1,5 +1,6 @@ package com.dxhy.order.baseservice.module.buyer.service.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -320,6 +321,7 @@ public class BuyerServiceImpl implements BuyerService { @Override + @Transactional public R saveOrUpdateBuyerInfo(BuyerEntity buyerEntity) { /** @@ -329,16 +331,38 @@ public class BuyerServiceImpl implements BuyerService { shList.add(buyerEntity.getXhfNsrsbh()); R r = new R(); - if (ConfigureConstant.STRING_1.equals(buyerEntity.getIsEdit()) && StringUtils.isBlank(buyerEntity.getId())) { - BuyerEntity existBuyer = isExistBuyer(buyerEntity); - if (ObjectUtil.isNotNull(existBuyer)) { - buyerEntity.setId(existBuyer.getId()); - } +// if (ConfigureConstant.STRING_1.equals(buyerEntity.getIsEdit()) && StringUtils.isBlank(buyerEntity.getId())) { + BuyerEntity existBuyer = isExistBuyer(buyerEntity); + if (ObjectUtil.isNotNull(existBuyer)) { + buyerEntity.setId(existBuyer.getId()); + } + // 处理MDM默认银行账户等信息 + String buyerId = baseService.getGenerateShotKey(); + if (CollectionUtil.isNotEmpty(buyerEntity.getBuyerEntityDetail())) { + buyerEntity.getBuyerEntityDetail().forEach(t -> { + if(ConfigureConstant.STRING_1.equals(buyerEntity.getIsEdit())){ + t.setUpdateUser(""); + t.setUpdateTime(new Date()); + }else{ + t.setBuyerManageId(buyerId); + t.setCreateUser(""); + t.setCreateTime(new Date()); + } + if("0".equals(t.getDefaultMark())){ + buyerEntity.setAddress(t.getAddress()); + buyerEntity.setPhone(t.getPhone()); + buyerEntity.setBankNumber(t.getBankAccount()); + buyerEntity.setBankOfDeposit(t.getBankName()); + } + }); } - if (StringUtils.isNotBlank(buyerEntity.getId())) { + if (existBuyer != null) {//StringUtils.isNotBlank(buyerEntity.getId()) buyerEntity.setModifyTime(new Date()); + //更新明细表,最好的办法是先删除后新增 + buyerMapper.deleteBuyerDetail(buyerEntity.getId()); + buyerMapper.batchInsertBuyerDetail(buyerEntity.getBuyerEntityDetail()); int i = buyerMapper.updateBuyer(buyerEntity, shList); if (i <= 0) { @@ -346,40 +370,17 @@ public class BuyerServiceImpl implements BuyerService { } } else { - BuyerEntity buyerEntity1 = new BuyerEntity(); - buyerEntity1.setBuyerCode(buyerEntity.getBuyerCode()); - buyerEntity1.setTaxpayerCode(buyerEntity.getTaxpayerCode()); - buyerEntity1.setPurchaseName(buyerEntity.getPurchaseName()); - List queryBuyerEntity = buyerMapper.selectBuyerByBuyerEntity(buyerEntity1, shList); - if (queryBuyerEntity != null && queryBuyerEntity.size() > 0) { - - buyerEntity.setModifyTime(new Date()); - buyerEntity.setBuyerCode(queryBuyerEntity.get(0).getBuyerCode()); - buyerEntity.setId(queryBuyerEntity.get(0).getId()); - //更新客户信息 - int i = buyerMapper.updateBuyer(buyerEntity, shList); - - if (i <= 0) { - r.put("message", "修改失败").put(OrderManagementConstant.CODE, ConfigureConstant.STRING_9999); - } - - - } else { - //新增购方信息 - if (StringUtils.isBlank(buyerEntity.getBuyerCode())) { - buyerEntity.setBuyerCode(baseService.getGenerateShotKey()); - } - String uuid = baseService.getGenerateShotKey(); - log.info("{}添加开始执行开始执行 uuid = {}", LOGGER_MSG, uuid); - buyerEntity.setId(uuid); - - int i = buyerMapper.insertBuyer(buyerEntity); - if (i <= 0) { - r.put("message", "添加失败").put(OrderManagementConstant.CODE, ConfigureConstant.STRING_9999); - } + //新增购方信息 + if (StringUtils.isBlank(buyerEntity.getBuyerCode())) { + buyerEntity.setBuyerCode(baseService.getGenerateShotKey()); + } + log.info("{}添加开始执行开始执行 uuid = {}", LOGGER_MSG, buyerId); + buyerEntity.setId(buyerId); + buyerMapper.batchInsertBuyerDetail(buyerEntity.getBuyerEntityDetail()); + int i = buyerMapper.insertBuyer(buyerEntity); + if (i <= 0) { + r.put("message", "添加失败").put(OrderManagementConstant.CODE, ConfigureConstant.STRING_9999); } - - } return R.ok().put(OrderManagementConstant.MESSAGE, "保存成功!"); diff --git a/order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml b/order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml index c38f5ddd..26e25c90 100644 --- a/order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml +++ b/order-management-base-service/src/main/resources/mybatis/mapper/BuyerMapper.xml @@ -25,6 +25,19 @@ + + + + + + + + + + + + + @@ -35,28 +48,29 @@ SELECT - id, - taxpayer_code, - purchase_name, - address, - phone, - bank_of_deposit, - bank_number, - email, - sjh, - remarks, - create_user_id, - DATE_FORMAT(create_time, '%Y-%m-%d') createTime, - DATE_FORMAT(modify_time, '%Y-%m-%d') modifyTime, - modify_user_id, - ghf_qylx, - xhf_nsrsbh, - xhf_mc, - buyer_code, - create_time, - status + bmi.id, + bmi.taxpayer_code, + bmi.purchase_name, + bmi.address, + bmi.phone, + bmi.bank_of_deposit, + bmi.bank_number, + bmi.email, + bmi.sjh, + bmi.remarks, + bmi.create_user_id, + bmi.DATE_FORMAT(create_time, '%Y-%m-%d') createTime, + bmi.DATE_FORMAT(modify_time, '%Y-%m-%d') modifyTime, + bmi.modify_user_id, + bmi.ghf_qylx, + bmi.xhf_nsrsbh, + bmi.xhf_mc, + bmi.buyer_code, + bmi.create_time, + bmi.status, + bmid.* FROM - buyer_manage_info + buyer_manage_info bmi left join buyer_manage_info_detail bmid on bmi.id = bmid.buyer_manage_id and xhf_nsrsbh = '' @@ -274,6 +288,88 @@ + + + + INSERT INTO buyer_manage_info_detail + + + + + + buyer_manage_id, + + + bank_name, + + + bank_account, + + + address, + + + phone, + + + default_mark, + + + create_user, + + + update_user, + + + create_time, + + + update_time, + + + + + + + + + #{buyerManageId,jdbcType=VARCHAR}, + + + #{bankName,jdbcType=VARCHAR}, + + + #{bankAccount,jdbcType=VARCHAR}, + + + #{address,jdbcType=VARCHAR}, + + + #{phone,jdbcType=VARCHAR}, + + + #{defaultMark,jdbcType=VARCHAR}, + + + #{createUser,jdbcType=VARCHAR}, + + + #{updateUser,jdbcType=VARCHAR}, + + + now(), + + + now(), + + + + + + + DELETE FROM buyer_manage_info_detail where buyer_manage_info = #{buyerManageId,jdbcType=VARCHAR} + +