Ver código fonte

用户表调整 给大模型提供的接口逻辑调整

王苗苗 4 meses atrás
pai
commit
8f1401acc0

+ 1 - 5
slibra-admin/src/main/java/com/slibra/web/controller/business/FrontController.java

@@ -67,11 +67,7 @@ public class FrontController extends BaseController {
     @PostMapping("/queryBusinessInfo")
     public AiChatRes queryBusinessInfo(@RequestBody AiChatReq aiChatReq){
         log.info("进入了 AI语音客服大模型请求 接口,请求参数为{}", JSON.toJSONString(aiChatReq));
-        AiChatRes aiChatRes = AiChatRes.builder().build();
-        HashMap<String, Object> map = new HashMap<>();
-        map.put("contents", Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9"));
-        aiChatRes.setData(map);
-        return aiChatRes;
+        return this.frontService.queryBusinessInfo(aiChatReq);
     }
 
 

+ 48 - 210
slibra-system/src/main/java/com/slibra/business/domain/TUserInfo.java

@@ -1,5 +1,9 @@
 package com.slibra.business.domain;
 
+import java.math.BigDecimal;
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.AllArgsConstructor;
 import lombok.Builder;
 import lombok.Data;
@@ -13,7 +17,7 @@ import com.slibra.common.core.domain.BaseEntity;
  * 用户信息对象 t_user_info
  * 
  * @author slibra
- * @date 2024-11-05
+ * @date 2024-11-06
  */
 @Data
 @Builder
@@ -26,13 +30,17 @@ public class TUserInfo extends BaseEntity
     /** 主键 */
     private Long id;
 
+    /** 用户编号 */
+    @Excel(name = "用户编号")
+    private String userNo;
+
     /** 户号 */
     @Excel(name = "户号")
     private String cardNo;
 
-    /** 用户编号 */
-    @Excel(name = "用户编号")
-    private String userNo;
+    /** 号 */
+    @Excel(name = "号")
+    private String ammeterNo;
 
     /** 用户名称 */
     @Excel(name = "用户名称")
@@ -42,25 +50,37 @@ public class TUserInfo extends BaseEntity
     @Excel(name = "移动电话", readConverterExp = "来=电号码")
     private String phone;
 
-    /** 省 */
-    @Excel(name = "省")
+    /** 省[冗余字段] */
+    @Excel(name = "省[冗余字段]")
+    @JsonIgnore
     private String province;
 
-    /** 市 */
-    @Excel(name = "市")
+    /** 市[冗余字段] */
+    @JsonIgnore
+    @Excel(name = "市[冗余字段]")
     private String city;
 
-    /** 区县 */
-    @Excel(name = "区县")
+    /** 区县[冗余字段] */
+    @JsonIgnore
+    @Excel(name = "区县[冗余字段]")
     private String country;
 
-    /** 街道 */
-    @Excel(name = "街道")
+    /** 水表地址 */
+    @Excel(name = "水表地址")
+    private String pumpingStationAddress;
+
+    /** 地区 */
+    @Excel(name = "地区")
+    private String area;
+
+    /** 街道[冗余字段] */
+    @JsonIgnore
+    @Excel(name = "街道[冗余字段]")
     private String street;
 
     /** 小区名称 */
     @Excel(name = "小区名称")
-    private String address;
+    private String neighbourhoodName;
 
     /** 楼号 */
     @Excel(name = "楼号")
@@ -70,13 +90,22 @@ public class TUserInfo extends BaseEntity
     @Excel(name = "门牌号")
     private String doorNo;
 
-    /** 表身号 */
-    @Excel(name = "表身号")
-    private String ammeterNo;
+    /** 最新抄表日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "最新抄表日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date statisticsTime;
+
+    /** 未扣费总额 */
+    @Excel(name = "未扣费总额")
+    private BigDecimal unpaidFees;
 
-    /** 泵站名称 */
-    @Excel(name = "泵站名称")
-    private String pumpingStation;
+    /** 账户余额 */
+    @Excel(name = "账户余额")
+    private BigDecimal balanceFees;
+
+    /** 实际欠费 */
+    @Excel(name = "实际欠费")
+    private BigDecimal waterFees;
 
     /** 抄表员名称 */
     @Excel(name = "抄表员名称")
@@ -93,195 +122,4 @@ public class TUserInfo extends BaseEntity
     @Excel(name = "乐观锁")
     private Long revision;
 
-    public void setId(Long id) 
-    {
-        this.id = id;
-    }
-
-    public Long getId() 
-    {
-        return id;
-    }
-    public void setCardNo(String cardNo) 
-    {
-        this.cardNo = cardNo;
-    }
-
-    public String getCardNo() 
-    {
-        return cardNo;
-    }
-    public void setUserNo(String userNo) 
-    {
-        this.userNo = userNo;
-    }
-
-    public String getUserNo() 
-    {
-        return userNo;
-    }
-    public void setName(String name) 
-    {
-        this.name = name;
-    }
-
-    public String getName() 
-    {
-        return name;
-    }
-    public void setPhone(String phone) 
-    {
-        this.phone = phone;
-    }
-
-    public String getPhone() 
-    {
-        return phone;
-    }
-    public void setProvince(String province) 
-    {
-        this.province = province;
-    }
-
-    public String getProvince() 
-    {
-        return province;
-    }
-    public void setCity(String city) 
-    {
-        this.city = city;
-    }
-
-    public String getCity() 
-    {
-        return city;
-    }
-    public void setCountry(String country) 
-    {
-        this.country = country;
-    }
-
-    public String getCountry() 
-    {
-        return country;
-    }
-    public void setStreet(String street) 
-    {
-        this.street = street;
-    }
-
-    public String getStreet() 
-    {
-        return street;
-    }
-    public void setAddress(String address) 
-    {
-        this.address = address;
-    }
-
-    public String getAddress() 
-    {
-        return address;
-    }
-    public void setBuildingNo(String buildingNo) 
-    {
-        this.buildingNo = buildingNo;
-    }
-
-    public String getBuildingNo() 
-    {
-        return buildingNo;
-    }
-    public void setDoorNo(String doorNo) 
-    {
-        this.doorNo = doorNo;
-    }
-
-    public String getDoorNo() 
-    {
-        return doorNo;
-    }
-    public void setAmmeterNo(String ammeterNo) 
-    {
-        this.ammeterNo = ammeterNo;
-    }
-
-    public String getAmmeterNo() 
-    {
-        return ammeterNo;
-    }
-    public void setPumpingStation(String pumpingStation) 
-    {
-        this.pumpingStation = pumpingStation;
-    }
-
-    public String getPumpingStation() 
-    {
-        return pumpingStation;
-    }
-    public void setMeterReader(String meterReader) 
-    {
-        this.meterReader = meterReader;
-    }
-
-    public String getMeterReader() 
-    {
-        return meterReader;
-    }
-    public void setMeterReaderPhone(String meterReaderPhone) 
-    {
-        this.meterReaderPhone = meterReaderPhone;
-    }
-
-    public String getMeterReaderPhone() 
-    {
-        return meterReaderPhone;
-    }
-    public void setDelFlag(Long delFlag) 
-    {
-        this.delFlag = delFlag;
-    }
-
-    public Long getDelFlag() 
-    {
-        return delFlag;
-    }
-    public void setRevision(Long revision) 
-    {
-        this.revision = revision;
-    }
-
-    public Long getRevision() 
-    {
-        return revision;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("id", getId())
-            .append("cardNo", getCardNo())
-            .append("userNo", getUserNo())
-            .append("name", getName())
-            .append("phone", getPhone())
-            .append("province", getProvince())
-            .append("city", getCity())
-            .append("country", getCountry())
-            .append("street", getStreet())
-            .append("address", getAddress())
-            .append("buildingNo", getBuildingNo())
-            .append("doorNo", getDoorNo())
-            .append("ammeterNo", getAmmeterNo())
-            .append("pumpingStation", getPumpingStation())
-            .append("meterReader", getMeterReader())
-            .append("meterReaderPhone", getMeterReaderPhone())
-            .append("delFlag", getDelFlag())
-            .append("revision", getRevision())
-            .append("createBy", getCreateBy())
-            .append("createTime", getCreateTime())
-            .append("updateBy", getUpdateBy())
-            .append("updateTime", getUpdateTime())
-            .append("remark", getRemark())
-            .toString();
-    }
 }

+ 14 - 0
slibra-system/src/main/java/com/slibra/business/mapper/TCutOffWaterMapper.java

@@ -58,4 +58,18 @@ public interface TCutOffWaterMapper
      * @return 结果
      */
     public int deleteTCutOffWaterByIds(Long[] ids);
+
+    /**
+     * 基于userId关联用户所在小区的停水信息
+     * @param phone
+     * @return
+     */
+//    List<TCutOffWater> getCutOffWaterByUserPhone(String phone);
+
+    /**
+     * 基于用户输入的小区信息,查询停水信息
+     * @param asrText
+     * @return
+     */
+    List<TCutOffWater> getCutOffWaterByNeighbourhoodName(String asrText);
 }

