Selaa lähdekoodia

买家门户网站-个人信息设置.增加 地区/地址 字段

Gaosheng 6 päivää sitten
vanhempi
commit
495408590e

+ 6 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/dto/MemberInfoUpdateDTO.java

@@ -30,4 +30,10 @@ public class MemberInfoUpdateDTO implements Serializable {
 
     @ApiModelProperty("主营业务")
     private String memberMainProduct;
+
+    @ApiModelProperty("国家")
+    private String country;
+
+    @ApiModelProperty("城市")
+    private String city;
 }

+ 6 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/member/pojo/Member.java

@@ -139,6 +139,12 @@ public class Member implements Serializable {
     @ApiModelProperty("主营业务")
     private String memberMainProduct;
 
+    @ApiModelProperty("国家")
+    private String country;
+
+    @ApiModelProperty("城市")
+    private String city;
+
     /**
      * 获取账户余额
      */

+ 14 - 0
xinkeaboard-server/b2b2c-entity/src/main/java/com/slodon/b2b2c/system/dto/CountryAreaApiDto.java

@@ -8,6 +8,8 @@ package com.slodon.b2b2c.system.dto;
 public class CountryAreaApiDto {
     private String countryZhCN;
     private String countryIsoCode;
+    private String cityZhCN;
+    private String cityIsoCode;
     private String subdivisionZhCN;
     private String subdivisionIsoCode;
     private String timeZone;
@@ -28,6 +30,18 @@ public class CountryAreaApiDto {
         this.countryIsoCode = countryIsoCode;
     }
 
+    public String getCityZhCN() {return cityZhCN;}
+
+    public void setCityZhCN(String cityZhCN) {
+        this.cityZhCN = cityZhCN;
+    }
+
+    public String getCityIsoCode() {return cityIsoCode;}
+
+    public void setCityIsoCode(String cityIsoCode) {
+        this.cityIsoCode = cityIsoCode;
+    }
+
     public String getSubdivisionZhCN() {
         return subdivisionZhCN;
     }

+ 6 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/front/MemberInfoController.java

@@ -32,6 +32,7 @@ import com.slodon.b2b2c.model.msg.MemberReceiveModel;
 import com.slodon.b2b2c.model.promotion.CouponMemberModel;
 import com.slodon.b2b2c.msg.example.MemberReceiveExample;
 import com.slodon.b2b2c.promotion.example.CouponMemberExample;
+import com.slodon.b2b2c.system.dto.CountryAreaApiDto;
 import com.slodon.b2b2c.vo.member.MemberInfoVO;
 import com.slodon.b2b2c.vo.member.MemberVO;
 import io.swagger.annotations.Api;
@@ -156,6 +157,11 @@ public class MemberInfoController extends BaseController {
             memberDb.setMemberAvatar(stringRedisTemplate.opsForValue().get("default_image_user_portrait"));
         }
         MemberVO vo = new MemberVO(memberDb);
+        if (!StringUtil.isEmpty(memberDb.getLastLoginIp())){
+            CountryAreaApiDto countryAreaApiDto = memberEnquiryModel.getCountryAndAreaByIp(memberDb.getLastLoginIp());
+            vo.setCountry(countryAreaApiDto.getCountryIsoCode());
+            vo.setCity(countryAreaApiDto.getCityIsoCode());
+        }
         return SldResponse.success(vo);
     }
 

+ 10 - 2
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/member/advich/MemberEnquiryModel.java

@@ -6,6 +6,7 @@ import com.maxmind.db.CHMCache;
 import com.maxmind.geoip2.DatabaseReader;
 import com.maxmind.geoip2.exception.GeoIp2Exception;
 import com.maxmind.geoip2.model.CityResponse;
+import com.maxmind.geoip2.record.City;
 import com.maxmind.geoip2.record.Country;
 import com.maxmind.geoip2.record.Location;
 import com.maxmind.geoip2.record.Subdivision;
@@ -135,10 +136,17 @@ public class MemberEnquiryModel {
             if ("台湾".equals(country.getNames().get("zh-CN"))) {
                 dto.setCountryZhCN("中国台湾");
             }
+            if ("中华民国".equals(country.getNames().get("zh-CN"))) {
+                dto.setCountryZhCN("中国台湾");
+            }
             if ("澳门".equals(country.getNames().get("zh-CN"))) {
                 dto.setCountryZhCN("中国澳门");
             }
             dto.setCountryIsoCode(country.getIsoCode());
+            //城市
+            City city = response.getCity();
+            dto.setCityZhCN(city.getNames().get("zh-CN"));
+            dto.setCityIsoCode(StringUtil.isEmpty(city.getName()) ? country.getIsoCode() : city.getName());
             //省份
             Subdivision subdivision = response.getMostSpecificSubdivision();
             dto.setSubdivisionIsoCode(subdivision.getIsoCode());
@@ -597,10 +605,10 @@ public class MemberEnquiryModel {
                 try {
                     String[] siteParam = {siteName};
                     //定义参数值
-                    if(StringUtil.isEmpty(enquiry.getPhone())){
+                    if (StringUtil.isEmpty(enquiry.getPhone())) {
                         enquiry.setPhoneCode("");
                     }
-                    String[] templateArray = {enquiry.getName(), enquiry.getEmail(), enquiry.getCountry(),enquiry.getPhoneCode(), enquiry.getPhone(), enquiry.getQuantity() == null ? "-" : String.valueOf(enquiry.getQuantity()), enquiry.getMessage(), enquiry.getPageUrl()};
+                    String[] templateArray = {enquiry.getName(), enquiry.getEmail(), enquiry.getCountry(), enquiry.getPhoneCode(), enquiry.getPhone(), enquiry.getQuantity() == null ? "-" : String.valueOf(enquiry.getQuantity()), enquiry.getMessage(), enquiry.getPageUrl()};
                     sendHtmlMail(storeTpl.getEmailContent(), tos, siteParam, templateArray, pattern);
                 } catch (Exception e) {
                     log.error("[sendEnquiryInfo][发送邮件]:", e);

+ 8 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/vo/member/MemberVO.java

@@ -76,6 +76,12 @@ public class MemberVO implements Serializable {
     @ApiModelProperty("主营业务")
     private String memberMainProduct;
 
+    @ApiModelProperty("国家")
+    private String country;
+
+    @ApiModelProperty("城市")
+    private String city;
+
     public MemberVO(Member member) {
         memberId = member.getMemberId();
         memberName = member.getMemberName();
@@ -95,6 +101,8 @@ public class MemberVO implements Serializable {
         registerTime = member.getRegisterTime();
         memberCompany = member.getMemberCompany();
         memberMainProduct = member.getMemberMainProduct();
+        country = member.getCountry();
+        city = member.getCity();
     }
 
     public static String dealGenderValue(Integer gender) {