소스 검색

添加客户基本信息

dujinyan 7 년 전
부모
커밋
33fd8cbe4d

+ 18 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/customer/ChannelSaleInfo.java

@@ -17,6 +17,24 @@ public class ChannelSaleInfo implements Serializable{
     private Date create_date;//创建时间
     private Integer channelCategory;//渠道类别 1:电商 2:特殊渠道 3:线下 4:海外
     private String channelType;//渠道类型
+    private String channelName;//渠道名称
+    private String channelCode;//渠道编码
+
+    public String getChannelCode() {
+        return channelCode;
+    }
+
+    public void setChannelCode(String channelCode) {
+        this.channelCode = channelCode;
+    }
+
+    public String getChannelName() {
+        return channelName;
+    }
+
+    public void setChannelName(String channelName) {
+        this.channelName = channelName;
+    }
 
     public Integer getChannelSaleId() {
         return channelSaleId;

+ 1 - 1
watero-rst-interface/src/main/java/com/iamberry/rst/faces/customer/CustomerBasicService.java

@@ -95,7 +95,7 @@ public interface CustomerBasicService {
      * @return
      */
     public void saveCustomerBasicInfo(CustomerBasicInfo customerBasicInfo,List<DockedContactInfo> dockedContactInfoList, List<ChannelSaleInfo> channelSaleInfoList,
-                                      BillingInfo billingInfo, TicketOpeningInfo ticketOpeningInfo);
+                                      BillingInfo billingInfo, TicketOpeningInfo ticketOpeningInfo) throws Exception;
 
     /**
      * 查询所有省份

+ 20 - 19
watero-rst-service/src/main/java/com/iamberry/rst/service/customer/CustomerBasicServiceImpl.java

@@ -103,35 +103,36 @@ public class CustomerBasicServiceImpl implements CustomerBasicService{
     @Override
     @Transactional
     public void saveCustomerBasicInfo(CustomerBasicInfo customerBasicInfo,List<DockedContactInfo> dockedContactInfoList, List<ChannelSaleInfo> channelSaleInfoList,
-                                      BillingInfo billingInfo, TicketOpeningInfo ticketOpeningInfo) {
+                                      BillingInfo billingInfo, TicketOpeningInfo ticketOpeningInfo) throws Exception{
         logger.info("saveCustomerBasicInfo start...");
         int customerId = -1;
+        int channelDivisionId = -1;
         try {
-            customerBasicInfo = customerBasicInfoSaveMapper.saveCustomerBasicInfo(customerBasicInfo);
-            if(customerBasicInfo != null){
-                customerId = customerBasicInfo.getCustomerId();
-                if(customerId != -1){
-                    if(dockedContactInfoList != null && dockedContactInfoList.size()>0){
-                        for (DockedContactInfo dockedContactInfo: dockedContactInfoList) {
-                            dockedContactInfo.setCustomerId(customerId);
-                            customerBasicInfoSaveMapper.saveDockedContactInfo(dockedContactInfo);
-                        }
+            customerId = customerBasicInfoSaveMapper.saveCustomerBasicInfo(customerBasicInfo);
+            if(customerId != -1){
+                if(dockedContactInfoList != null && dockedContactInfoList.size()>0){
+                    for (DockedContactInfo dockedContactInfo: dockedContactInfoList) {
+                        dockedContactInfo.setCustomerId(customerId);
+                        customerBasicInfoSaveMapper.saveDockedContactInfo(dockedContactInfo);
                     }
-                    if(channelSaleInfoList != null && channelSaleInfoList.size()>0){
-                        for (ChannelSaleInfo channelSaleInfo: channelSaleInfoList) {
-                            channelSaleInfo.setCustomerId(customerId);
-                            customerBasicInfoSaveMapper.saveChannelSaleInfo(channelSaleInfo);
-                        }
+                }
+                if(channelSaleInfoList != null && channelSaleInfoList.size()>0){
+                    for (ChannelSaleInfo channelSaleInfo: channelSaleInfoList) {
+                        channelSaleInfo.setCustomerId(customerId);
+                        channelDivisionId = customerBasicInfoSaveMapper.saveChannelDivisionInfo(channelSaleInfo);
+                        channelSaleInfo.setChannelDivisionId(channelDivisionId);
+                        customerBasicInfoSaveMapper.saveChannelSaleInfo(channelSaleInfo);
                     }
-                    billingInfo.setCustomerId(customerId);
-                    ticketOpeningInfo.setCustomerId(customerId);
-                    customerBasicInfoSaveMapper.saveBillingInfo(billingInfo);
-                    customerBasicInfoSaveMapper.saveTicketOpeningInfo(ticketOpeningInfo);
                 }
+                billingInfo.setCustomerId(customerId);
+                ticketOpeningInfo.setCustomerId(customerId);
+                customerBasicInfoSaveMapper.saveBillingInfo(billingInfo);
+                customerBasicInfoSaveMapper.saveTicketOpeningInfo(ticketOpeningInfo);
             }
             logger.info("saveCustomerBasicInfo end...");
         }catch (Exception e){
             logger.error("添加客户信息失败"+e.getMessage());
+            throw new RuntimeException("添加客户信息失败");
         }
 
     }

+ 11 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/customer/mapper/CustomerBasicMapper.java

@@ -34,7 +34,7 @@ public interface CustomerBasicMapper {
      * @param customerBasicInfo
      * @return
      */
-    public CustomerBasicInfo saveCustomerBasicInfo(CustomerBasicInfo customerBasicInfo);
+    public int saveCustomerBasicInfo(CustomerBasicInfo customerBasicInfo);
 
     /**
      * 添加对接联系人信息
@@ -45,7 +45,7 @@ public interface CustomerBasicMapper {
     public void saveDockedContactInfo(DockedContactInfo dockedContactInfo);
 
     /**
-     * 添加客户销售渠道备案信息
+     * 添加客户销售渠道备案信息-销售产品表
      *
      * @param channelSaleInfo
      * @return
@@ -53,6 +53,14 @@ public interface CustomerBasicMapper {
     public void saveChannelSaleInfo(ChannelSaleInfo channelSaleInfo);
 
     /**
+     * 添加客户销售渠道备案信息-渠道表
+     *
+     * @param channelSaleInfo
+     * @return
+     */
+    public int saveChannelDivisionInfo(ChannelSaleInfo channelSaleInfo);
+
+    /**
      * 添加付款/退款信息
      *
      * @param billingInfo
@@ -146,4 +154,5 @@ public interface CustomerBasicMapper {
      * @return
      */
     public List<ProductColor> querySupplyPriceList(String promotingProductsId);
+
 }

+ 19 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/customer/mapper/CustomerBasicMapper.xml

@@ -291,7 +291,10 @@
 
     <!--新增部分 start-->
     <!-- 添加客户基本信息 -->
-    <insert id="saveCustomerBasicInfo" parameterType="CustomerBasicInfo" useGeneratedKeys="true"  keyProperty="customer_id">
+    <insert id="saveCustomerBasicInfo" parameterType="CustomerBasicInfo">
+        <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="customerId">
+            SELECT LAST_INSERT_ID() AS id
+        </selectKey>
         INSERT INTO
         tb_rst_customer_basic_info
         (
@@ -318,10 +321,23 @@
         )
     </insert>
 
-    <!-- 添加客户销售渠道备案信息 -->
+    <!-- 添加客户销售渠道备案信息(渠道表) -->
+    <insert id="saveChannelDivisionInfo" parameterType="ChannelSaleInfo">
+        INSERT INTO
+        tb_rst_channel_division_info
+        (
+        customer_id, channel_category, channel_type, channel_name, channel_code,create_date
+        )
+        VALUES
+        (
+        #{customerId},#{channelCategory},#{channelType},#{channelName},#{channelCode},NOW()
+        )
+    </insert>
+
+    <!-- 添加客户销售渠道备案信息(产品表) -->
     <insert id="saveChannelSaleInfo" parameterType="ChannelSaleInfo">
         INSERT INTO
-        tb_rst_ channel_sale_info
+        tb_rst_channel_sale_info
         (
         customer_id, channel_division_id, channel_name, promoting_products, supply_price,account_period,create_date
         )

+ 4 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/customer/CustomerBasicController.java

@@ -296,6 +296,7 @@ public class CustomerBasicController {
     @RequestMapping("/save_customer_info")
     public ResponseJson saveCustomerBasicInfo(HttpServletRequest request,String customerInfoJson,String dockedContactInfoListJson,
                                               String channelSaleInfoListJson,String billingInfoJson,String ticketOpeningInfoJson) throws Exception {
+        Integer adminId = AdminUtils.getLoginAdminId();
         JSONArray jsonArray;
         List<DockedContactInfo> dockedContactInfoList;
         List<ChannelSaleInfo> channelSaleInfoList;
@@ -306,12 +307,13 @@ public class CustomerBasicController {
         channelSaleInfoList = (List) JSONArray.toCollection(jsonArray, ChannelSaleInfo.class);
         JSONObject customerJsonObject =  JSONObject.fromObject(customerInfoJson);
         CustomerBasicInfo customerBasicInfo = (CustomerBasicInfo) customerJsonObject.toBean(customerJsonObject,CustomerBasicInfo.class);
+        customerBasicInfo.setIdCreateBy(adminId);
 
         JSONObject billingInfoJsonObject =  JSONObject.fromObject(billingInfoJson);
         BillingInfo billingInfo = (BillingInfo) billingInfoJsonObject.toBean(billingInfoJsonObject,BillingInfo.class);
 
         JSONObject ticketOpeningInfoJsonObject =  JSONObject.fromObject(ticketOpeningInfoJson);
-        TicketOpeningInfo ticketOpeningInfo = (TicketOpeningInfo) customerJsonObject.toBean(customerJsonObject,TicketOpeningInfo.class);
+        TicketOpeningInfo ticketOpeningInfo = (TicketOpeningInfo) ticketOpeningInfoJsonObject.toBean(ticketOpeningInfoJsonObject,TicketOpeningInfo.class);
         logger.info("-----------------saveCustomerBasicInfo...Start----------------------");
         ResponseJson rjx = this.isValiData(customerBasicInfo);
         Boolean isSaveSuccess = false;//是否保存成功标识
@@ -320,7 +322,7 @@ public class CustomerBasicController {
         }
         logger.info("-----------------添加客户信息开始----------------------");
         try {
-//            customerBasicInfoSaveService.saveCustomerBasicInfo(customerBasicInfo,dockedContactInfoList,channelSaleInfoList,billingInfo,ticketOpeningInfo);
+            customerBasicService.saveCustomerBasicInfo(customerBasicInfo,dockedContactInfoList,channelSaleInfoList,billingInfo,ticketOpeningInfo);
             isSaveSuccess = true;
         } catch (RuntimeException e) {
             isSaveSuccess = false;