售中提成计算,售前推送提成计算,优化修改客户手机号时更改绑定对应的微信用户逻辑
This commit is contained in:
@ -38,6 +38,11 @@ public class SysCommision extends BaseEntity {
|
||||
*/
|
||||
private Long postId;
|
||||
|
||||
/**
|
||||
* 岗位编码code
|
||||
*/
|
||||
private String postCode;
|
||||
|
||||
/**
|
||||
* 业务员
|
||||
*/
|
||||
|
@ -70,4 +70,11 @@ public interface SysWxUserInfoMapper
|
||||
* @return
|
||||
*/
|
||||
public SysWxUserInfo getSysWxUserInfoByPhone(@Param("phone")String phone);
|
||||
|
||||
/**
|
||||
* 根据openid移除对应绑定的cusId
|
||||
* @param openid
|
||||
* @return
|
||||
*/
|
||||
public int removeCusIdByOpenId(@Param("openid")String openid);
|
||||
}
|
@ -70,5 +70,12 @@ public interface ISysWxUserInfoService
|
||||
*/
|
||||
public SysWxUserInfo getSysWxUserInfoByPhone(String phone);
|
||||
|
||||
/**
|
||||
* 根据openid移除对应绑定的cusId
|
||||
* @param openid
|
||||
* @return
|
||||
*/
|
||||
public int removeCusIdByOpenId(String openid);
|
||||
|
||||
|
||||
}
|
@ -198,11 +198,33 @@ public class SysCustomerServiceImpl implements ISysCustomerService {
|
||||
if(newCustomer == null || newCustomer.getId() == null || StringUtils.isEmpty(newCustomer.getPhone())){
|
||||
return;
|
||||
}
|
||||
//先根据cusId查询是否已经绑定过微信用户
|
||||
SysWxUserInfo cusIdWxUserInfo = sysWxUserInfoService.selectSysWxUserInfoByCusId(newCustomer.getId());
|
||||
//根据手机号查询微信用户记录
|
||||
SysWxUserInfo wxUserInfo = sysWxUserInfoService.getSysWxUserInfoByPhone(newCustomer.getPhone());
|
||||
if(wxUserInfo != null && (wxUserInfo.getCusId() == null || wxUserInfo.getCusId().longValue() != newCustomer.getId())){
|
||||
wxUserInfo.setCusId(newCustomer.getId());
|
||||
sysWxUserInfoService.updateSysWxUserInfo(wxUserInfo);
|
||||
SysWxUserInfo phoneWxUserInfo = sysWxUserInfoService.getSysWxUserInfoByPhone(newCustomer.getPhone());
|
||||
if(cusIdWxUserInfo != null) {
|
||||
if(phoneWxUserInfo != null){
|
||||
if(!cusIdWxUserInfo.getOpenid().equals(phoneWxUserInfo.getOpenid())){
|
||||
//解绑之前记录
|
||||
sysWxUserInfoService.removeCusIdByOpenId(cusIdWxUserInfo.getOpenid());
|
||||
//更新
|
||||
SysWxUserInfo param = new SysWxUserInfo();
|
||||
param.setOpenid(phoneWxUserInfo.getOpenid());
|
||||
param.setCusId(newCustomer.getId());
|
||||
sysWxUserInfoService.updateSysWxUserInfo(param);
|
||||
}
|
||||
}else{
|
||||
//解绑之前记录
|
||||
sysWxUserInfoService.removeCusIdByOpenId(cusIdWxUserInfo.getOpenid());
|
||||
}
|
||||
}else{
|
||||
if(phoneWxUserInfo != null){
|
||||
//更新
|
||||
SysWxUserInfo param = new SysWxUserInfo();
|
||||
param.setOpenid(phoneWxUserInfo.getOpenid());
|
||||
param.setCusId(newCustomer.getId());
|
||||
sysWxUserInfoService.updateSysWxUserInfo(param);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -106,4 +106,13 @@ public class SysWxUserInfoServiceImpl implements ISysWxUserInfoService {
|
||||
public SysWxUserInfo getSysWxUserInfoByPhone(String phone){
|
||||
return sysWxUserInfoMapper.getSysWxUserInfoByPhone(phone);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据openid移除对应绑定的cusId
|
||||
* @param openid
|
||||
* @return
|
||||
*/
|
||||
public int removeCusIdByOpenId(String openid){
|
||||
return sysWxUserInfoMapper.removeCusIdByOpenId(openid);
|
||||
}
|
||||
}
|
@ -42,12 +42,17 @@
|
||||
<if test="endTime != null and endTime != ''">AND date_format(order_time,'%y%m%d') <=
|
||||
date_format(${endTime},'%y%m%d')
|
||||
</if>
|
||||
<!-- 因为体验单、售中单都存在售中,所以售中的提成金额只计算售中单的,不计算体验单 -->
|
||||
<if test="postCode != null and postCode == 'on_sale_id'">
|
||||
and order_type = 3
|
||||
</if>
|
||||
GROUP BY ${column}
|
||||
</sql>
|
||||
|
||||
<select id="selectSysCommisionDetail" parameterType="SysCommision" resultMap="SysCommisionResult">
|
||||
SELECT * FROM view_user_post pa
|
||||
JOIN (
|
||||
<if test="postId == null or postId == 0">
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="pre_sale_id"/>
|
||||
<property name="reviewStatus" value="#{reviewStatus}"/>
|
||||
@ -56,6 +61,22 @@
|
||||
<property name="postId" value="5"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="push_pre_sale_id"/>
|
||||
<property name="reviewStatus" value="#{reviewStatus}"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="18"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="on_sale_id"/>
|
||||
<property name="reviewStatus" value="#{reviewStatus}"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="16"/>
|
||||
</include>
|
||||
UNION
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="after_sale_id"/>
|
||||
<property name="reviewStatus" value="#{reviewStatus}"/>
|
||||
@ -111,9 +132,19 @@
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="8"/>
|
||||
</include>
|
||||
</if>
|
||||
<if test="postId != null and postId > 0">
|
||||
<include refid="groupAmountVo">
|
||||
<property name="column" value="${postCode}"/>
|
||||
<property name="reviewStatus" value="#{reviewStatus}"/>
|
||||
<property name="beginTime" value="#{beginTime}"/>
|
||||
<property name="endTime" value="#{endTime}"/>
|
||||
<property name="postId" value="${postId}"/>
|
||||
</include>
|
||||
</if>
|
||||
) AS a USING(user_id, post_id)
|
||||
<where>
|
||||
<if test="postId != null and postId != ''">and post_id = #{postId}</if>
|
||||
<!--<if test="postId != null and postId != ''">and post_id = #{postId}</if>-->
|
||||
<if test="userId != null and userId != ''">and user_id = #{userId}</if>
|
||||
<if test="userIds != null">
|
||||
and user_id in
|
||||
@ -122,6 +153,7 @@
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
order by user_id asc
|
||||
</select>
|
||||
|
||||
<sql id="selectSysCommisionVo">
|
||||
|
@ -135,4 +135,9 @@
|
||||
where phone = #{phone} order by create_time desc limit 1
|
||||
</select>
|
||||
|
||||
<!-- 根据openid移除绑定的cusId -->
|
||||
<update id="removeCusIdByOpenId" parameterType="String">
|
||||
update sys_wx_user_info set cus_id = null where openid = #{openid}
|
||||
</update>
|
||||
|
||||
</mapper>
|
Reference in New Issue
Block a user