liujunchi hace 2 años
padre
commit
afd1e6e55d

+ 12 - 2
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -1342,8 +1342,18 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
         BigDecimal reduce = orderItemList.stream()
                                          .map(omsOrderItem -> omsOrderItem.getCouponAmount().multiply(BigDecimal.valueOf(omsOrderItem.getProductQuantity())))
                                          .reduce(BigDecimal.ZERO, BigDecimal::add);
-        OmsOrderItem omsOrderItem = orderItemList.get(0);
-        omsOrderItem.setPrecisionAmount(coupon.subtract(reduce));
+        BigDecimal precisionAmount = coupon.subtract(reduce);
+        for (OmsOrderItem omsOrderItem : orderItemList) {
+            BigDecimal multiply = omsOrderItem.getRealAmount()
+                                              .multiply(BigDecimal.valueOf(omsOrderItem.getProductQuantity()));
+            if (multiply.compareTo(precisionAmount) >=0) {
+                omsOrderItem.setPrecisionAmount(precisionAmount);
+                break;
+            } else {
+                omsOrderItem.setPrecisionAmount(multiply);
+                precisionAmount = precisionAmount.subtract(multiply);
+            }
+        }
 
     }
 

+ 24 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/ReturnVisitSearch.java

@@ -5,6 +5,8 @@ import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
+import java.util.Date;
+
 /**
  * @Author: liweifan
  * @Data: 2022-11-08 15:37:44
@@ -25,6 +27,28 @@ public class ReturnVisitSearch extends QueryInfo{
 	@ApiModelProperty("回访标题")
 	private String title;
 
+	@ApiModelProperty("回访开始时间")
+	private Date startTime;
+
+	@ApiModelProperty("回访结束时间")
+	private Date endTime;
+
+	public Date getStartTime() {
+		return startTime;
+	}
+
+	public void setStartTime(Date startTime) {
+		this.startTime = startTime;
+	}
+
+	public Date getEndTime() {
+		return endTime;
+	}
+
+	public void setEndTime(Date endTime) {
+		this.endTime = endTime;
+	}
+
 	public Long getUserId() {
 		return userId;
 	}

+ 4 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/ReturnVisit.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
+import com.yonge.cooleshow.common.enums.SysUserType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -34,7 +35,7 @@ public class ReturnVisit implements Serializable {
     @ApiModelProperty(value = "用户类型 ",required = true)
     @TableField(value = "client_type_")
     @NotNull(message = "用户类型不能为空")
-    private ClientEnum clientType;
+    private SysUserType clientType;
 
     @ApiModelProperty(value = "回访标题 ",required = true)
     @TableField(value = "title_")
@@ -72,11 +73,11 @@ public class ReturnVisit implements Serializable {
         this.userId = userId;
     }
 
-    public ClientEnum getClientType() {
+    public SysUserType getClientType() {
         return clientType;
     }
 
-    public void setClientType(ClientEnum clientType) {
+    public void setClientType(SysUserType clientType) {
         this.clientType = clientType;
     }
 

+ 11 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/ReturnVisitVo.java

@@ -17,6 +17,17 @@ public class ReturnVisitVo extends ReturnVisit{
 	@ApiModelProperty("回访用户名")
 	private String username;
 
+	@ApiModelProperty("手机号")
+	private String phone;
+
+	public String getPhone() {
+		return phone;
+	}
+
+	public void setPhone(String phone) {
+		this.phone = phone;
+	}
+
 	public String getUsername() {
 		return username;
 	}

+ 13 - 0
cooleshow-user/user-biz/src/main/resources/config/mybatis/ReturnVisitMapper.xml

@@ -33,6 +33,7 @@
 		SELECT         
         	<include refid="baseColumns" />
         ,su.username_ as username
+        ,su.phone_ as phone
 		FROM return_visit t
         left join sys_user su on t.user_id_ = su.id_
         <where>
@@ -48,6 +49,18 @@
             <if test="param.title != null and param.title != ''">
                 and t.title_ like '%${param.title}%'
             </if>
+            <if test="param.startTime != null">
+                and t.create_time_ &gt;= #{param.startTime}
+            </if>
+            <if test="param.endTime != null">
+                and t.create_time_ &lt;= #{param.endTime}
+            </if>
+            <if test="param.search !=null and param.search != ''">
+                and (su.id_ like '%${param.search}%'
+                    or su.username_ like '%${param.search}%'
+                    or su.phone_ like '%${param.search}%'
+                )
+            </if>
         </where>
         order by t.id_ desc
 	</select>