经纪人

This commit is contained in:
曹磊 2024-08-05 14:42:56 +08:00
parent a3ce8477f1
commit 38771aad9e
8 changed files with 122 additions and 18 deletions

View File

@ -7,6 +7,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -18,23 +19,33 @@ public class JjrDataController {
@Autowired
private JjrDataService service;
@GetMapping("/findPage")
@ApiOperation("查询(分页)")
public Result findPage(JjrData jjrData){
return service.findPage(jjrData);
}
// @GetMapping("/invitationArtificerPage")
// @ApiOperation("邀请技师(分页)")
// public Result invitationArtificerPage(JjrData jjrData){
// return service.invitationArtificerPage(jjrData);
// }
//
// @GetMapping("/cancelInvitation")
// @ApiOperation("邀请技师(分页)")
// public Result invitationArtificerPage(JjrData jjrData){
// return service.invitationArtificerPage(jjrData);
// }
@GetMapping("/jjrList")
@ApiOperation("经纪人列表")
public Result jjrList(Integer page,Integer limit,String name,String phone){
JjrData jjrData = new JjrData();
jjrData.setPage(page);
jjrData.setLimit(limit);
jjrData.setName(name);
jjrData.setPhone(phone);
public Result jjrList(JjrData jjrData){
return service.findJjrPage(jjrData);
}
@GetMapping("/modifyJjr")
@PostMapping("/modifyJjr")
@ApiOperation("技师修改经纪人")
public Result modifyJjr(Long artificerUserId, String invitationCode){
JjrData jjrData = new JjrData();
jjrData.setArtificerUserId(artificerUserId);
jjrData.setInvitationCode(invitationCode);
public Result modifyJjr(JjrData jjrData){
service.modifyJjr(jjrData);
return Result.success();
}

View File

@ -12,6 +12,8 @@ import java.util.List;
@Mapper
public interface JjrDataDao extends BaseMapper<JjrData> {
IPage<JjrData> findPage(Page<JjrData> page, @Param("params") JjrData jjrData);
IPage<JjrData> invitationArtificerPage(Page<JjrData> page, @Param("params") JjrData jjrData);
IPage<JjrData> findJjrPage(Page<JjrData> page, @Param("params") JjrData jjrData);
JjrData getByCode(String invitationCode);
void modifyJjr(JjrData jjrData);

View File

@ -61,6 +61,11 @@ public class JjrData implements Serializable {
*/
@TableField(exist = false)
private String invitationCode;
/**
*比例
*/
@TableField(exist = false)
private BigDecimal rate;
/**
*备注
*/
@ -71,6 +76,26 @@ public class JjrData implements Serializable {
*/
@TableField(exist = false)
private Integer status;
/**
*累计邀请技师
*/
@TableField(exist = false)
private Integer artificerCount;
/**
*累计成交订单数量
*/
@TableField(exist = false)
private Integer ordersCount;
/**
*累计获得佣金
*/
@TableField(exist = false)
private BigDecimal money;
/**
*入住时间
*/
@TableField(exist = false)
private String approveTime;
/**
*开始时间
*/

View File

@ -5,6 +5,8 @@ import com.sqx.common.utils.Result;
import com.sqx.modules.bl.commission.jjr.entity.JjrData;
public interface JjrDataService extends IService<JjrData> {
Result findPage(JjrData jjrData);
Result invitationArtificerPage(JjrData jjrData);
Result findJjrPage(JjrData jjrData);
JjrData getByCode(String invitationCode);
void modifyJjr(JjrData jjrData);

View File

@ -67,13 +67,17 @@ public class JjrApplyServiceImpl extends ServiceImpl<JjrApplyDao, JjrApply> impl
List<JjrApply> list = baseMapper.findList(null);
for(int i=0;i<list.size();i++){
JjrApply entity = list.get(i);
entity.setRate(jjrConfig.getRate());
BigDecimal rate = jjrConfig.getRate();
rate = rate.divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
entity.setRate(rate);
baseMapper.setRate(entity);
}
}else{
JjrApply entity = baseMapper.selectById(jjrApply.getId());
if(jjrApply.getStatus() == 1){
entity.setRate(jjrConfig.getRate());
BigDecimal rate = jjrConfig.getRate();
rate = rate.divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
entity.setRate(rate);
}else if(jjrApply.getStatus() == 2){
entity.setRate(BigDecimal.ZERO);
}

View File

@ -1,18 +1,39 @@
package com.sqx.modules.bl.commission.jjr.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sqx.common.utils.PageUtils;
import com.sqx.common.utils.Result;
import com.sqx.modules.bl.commission.jjr.dao.JjrDataDao;
import com.sqx.modules.bl.commission.jjr.entity.JjrApply;
import com.sqx.modules.bl.commission.jjr.entity.JjrConfig;
import com.sqx.modules.bl.commission.jjr.entity.JjrData;
import com.sqx.modules.bl.commission.jjr.service.JjrConfigService;
import com.sqx.modules.bl.commission.jjr.service.JjrDataService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
@Service
public class JjrDataServiceImpl extends ServiceImpl<JjrDataDao, JjrData> implements JjrDataService {
@Autowired
private JjrConfigService configService;
@Override
public Result findPage(JjrData jjrData){
Page<JjrData> pages=new Page<>(jjrData.getPage(),jjrData.getLimit());
return Result.success().put("data",new PageUtils(baseMapper.findPage(pages,jjrData)));
}
@Override
public Result invitationArtificerPage(JjrData jjrData){
Page<JjrData> pages=new Page<>(jjrData.getPage(),jjrData.getLimit());
return Result.success().put("data",new PageUtils(baseMapper.invitationArtificerPage(pages,jjrData)));
}
@Override
public Result findJjrPage(JjrData jjrData){
Page<JjrData> pages=new Page<>(jjrData.getPage(),jjrData.getLimit());
@ -26,6 +47,10 @@ public class JjrDataServiceImpl extends ServiceImpl<JjrDataDao, JjrData> impleme
@Override
public void modifyJjr(JjrData jjrData){
JjrConfig jjrConfig = configService.getOne(new QueryWrapper<JjrConfig>());
BigDecimal rate = jjrConfig.getRate();
rate = rate.divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP);
jjrData.setRate(rate);
baseMapper.modifyJjr(jjrData);
}
}

View File

@ -81,7 +81,7 @@
<update id="setRate" parameterType="com.sqx.modules.bl.commission.jjr.entity.JjrApply">
update tb_user
set shop_rate=#{rate}
set bl_jjr_rate=#{rate}
where user_id=#{userId}
</update>

View File

@ -3,8 +3,9 @@
<mapper namespace="com.sqx.modules.bl.commission.jjr.dao.JjrDataDao">
<select id="findJjrPage" resultType="com.sqx.modules.bl.commission.jjr.entity.JjrData">
select a.id,a.user_id,b.avatar,b.user_name,a.name,a.phone,a.remarks,a.create_time,a.status,a.opinion
<select id="findPage" resultType="com.sqx.modules.bl.commission.jjr.entity.JjrData">
select a.id,a.user_id,b.avatar,b.user_name,a.name,a.phone,a.remarks,a.create_time,a.status,a.opinion,b.invitation_code,a.approve_time
from bl_jjr_apply a
inner join tb_user b on a.user_id = b.user_id
where a.status= 1
@ -15,10 +16,44 @@
and a.phone like concat('%',#{params.phone},'%')
</if>
<if test="params.startTime!=null and params.startTime!=''">
and a.create_time >= #{params.startTime}
and a.approve_time >= #{params.startTime}
</if>
<if test="params.endTime!=null and params.endTime!=''">
and a.create_time &lt;= #{params.endTime}
and a.approve_time &lt;= #{params.endTime}
</if>
order by id desc
</select>
<select id="invitationArtificerPage" resultType="com.sqx.modules.bl.commission.jjr.entity.JjrData">
select a.user_id,a.artificer_img as avatar,a.artificer_name as name,a.phone,b.invitation_code
from artificer a
inner join tb_user b on a.user_id = b.user_id
where b.bl_jjr_code= #{invitationCode}
<if test="params.name!=null and params.name!=''">
and a.artificer_name like concat('%',#{params.name},'%')
</if>
<if test="params.phone!=null and params.phone!=''">
and a.phone like concat('%',#{params.phone},'%')
</if>
order by id desc
</select>
<select id="findJjrPage" resultType="com.sqx.modules.bl.commission.jjr.entity.JjrData">
select a.id,a.user_id,b.avatar,b.user_name,a.name,a.phone,a.remarks,a.create_time,a.status,a.opinion,b.invitation_code,a.approve_time
from bl_jjr_apply a
inner join tb_user b on a.user_id = b.user_id
where a.status= 1
<if test="params.name!=null and params.name!=''">
and a.name like concat('%',#{params.name},'%')
</if>
<if test="params.phone!=null and params.phone!=''">
and a.phone like concat('%',#{params.phone},'%')
</if>
<if test="params.startTime!=null and params.startTime!=''">
and a.approve_time >= #{params.startTime}
</if>
<if test="params.endTime!=null and params.endTime!=''">
and a.approve_time &lt;= #{params.endTime}
</if>
order by id desc
</select>