+ 1 - 1
slibra-system/src/main/java/com/slibra/business/mapper/TUserInfoMapper.java

@@ -7,7 +7,7 @@ import com.slibra.business.domain.TUserInfo;
  * 用户信息Mapper接口
  * 
  * @author slibra
- * @date 2024-11-05
+ * @date 2024-11-06
  */
 public interface TUserInfoMapper 
 {

+ 54 - 0
slibra-system/src/main/java/com/slibra/business/res/FeeInfo.java

@@ -0,0 +1,54 @@
+package com.slibra.business.res;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.slibra.common.annotation.Excel;
+import com.slibra.common.core.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 用户信息对象 t_user_info
+ * 
+ * @author slibra
+ * @date 2024-11-06
+ */
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class FeeInfo
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 最新抄表日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "最新抄表日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date statisticsTime;
+
+    /** 未扣费总额 */
+    @Excel(name = "未扣费总额")
+    private BigDecimal unpaidFees;
+
+    /** 账户余额 */
+    @Excel(name = "账户余额")
+    private BigDecimal balanceFees;
+
+    /** 实际欠费 */
+    @Excel(name = "实际欠费")
+    private BigDecimal waterFees;
+
+    /** 抄表员名称 */
+    @Excel(name = "抄表员名称")
+    private String meterReader;
+
+    /** 抄表员电话 */
+    @Excel(name = "抄表员电话")
+    private String meterReaderPhone;
+
+}

+ 3 - 0
slibra-system/src/main/java/com/slibra/business/service/IFrontService.java

@@ -1,6 +1,8 @@
 package com.slibra.business.service;
 
 import com.alibaba.fastjson2.JSONObject;
+import com.slibra.business.req.AiChatReq;
+import com.slibra.business.req.AiChatRes;
 import com.slibra.business.req.ChatReq;
 import com.slibra.business.req.WorkOrderReq;
 import com.slibra.business.res.*;
@@ -17,4 +19,5 @@ import java.util.Map;
 public interface IFrontService
 {
 
+    AiChatRes queryBusinessInfo(AiChatReq aiChatReq);
 }

+ 1 - 1
slibra-system/src/main/java/com/slibra/business/service/ITUserInfoService.java

@@ -7,7 +7,7 @@ import com.slibra.business.domain.TUserInfo;
  * 用户信息Service接口
  * 
  * @author slibra
- * @date 2024-11-05
+ * @date 2024-11-06
  */
 public interface ITUserInfoService 
 {

+ 81 - 0
slibra-system/src/main/java/com/slibra/business/service/impl/FrontServiceImpl.java

@@ -4,6 +4,8 @@ import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONObject;
 import com.slibra.business.domain.*;
 import com.slibra.business.mapper.*;
+import com.slibra.business.req.AiChatReq;
+import com.slibra.business.req.AiChatRes;
 import com.slibra.business.req.ChatReq;
 import com.slibra.business.req.WorkOrderReq;
 import com.slibra.business.res.*;
@@ -38,5 +40,84 @@ import static com.slibra.common.utils.DateUtils.getAllDatesBetween;
 @Slf4j
 public class FrontServiceImpl implements IFrontService {
 
+    @Autowired
+    private TCutOffWaterMapper cutOffWaterMapper;
 
+    @Autowired
+    private TUserInfoMapper  userInfoMapper;
+
+
+
+
+    @Override
+    public AiChatRes queryBusinessInfo(AiChatReq aiChatReq) {
+        AiChatRes aiChatRes = AiChatRes.builder().build();
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("contents", this.getBussinessDataByAiChatReq(aiChatReq));
+        aiChatRes.setData(map);
+        //大模型传过来的,再返回给大模型
+        aiChatRes.setUserId(aiChatReq.getUserId());
+        aiChatRes.setNodeId(aiChatReq.getNodeId());
+        aiChatRes.setSessionId(aiChatReq.getSessionId());
+        //返回结果
+        return aiChatRes;
+    }
+
+    private Object getBussinessDataByAiChatReq(AiChatReq aiChatReq) {
+        //判断不同的业务类型,返回不同的数据
+        String method = aiChatReq.getMethod();
+
+        String phone = aiChatReq.getUserId();
+        String asrText = aiChatReq.getAsrText();
+
+        //基于userId关联用户所在小区的停水信息
+        if(BusinessEnum.AiChatReqEnum.water_info.getCode().equals(method)){
+//            return this.cutOffWaterMapper.getCutOffWaterByUserPhone(phone);
+            //通过手机号获取对应的小区的名字,一个手机号只能查询到一个
+            List<TUserInfo> tUserInfos = this.userInfoMapper.selectTUserInfoList(TUserInfo.builder().phone(phone).build());
+            if(!CollectionUtils.isEmpty(tUserInfos)){
+                return this.cutOffWaterMapper.getCutOffWaterByNeighbourhoodName(tUserInfos.get(0).getNeighbourhoodName());
+            }
+        }
+        //基于用户输入的小区信息,查询停水信息
+        if(BusinessEnum.AiChatReqEnum.water_loc_info.getCode().equals(method)){
+            return this.cutOffWaterMapper.getCutOffWaterByNeighbourhoodName(asrText);
+        }
+        //基于userid查询用户户号信息
+        if(BusinessEnum.AiChatReqEnum.user_info.getCode().equals(method)){
+            return this.userInfoMapper.selectTUserInfoList(TUserInfo.builder().phone(phone).build());
+        }
+        //基于用户输入手机号信息查询用户户号信息
+        if(BusinessEnum.AiChatReqEnum.user_phone_info.getCode().equals(method)){
+            return this.userInfoMapper.selectTUserInfoList(TUserInfo.builder().userNo(asrText).build());
+        }
+        //基于userId查询水费信息
+        if(BusinessEnum.AiChatReqEnum.fee_info.getCode().equals(method)){
+            List<TUserInfo> tUserInfos = this.userInfoMapper.selectTUserInfoList(TUserInfo.builder().phone(phone).build());
+            List<FeeInfo> feeInfos = new ArrayList<>();
+            if(!CollectionUtils.isEmpty(tUserInfos)){
+                for (TUserInfo tUserInfo : tUserInfos) {
+                    FeeInfo feeInfo = new FeeInfo();
+                    BeanUtils.copyProperties(tUserInfo, feeInfo);
+                    feeInfos.add(feeInfo);
+                }
+            }
+            return feeInfos;
+        }
+        //基于用户输入输入户号查询水费信息
+        if(BusinessEnum.AiChatReqEnum.fee_user_info.getCode().equals(method)){
+            List<TUserInfo> tUserInfos = this.userInfoMapper.selectTUserInfoList(TUserInfo.builder().userNo(asrText).build());
+            List<FeeInfo> feeInfos = new ArrayList<>();
+            if(!CollectionUtils.isEmpty(tUserInfos)){
+                for (TUserInfo tUserInfo : tUserInfos) {
+                    FeeInfo feeInfo = new FeeInfo();
+                    BeanUtils.copyProperties(tUserInfo, feeInfo);
+                    feeInfos.add(feeInfo);
+                }
+            }
+            return feeInfos;
+        }
+        return null;
+
+    }
 }

+ 1 - 1
slibra-system/src/main/java/com/slibra/business/service/impl/TUserInfoServiceImpl.java

@@ -12,7 +12,7 @@ import com.slibra.business.service.ITUserInfoService;
  * 用户信息Service业务层处理
  * 
  * @author slibra
- * @date 2024-11-05
+ * @date 2024-11-06
  */
 @Service
 public class TUserInfoServiceImpl implements ITUserInfoService 

+ 26 - 0
slibra-system/src/main/resources/mapper/business/TCutOffWaterMapper.xml

@@ -102,4 +102,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
+
+
+    <!-- 2024年11月06日10:18:29 下面是新增的,不允许覆盖 -->
+<!--    <select id="getCutOffWaterByUserPhone" resultMap="TCutOffWaterResult">-->
+
+<!--    </select>-->
+
+    <select id="getCutOffWaterByNeighbourhoodName" resultMap="TCutOffWaterResult">
+        SELECT
+            *
+        FROM
+            t_cut_off_water
+        WHERE
+            pumping_station_neighborhood_building_id IN (
+                SELECT
+                    psnn.id
+                FROM
+                    t_pumping_station_neighbourhood_number psnn
+                        INNER JOIN t_neighborhood n ON psnn.neighborhood_id = n.id
+                        AND n.`name` LIKE concat('%', #{asrText}, '%')
+                        AND psnn.del_flag = 0
+                        AND n.del_flag = 0
+            )
+          AND NOW() BETWEEN time_begin
+            AND time_end
+    </select>
 </mapper>

+ 46 - 21
slibra-system/src/main/resources/mapper/business/TUserInfoMapper.xml

@@ -6,19 +6,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     
     <resultMap type="TUserInfo" id="TUserInfoResult">
         <result property="id"    column="id"    />
-        <result property="cardNo"    column="card_no"    />
         <result property="userNo"    column="user_no"    />
+        <result property="cardNo"    column="card_no"    />
+        <result property="ammeterNo"    column="ammeter_no"    />
         <result property="name"    column="name"    />
         <result property="phone"    column="phone"    />
         <result property="province"    column="province"    />
         <result property="city"    column="city"    />
         <result property="country"    column="country"    />
+        <result property="pumpingStationAddress"    column="pumping_station_address"    />
+        <result property="area"    column="area"    />
         <result property="street"    column="street"    />
-        <result property="address"    column="address"    />
+        <result property="neighbourhoodName"    column="neighbourhood_name"    />
         <result property="buildingNo"    column="building_no"    />
         <result property="doorNo"    column="door_no"    />
-        <result property="ammeterNo"    column="ammeter_no"    />
-        <result property="pumpingStation"    column="pumping_station"    />
+        <result property="statisticsTime"    column="statistics_time"    />
+        <result property="unpaidFees"    column="unpaid_fees"    />
+        <result property="balanceFees"    column="balance_fees"    />
+        <result property="waterFees"    column="water_fees"    />
         <result property="meterReader"    column="meter_reader"    />
         <result property="meterReaderPhone"    column="meter_reader_phone"    />
         <result property="delFlag"    column="del_flag"    />
@@ -31,26 +36,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
     <sql id="selectTUserInfoVo">
-        select id, card_no, user_no, name, phone, province, city, country, street, address, building_no, door_no, ammeter_no, pumping_station, meter_reader, meter_reader_phone, del_flag, revision, create_by, create_time, update_by, update_time, remark from t_user_info
+        select id, user_no, card_no, ammeter_no, name, phone, province, city, country, pumping_station_address, area, street, neighbourhood_name, building_no, door_no, statistics_time, unpaid_fees, balance_fees, water_fees, meter_reader, meter_reader_phone, del_flag, revision, create_by, create_time, update_by, update_time, remark from t_user_info
     </sql>
 
     <select id="selectTUserInfoList" parameterType="TUserInfo" resultMap="TUserInfoResult">
         <include refid="selectTUserInfoVo"/>
         <where>
             1 = 1
-            <if test="cardNo != null  and cardNo != ''"> and card_no = #{cardNo}</if>
             <if test="userNo != null  and userNo != ''"> and user_no = #{userNo}</if>
+            <if test="cardNo != null  and cardNo != ''"> and card_no = #{cardNo}</if>
+            <if test="ammeterNo != null  and ammeterNo != ''"> and ammeter_no = #{ammeterNo}</if>
             <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
             <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
             <if test="province != null  and province != ''"> and province = #{province}</if>
             <if test="city != null  and city != ''"> and city = #{city}</if>
             <if test="country != null  and country != ''"> and country = #{country}</if>
+            <if test="pumpingStationAddress != null  and pumpingStationAddress != ''"> and pumping_station_address = #{pumpingStationAddress}</if>
+            <if test="area != null  and area != ''"> and area = #{area}</if>
             <if test="street != null  and street != ''"> and street = #{street}</if>
-            <if test="address != null  and address != ''"> and address = #{address}</if>
+            <if test="neighbourhoodName != null  and neighbourhoodName != ''"> and neighbourhood_name like concat('%', #{neighbourhoodName}, '%')</if>
             <if test="buildingNo != null  and buildingNo != ''"> and building_no = #{buildingNo}</if>
             <if test="doorNo != null  and doorNo != ''"> and door_no = #{doorNo}</if>
-            <if test="ammeterNo != null  and ammeterNo != ''"> and ammeter_no = #{ammeterNo}</if>
-            <if test="pumpingStation != null  and pumpingStation != ''"> and pumping_station = #{pumpingStation}</if>
+            <if test="statisticsTime != null "> and statistics_time = #{statisticsTime}</if>
+            <if test="unpaidFees != null "> and unpaid_fees = #{unpaidFees}</if>
+            <if test="balanceFees != null "> and balance_fees = #{balanceFees}</if>
+            <if test="waterFees != null "> and water_fees = #{waterFees}</if>
             <if test="meterReader != null  and meterReader != ''"> and meter_reader = #{meterReader}</if>
             <if test="meterReaderPhone != null  and meterReaderPhone != ''"> and meter_reader_phone = #{meterReaderPhone}</if>
             <if test="revision != null "> and revision = #{revision}</if>
@@ -66,19 +76,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <insert id="insertTUserInfo" parameterType="TUserInfo" useGeneratedKeys="true" keyProperty="id">
         insert into t_user_info
         <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="cardNo != null">card_no,</if>
             <if test="userNo != null">user_no,</if>
+            <if test="cardNo != null">card_no,</if>
+            <if test="ammeterNo != null">ammeter_no,</if>
             <if test="name != null">name,</if>
             <if test="phone != null">phone,</if>
             <if test="province != null">province,</if>
             <if test="city != null">city,</if>
             <if test="country != null">country,</if>
+            <if test="pumpingStationAddress != null">pumping_station_address,</if>
+            <if test="area != null">area,</if>
             <if test="street != null">street,</if>
-            <if test="address != null">address,</if>
+            <if test="neighbourhoodName != null">neighbourhood_name,</if>
             <if test="buildingNo != null">building_no,</if>
             <if test="doorNo != null">door_no,</if>
-            <if test="ammeterNo != null">ammeter_no,</if>
-            <if test="pumpingStation != null">pumping_station,</if>
+            <if test="statisticsTime != null">statistics_time,</if>
+            <if test="unpaidFees != null">unpaid_fees,</if>
+            <if test="balanceFees != null">balance_fees,</if>
+            <if test="waterFees != null">water_fees,</if>
             <if test="meterReader != null">meter_reader,</if>
             <if test="meterReaderPhone != null">meter_reader_phone,</if>
             <if test="delFlag != null">del_flag,</if>
@@ -90,19 +105,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             <if test="remark != null">remark,</if>
          </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="cardNo != null">#{cardNo},</if>
             <if test="userNo != null">#{userNo},</if>
+            <if test="cardNo != null">#{cardNo},</if>
+            <if test="ammeterNo != null">#{ammeterNo},</if>
             <if test="name != null">#{name},</if>
             <if test="phone != null">#{phone},</if>
             <if test="province != null">#{province},</if>
             <if test="city != null">#{city},</if>
             <if test="country != null">#{country},</if>
+            <if test="pumpingStationAddress != null">#{pumpingStationAddress},</if>
+            <if test="area != null">#{area},</if>
             <if test="street != null">#{street},</if>
-            <if test="address != null">#{address},</if>
+            <if test="neighbourhoodName != null">#{neighbourhoodName},</if>
             <if test="buildingNo != null">#{buildingNo},</if>
             <if test="doorNo != null">#{doorNo},</if>
-            <if test="ammeterNo != null">#{ammeterNo},</if>
-            <if test="pumpingStation != null">#{pumpingStation},</if>
+            <if test="statisticsTime != null">#{statisticsTime},</if>
+            <if test="unpaidFees != null">#{unpaidFees},</if>
+            <if test="balanceFees != null">#{balanceFees},</if>
+            <if test="waterFees != null">#{waterFees},</if>
             <if test="meterReader != null">#{meterReader},</if>
             <if test="meterReaderPhone != null">#{meterReaderPhone},</if>
             <if test="delFlag != null">#{delFlag},</if>
@@ -118,19 +138,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <update id="updateTUserInfo" parameterType="TUserInfo">
         update t_user_info
         <trim prefix="SET" suffixOverrides=",">
-            <if test="cardNo != null">card_no = #{cardNo},</if>
             <if test="userNo != null">user_no = #{userNo},</if>
+            <if test="cardNo != null">card_no = #{cardNo},</if>
+            <if test="ammeterNo != null">ammeter_no = #{ammeterNo},</if>
             <if test="name != null">name = #{name},</if>
             <if test="phone != null">phone = #{phone},</if>
             <if test="province != null">province = #{province},</if>
             <if test="city != null">city = #{city},</if>
             <if test="country != null">country = #{country},</if>
+            <if test="pumpingStationAddress != null">pumping_station_address = #{pumpingStationAddress},</if>
+            <if test="area != null">area = #{area},</if>
             <if test="street != null">street = #{street},</if>
-            <if test="address != null">address = #{address},</if>
+            <if test="neighbourhoodName != null">neighbourhood_name = #{neighbourhoodName},</if>
             <if test="buildingNo != null">building_no = #{buildingNo},</if>
             <if test="doorNo != null">door_no = #{doorNo},</if>
-            <if test="ammeterNo != null">ammeter_no = #{ammeterNo},</if>
-            <if test="pumpingStation != null">pumping_station = #{pumpingStation},</if>
+            <if test="statisticsTime != null">statistics_time = #{statisticsTime},</if>
+            <if test="unpaidFees != null">unpaid_fees = #{unpaidFees},</if>
+            <if test="balanceFees != null">balance_fees = #{balanceFees},</if>
+            <if test="waterFees != null">water_fees = #{waterFees},</if>
             <if test="meterReader != null">meter_reader = #{meterReader},</if>
             <if test="meterReaderPhone != null">meter_reader_phone = #{meterReaderPhone},</if>
             <if test="delFlag != null">del_flag = #{delFlag},</if>