java110 4 gadi atpakaļ
vecāks
revīzija
1ecae45993

+ 18 - 0
java110-bean/src/main/java/com/java110/dto/couponUser/CouponUserDto.java

@@ -22,6 +22,7 @@ public class CouponUserDto extends PageDto implements Serializable {
     private String validityDay;
     private String poolId;
     private String tel;
+    private String[] tels;
     private String state;
     private String couponId;
     private String[] couponIds;
@@ -34,6 +35,7 @@ public class CouponUserDto extends PageDto implements Serializable {
     private String isExpire;
 
     private String statusCd = "0";
+    private String storeId;
 
 
     public String getCouponName() {
@@ -147,4 +149,20 @@ public class CouponUserDto extends PageDto implements Serializable {
     public void setIsExpire(String isExpire) {
         this.isExpire = isExpire;
     }
+
+    public String getStoreId() {
+        return storeId;
+    }
+
+    public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
+
+    public String[] getTels() {
+        return tels;
+    }
+
+    public void setTels(String[] tels) {
+        this.tels = tels;
+    }
 }

+ 58 - 30
java110-bean/src/main/java/com/java110/po/couponUser/CouponUserPo.java

@@ -16,7 +16,7 @@
 package com.java110.po.couponUser;
 
 import java.io.Serializable;
-import java.util.Date;
+
 /**
  * 类表述: Po 数据模型实体对象 基本保持与数据库模型一直 用于 增加修改删除 等时的数据载体
  * add by 吴学文 at 2021-11-24 00:19:34 mail: 928255095@qq.com
@@ -28,75 +28,103 @@ import java.util.Date;
 public class CouponUserPo implements Serializable {
 
     private String couponName;
-private String actualPrice;
-private String validityDay;
-private String poolId;
-private String tel;
-private String statusCd = "0";
-private String state;
-private String couponId;
-private String userName;
-private String userId;
-public String getCouponName() {
+    private String actualPrice;
+    private String validityDay;
+    private String poolId;
+    private String tel;
+    private String statusCd = "0";
+    private String state;
+    private String couponId;
+    private String userName;
+    private String userId;
+    private String storeId;
+
+    public String getCouponName() {
         return couponName;
     }
-public void setCouponName(String couponName) {
+
+    public void setCouponName(String couponName) {
         this.couponName = couponName;
     }
-public String getActualPrice() {
+
+    public String getActualPrice() {
         return actualPrice;
     }
-public void setActualPrice(String actualPrice) {
+
+    public void setActualPrice(String actualPrice) {
         this.actualPrice = actualPrice;
     }
-public String getValidityDay() {
+
+    public String getValidityDay() {
         return validityDay;
     }
-public void setValidityDay(String validityDay) {
+
+    public void setValidityDay(String validityDay) {
         this.validityDay = validityDay;
     }
-public String getPoolId() {
+
+    public String getPoolId() {
         return poolId;
     }
-public void setPoolId(String poolId) {
+
+    public void setPoolId(String poolId) {
         this.poolId = poolId;
     }
-public String getTel() {
+
+    public String getTel() {
         return tel;
     }
-public void setTel(String tel) {
+
+    public void setTel(String tel) {
         this.tel = tel;
     }
-public String getStatusCd() {
+
+    public String getStatusCd() {
         return statusCd;
     }
-public void setStatusCd(String statusCd) {
+
+    public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
-public String getState() {
+
+    public String getState() {
         return state;
     }
-public void setState(String state) {
+
+    public void setState(String state) {
         this.state = state;
     }
-public String getCouponId() {
+
+    public String getCouponId() {
         return couponId;
     }
-public void setCouponId(String couponId) {
+
+    public void setCouponId(String couponId) {
         this.couponId = couponId;
     }
-public String getUserName() {
+
+    public String getUserName() {
         return userName;
     }
-public void setUserName(String userName) {
+
+    public void setUserName(String userName) {
         this.userName = userName;
     }
-public String getUserId() {
+
+    public String getUserId() {
         return userId;
     }
-public void setUserId(String userId) {
+
+    public void setUserId(String userId) {
         this.userId = userId;
     }
 
 
+    public String getStoreId() {
+        return storeId;
+    }
+
+    public void setStoreId(String storeId) {
+        this.storeId = storeId;
+    }
 }

+ 28 - 3
java110-db/src/main/resources/mapper/acct/CouponUserV1ServiceDaoImplMapper.xml

@@ -8,9 +8,9 @@
     <!-- 保存用户优惠券信息 add by wuxw 2018-07-03 -->
     <insert id="saveCouponUserInfo" parameterType="Map">
         insert into coupon_user(
-        coupon_name,actual_price,validity_day,pool_id,tel,state,coupon_id,user_name,user_id
+        coupon_name,actual_price,validity_day,pool_id,tel,state,coupon_id,user_name,user_id,store_id
         ) values (
-        #{couponName},#{actualPrice},#{validityDay},#{poolId},#{tel},#{state},#{couponId},#{userName},#{userId}
+        #{couponName},#{actualPrice},#{validityDay},#{poolId},#{tel},#{state},#{couponId},#{userName},#{userId},#{storeId}
         )
     </insert>
 
@@ -20,7 +20,7 @@
         select t.coupon_name,t.coupon_name couponName,t.actual_price,t.actual_price
         actualPrice,t.validity_day,t.validity_day validityDay,t.pool_id,t.pool_id poolId,t.tel,t.status_cd,t.status_cd
         statusCd,t.state,t.coupon_id,t.coupon_id couponId,t.user_name,t.user_name userName,t.user_id,t.user_id
-        userId,t.create_time createTime
+        userId,t.create_time createTime,t.store_id storeId
         from coupon_user t
         where 1 =1
         <if test="couponName !=null and couponName != ''">
@@ -38,6 +38,12 @@
         <if test="tel !=null and tel != ''">
             and t.tel= #{tel}
         </if>
+        <if test="tels !=null">
+            and t.tel in
+            <foreach collection="tels" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
@@ -53,12 +59,16 @@
                 #{item}
             </foreach>
         </if>
+
         <if test="userName !=null and userName != ''">
             and t.user_name= #{userName}
         </if>
         <if test="userId !=null and userId != ''">
             and t.user_id= #{userId}
         </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -124,6 +134,12 @@
         <if test="tel !=null and tel != ''">
             and t.tel= #{tel}
         </if>
+        <if test="tels !=null">
+            and t.tel in
+            <foreach collection="tels" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="statusCd !=null and statusCd != ''">
             and t.status_cd= #{statusCd}
         </if>
@@ -133,12 +149,21 @@
         <if test="couponId !=null and couponId != ''">
             and t.coupon_id= #{couponId}
         </if>
+        <if test="couponIds !=null">
+            and t.coupon_id in
+            <foreach collection="couponIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
         <if test="userName !=null and userName != ''">
             and t.user_name= #{userName}
         </if>
         <if test="userId !=null and userId != ''">
             and t.user_id= #{userId}
         </if>
+        <if test="storeId !=null and storeId != ''">
+            and t.store_id= #{storeId}
+        </if>
 
 
     </select>

+ 56 - 7
service-acct/src/main/java/com/java110/acct/cmd/couponUser/ListCouponUserCmd.java

@@ -20,20 +20,24 @@ import com.java110.core.annotation.Java110Cmd;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
+import com.java110.core.log.LoggerFactory;
+import com.java110.dto.CommunityMemberDto;
+import com.java110.dto.couponUser.CouponUserDto;
+import com.java110.dto.owner.OwnerDto;
 import com.java110.intf.acct.ICouponUserV1InnerServiceSMO;
+import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
 import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
 import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
-import com.java110.dto.couponUser.CouponUserDto;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
 
-import java.util.List;
 import java.util.ArrayList;
-
-import org.springframework.http.ResponseEntity;
-import org.springframework.http.HttpStatus;
-import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
+import java.util.List;
 
 
 /**
@@ -53,9 +57,17 @@ public class ListCouponUserCmd extends Cmd {
     @Autowired
     private ICouponUserV1InnerServiceSMO couponUserV1InnerServiceSMOImpl;
 
+    @Autowired
+    private ICommunityMemberV1InnerServiceSMO communityMemberV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext cmdDataFlowContext, JSONObject reqJson) {
         super.validatePageInfo(reqJson);
+        Assert.hasKeyAndValue(reqJson, "tel", "未包含手机号");
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区");
     }
 
     @Override
@@ -63,6 +75,43 @@ public class ListCouponUserCmd extends Cmd {
 
         CouponUserDto couponUserDto = BeanConvertUtil.covertBean(reqJson, CouponUserDto.class);
 
+        //是否包含小区ID
+        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
+        communityMemberDto.setCommunityId(reqJson.getString("communityId"));
+        communityMemberDto.setMemberTypeCd(CommunityMemberDto.MEMBER_TYPE_PROPERTY);
+        communityMemberDto.setPage(1);
+        communityMemberDto.setRow(1);
+        List<CommunityMemberDto> communityMemberDtos = communityMemberV1InnerServiceSMOImpl.queryCommunityMembers(communityMemberDto);
+
+        Assert.listOnlyOne(communityMemberDtos, "小区物业不存在");
+
+        //查询所有家庭成员
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setLink(reqJson.getString("tel"));
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+        ownerDto.setPage(1);
+        ownerDto.setRow(1);
+        List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+
+        if (ownerDtos == null || ownerDtos.size() < 1) {
+            return;
+        }
+
+        ownerDto = new OwnerDto();
+        ownerDto.setOwnerId(ownerDtos.get(0).getOwnerId());
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+        ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto);
+        if (ownerDtos == null || ownerDtos.size() < 1) {
+            return;
+        }
+        List<String> tels = new ArrayList<>();
+        for (OwnerDto tmpOwnerDto : ownerDtos) {
+            tels.add(tmpOwnerDto.getLink());
+        }
+
+        couponUserDto.setTel("");
+        couponUserDto.setTels(tels.toArray(new String[tels.size()]));
+
         int count = couponUserV1InnerServiceSMOImpl.queryCouponUsersCount(couponUserDto);
 
         List<CouponUserDto> couponUserDtos = null;