增加区域 类型划分
This commit is contained in:
parent
65ca7bf9aa
commit
270ad85a10
|
|
@ -57,11 +57,40 @@ public class WorkerAreaController extends BaseController {
|
||||||
* 查询某个师傅的所有接单地区
|
* 查询某个师傅的所有接单地区
|
||||||
*
|
*
|
||||||
* @param workerId 师傅ID
|
* @param workerId 师傅ID
|
||||||
|
* @param serviceType 服务类型:1=服务, 2=商品,不传则查询所有
|
||||||
*/
|
*/
|
||||||
@GetMapping("worker")
|
@GetMapping("worker")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult getByWorker(Long workerId) {
|
public AjaxResult getByWorker(Long workerId, Integer serviceType) {
|
||||||
return AjaxResult.success(workerAreaService.getByWorker(workerId));
|
if (serviceType != null) {
|
||||||
|
// 根据服务类型查询
|
||||||
|
return AjaxResult.success(workerAreaService.getByWorkerIdAndType(workerId, serviceType));
|
||||||
|
} else {
|
||||||
|
// 查询所有区域(保持向后兼容)
|
||||||
|
return AjaxResult.success(workerAreaService.getByWorker(workerId));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询某个师傅的服务区域(类型1)
|
||||||
|
*
|
||||||
|
* @param workerId 师傅ID
|
||||||
|
*/
|
||||||
|
@GetMapping("worker/service")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult getServiceAreasByWorker(Long workerId) {
|
||||||
|
return AjaxResult.success(workerAreaService.getByWorkerIdAndType(workerId, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询某个师傅的商品区域(类型2)
|
||||||
|
*
|
||||||
|
* @param workerId 师傅ID
|
||||||
|
*/
|
||||||
|
@GetMapping("worker/goods")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult getGoodsAreasByWorker(Long workerId) {
|
||||||
|
return AjaxResult.success(workerAreaService.getByWorkerIdAndType(workerId, 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("worker/edit")
|
@GetMapping("worker/edit")
|
||||||
|
|
|
||||||
|
|
@ -415,15 +415,21 @@ public class WorkerController extends BaseController {
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public AjaxResult settled(@RequestBody WorkerSettledRequest request) {
|
public AjaxResult settled(@RequestBody WorkerSettledRequest request) {
|
||||||
// 入驻区域信息持久化
|
// 入驻服务区域信息持久化(类型1)
|
||||||
workerAreaService.updateWorkerServArea(request.getWorkerId(), request.getWorkerAreas());
|
workerAreaService.updateWorkerAreaByType(request.getWorkerId(), request.getWorkerAreas(), 1);
|
||||||
|
|
||||||
|
// 入驻商品区域信息持久化(类型2)
|
||||||
|
workerAreaService.updateWorkerAreaByType(request.getWorkerId(), request.getWorkerGoodsAreas(), 2);
|
||||||
|
|
||||||
// 入驻服务品类信息持久化
|
// 入驻服务品类信息持久化
|
||||||
workerGoodsCategoryService.updateWorkerGoodsCategory(request.getWorkerId(), request.getGoodsCategories());
|
workerGoodsCategoryService.updateWorkerGoodsCategory(request.getWorkerId(), request.getGoodsCategories());
|
||||||
|
|
||||||
// 更新师傅入驻类型为服务商
|
// 更新师傅入驻类型为服务商
|
||||||
Worker worker = new Worker();
|
Worker worker = new Worker();
|
||||||
worker.setWorkerId(request.getWorkerId());
|
worker.setWorkerId(request.getWorkerId());
|
||||||
worker.setType(WorkerType.SP.getCode());
|
worker.setType(WorkerType.SP.getCode());
|
||||||
workerService.updateWorker(worker);
|
workerService.updateWorker(worker);
|
||||||
|
|
||||||
return AjaxResult.success("保存成功");
|
return AjaxResult.success("保存成功");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,9 @@ public class WorkerSettledRequest {
|
||||||
// 入驻区域
|
// 入驻区域
|
||||||
private List<WorkerArea> workerAreas;
|
private List<WorkerArea> workerAreas;
|
||||||
|
|
||||||
|
// 入驻商品区域
|
||||||
|
private List<WorkerArea> workerGoodsAreas;
|
||||||
|
|
||||||
// 服务品类
|
// 服务品类
|
||||||
private List<WorkerGoodsCategory> goodsCategories;
|
private List<WorkerGoodsCategory> goodsCategories;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,4 +42,9 @@ public class WorkerArea extends BaseEntity {
|
||||||
private List<String> streetIds;
|
private List<String> streetIds;
|
||||||
|
|
||||||
private String mergerName;
|
private String mergerName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 服务类型:1=服务, 2=商品
|
||||||
|
*/
|
||||||
|
private Integer serviceType;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,5 +22,15 @@ public interface WorkerAreaMapper {
|
||||||
|
|
||||||
List<WorkerArea> getByWorker(Long workerId);
|
List<WorkerArea> getByWorker(Long workerId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据师傅ID和服务类型删除区域
|
||||||
|
*/
|
||||||
|
int deleteByWorkerIdAndType(@Param("workerId") Long workerId, @Param("serviceType") Integer serviceType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据师傅ID和服务类型查询区域
|
||||||
|
*/
|
||||||
|
List<WorkerArea> getByWorkerIdAndType(@Param("workerId") Long workerId, @Param("serviceType") Integer serviceType);
|
||||||
|
|
||||||
List<WorkerArea> getWorkerAreaList(WorkerArea workerArea);
|
List<WorkerArea> getWorkerAreaList(WorkerArea workerArea);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,5 +21,21 @@ public interface WorkerAreaService {
|
||||||
|
|
||||||
void updateWorkerServArea(Long workerId, List<WorkerArea> areas);
|
void updateWorkerServArea(Long workerId, List<WorkerArea> areas);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据服务类型更新师傅区域
|
||||||
|
* @param workerId 师傅ID
|
||||||
|
* @param areas 区域列表
|
||||||
|
* @param serviceType 服务类型:1=服务, 2=商品
|
||||||
|
*/
|
||||||
|
void updateWorkerAreaByType(Long workerId, List<WorkerArea> areas, Integer serviceType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据师傅ID和服务类型查询区域
|
||||||
|
* @param workerId 师傅ID
|
||||||
|
* @param serviceType 服务类型:1=服务, 2=商品
|
||||||
|
* @return 区域列表
|
||||||
|
*/
|
||||||
|
List<WorkerArea> getByWorkerIdAndType(Long workerId, Integer serviceType);
|
||||||
|
|
||||||
List<WorkerArea> getWorkerAreaList(WorkerArea area);
|
List<WorkerArea> getWorkerAreaList(WorkerArea area);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,28 @@ public class WorkerAreaServiceImpl implements WorkerAreaService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateWorkerAreaByType(Long workerId, List<WorkerArea> areas, Integer serviceType) {
|
||||||
|
if (areas == null || areas.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 先删除该师傅该类型的旧区域
|
||||||
|
workerAreaMapper.deleteByWorkerIdAndType(workerId, serviceType);
|
||||||
|
|
||||||
|
// 插入新的区域,并设置类型
|
||||||
|
for (WorkerArea area : areas) {
|
||||||
|
area.setWorkerId(workerId);
|
||||||
|
area.setServiceType(serviceType); // 设置类型:1=服务, 2=商品
|
||||||
|
workerAreaMapper.insert(area);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WorkerArea> getByWorkerIdAndType(Long workerId, Integer serviceType) {
|
||||||
|
return workerAreaMapper.getByWorkerIdAndType(workerId, serviceType);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<WorkerArea> getWorkerAreaList(WorkerArea area) {
|
public List<WorkerArea> getWorkerAreaList(WorkerArea area) {
|
||||||
return workerAreaMapper.getWorkerAreaList(area);
|
return workerAreaMapper.getWorkerAreaList(area);
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,12 @@
|
||||||
<result property="updateTime" column="update_time"/>
|
<result property="updateTime" column="update_time"/>
|
||||||
<result property="remark" column="remark"/>
|
<result property="remark" column="remark"/>
|
||||||
<result property="mergerName" column="merger_name"/>
|
<result property="mergerName" column="merger_name"/>
|
||||||
|
<result property="serviceType" column="service_type"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectWorkerArea">
|
<sql id="selectWorkerArea">
|
||||||
SELECT wa.worker_area_id, wa.worker_id, wa.province_id, wa.city_id, wa.district_id, wa.street_id, wa.create_by, wa.create_time,
|
SELECT wa.worker_area_id, wa.worker_id, wa.province_id, wa.city_id, wa.district_id, wa.street_id, wa.create_by, wa.create_time,
|
||||||
wa.update_by, wa.update_time, wa.remark, sa.area_name, sa.merger_name
|
wa.update_by, wa.update_time, wa.remark, wa.service_type, sa.area_name, sa.merger_name
|
||||||
FROM worker_area wa
|
FROM worker_area wa
|
||||||
LEFT JOIN sys_area sa on wa.street_id = sa.area_id
|
LEFT JOIN sys_area sa on wa.street_id = sa.area_id
|
||||||
</sql>
|
</sql>
|
||||||
|
|
@ -31,6 +32,7 @@
|
||||||
<if test="cityId != null and cityId > 0">city_id,</if>
|
<if test="cityId != null and cityId > 0">city_id,</if>
|
||||||
<if test="districtId != null and districtId > 0">district_id,</if>
|
<if test="districtId != null and districtId > 0">district_id,</if>
|
||||||
<if test="streetId != null and streetId > 0">street_id,</if>
|
<if test="streetId != null and streetId > 0">street_id,</if>
|
||||||
|
<if test="serviceType != null">service_type,</if>
|
||||||
<if test="createBy != null and createBy != ''">create_by,</if>
|
<if test="createBy != null and createBy != ''">create_by,</if>
|
||||||
<if test="remark != null and remark != ''">remark,</if>
|
<if test="remark != null and remark != ''">remark,</if>
|
||||||
create_time
|
create_time
|
||||||
|
|
@ -40,6 +42,7 @@
|
||||||
<if test="cityId != null and cityId > 0">#{cityId},</if>
|
<if test="cityId != null and cityId > 0">#{cityId},</if>
|
||||||
<if test="districtId != null and districtId > 0">#{districtId},</if>
|
<if test="districtId != null and districtId > 0">#{districtId},</if>
|
||||||
<if test="streetId != null and streetId > 0">#{streetId},</if>
|
<if test="streetId != null and streetId > 0">#{streetId},</if>
|
||||||
|
<if test="serviceType != null">#{serviceType},</if>
|
||||||
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
<if test="createBy != null and createBy != ''">#{createBy},</if>
|
||||||
<if test="remark != null and remark != ''">#{remark},</if>
|
<if test="remark != null and remark != ''">#{remark},</if>
|
||||||
sysdate()
|
sysdate()
|
||||||
|
|
@ -47,11 +50,11 @@
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="batchInsert" parameterType="list" >
|
<insert id="batchInsert" parameterType="list" >
|
||||||
INSERT INTO worker_area ( worker_id, province_id, city_id, district_id, street_id, create_by, create_time)
|
INSERT INTO worker_area ( worker_id, province_id, city_id, district_id, street_id, service_type, create_by, create_time)
|
||||||
VALUES
|
VALUES
|
||||||
<foreach collection="workerAreas" separator="," item="workerArea">
|
<foreach collection="workerAreas" separator="," item="workerArea">
|
||||||
(#{workerArea.workerId}, #{workerArea.provinceId}, #{workerArea.cityId}, #{workerArea.districtId},
|
(#{workerArea.workerId}, #{workerArea.provinceId}, #{workerArea.cityId}, #{workerArea.districtId},
|
||||||
#{workerArea.streetId}, #{workerArea.workerId}, sysdate())
|
#{workerArea.streetId}, #{workerArea.serviceType}, #{workerArea.workerId}, sysdate())
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
@ -60,6 +63,11 @@
|
||||||
WHERE wa.worker_id = #{workerId}
|
WHERE wa.worker_id = #{workerId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getByWorkerIdAndType" resultMap="WorkerAreaResult">
|
||||||
|
<include refid="selectWorkerArea"></include>
|
||||||
|
WHERE wa.worker_id = #{workerId} AND wa.service_type = #{serviceType}
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="getWorkerAreaList" parameterType="com.ghy.worker.domain.WorkerArea" resultMap="WorkerAreaResult">
|
<select id="getWorkerAreaList" parameterType="com.ghy.worker.domain.WorkerArea" resultMap="WorkerAreaResult">
|
||||||
<include refid="selectWorkerArea"></include>
|
<include refid="selectWorkerArea"></include>
|
||||||
<where>
|
<where>
|
||||||
|
|
@ -97,6 +105,10 @@
|
||||||
DELETE FROM worker_area WHERE worker_id = #{workerId}
|
DELETE FROM worker_area WHERE worker_id = #{workerId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<delete id="deleteByWorkerIdAndType">
|
||||||
|
DELETE FROM worker_area WHERE worker_id = #{workerId} AND service_type = #{serviceType}
|
||||||
|
</delete>
|
||||||
|
|
||||||
<delete id="delete" parameterType="Long">
|
<delete id="delete" parameterType="Long">
|
||||||
DELETE FROM worker_area WHERE worker_area_id IN
|
DELETE FROM worker_area WHERE worker_area_id IN
|
||||||
<foreach collection="array" item="areaId" open="(" separator="," close=")">
|
<foreach collection="array" item="areaId" open="(" separator="," close=")">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue