师傅圈后台接口开发
This commit is contained in:
parent
763607b657
commit
6a92f40b51
|
|
@ -1,23 +1,35 @@
|
||||||
package com.ghy.web.controller.worker;
|
package com.ghy.web.controller.worker;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.ghy.common.core.controller.BaseController;
|
import com.ghy.common.core.controller.BaseController;
|
||||||
import com.ghy.common.core.domain.AjaxResult;
|
import com.ghy.common.core.domain.AjaxResult;
|
||||||
import com.ghy.common.core.page.TableDataInfo;
|
import com.ghy.common.core.page.TableDataInfo;
|
||||||
|
import com.ghy.common.enums.GoodsStatus;
|
||||||
import com.ghy.common.enums.WorkerStatus;
|
import com.ghy.common.enums.WorkerStatus;
|
||||||
import com.ghy.common.utils.ExceptionUtil;
|
import com.ghy.common.utils.ExceptionUtil;
|
||||||
|
import com.ghy.goods.domain.Goods;
|
||||||
|
import com.ghy.goods.service.GoodsService;
|
||||||
|
import com.ghy.web.pojo.vo.WorkerListRequest;
|
||||||
|
import com.ghy.web.pojo.vo.WorkerListResponse;
|
||||||
import com.ghy.web.pojo.vo.WorkerSettledRequest;
|
import com.ghy.web.pojo.vo.WorkerSettledRequest;
|
||||||
import com.ghy.worker.domain.Worker;
|
import com.ghy.worker.domain.Worker;
|
||||||
|
import com.ghy.worker.domain.WorkerArea;
|
||||||
|
import com.ghy.worker.domain.WorkerGoodsCategory;
|
||||||
import com.ghy.worker.service.WorkerAreaService;
|
import com.ghy.worker.service.WorkerAreaService;
|
||||||
import com.ghy.worker.service.WorkerGoodsCategoryService;
|
import com.ghy.worker.service.WorkerGoodsCategoryService;
|
||||||
import com.ghy.worker.service.WorkerService;
|
import com.ghy.worker.service.WorkerService;
|
||||||
import com.ghy.worker.service.WorkerSpecialSkillService;
|
import com.ghy.worker.service.WorkerSpecialSkillService;
|
||||||
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author clunt
|
* @author clunt
|
||||||
|
|
@ -41,20 +53,58 @@ public class WorkerController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private WorkerSpecialSkillService specialSkillService;
|
private WorkerSpecialSkillService specialSkillService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private GoodsService goodsService;
|
||||||
|
|
||||||
@RequiresPermissions("worker:worker:view")
|
@RequiresPermissions("worker:worker:view")
|
||||||
@GetMapping()
|
@GetMapping()
|
||||||
public String worker(){
|
public String worker(){
|
||||||
return prefix + "/worker";
|
return prefix + "/worker";
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresPermissions("worker:worker:list")
|
// @RequiresPermissions("worker:worker:list")
|
||||||
@PostMapping("/list")
|
@PostMapping("/list")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public TableDataInfo list(Worker worker)
|
public TableDataInfo list(@RequestBody WorkerListRequest workerListRequest)
|
||||||
{
|
{
|
||||||
|
List<WorkerListResponse> resList = new ArrayList<WorkerListResponse>();
|
||||||
|
|
||||||
|
// 查询满足区域条件的师傅区域记录
|
||||||
|
WorkerArea workerArea = new WorkerArea();
|
||||||
|
workerArea.setDistrictId(workerListRequest.getAreaId());
|
||||||
|
List<WorkerArea> workerAreaList = workerAreaService.getWorkerAreaList(workerArea);
|
||||||
|
List<Long> workerIdsByArea = workerAreaList.stream().map(WorkerArea::getWorkerId).collect(Collectors.toList());
|
||||||
|
// 查询满足技能条件的师傅技能记录
|
||||||
|
WorkerGoodsCategory workerGoodsCategory = new WorkerGoodsCategory();
|
||||||
|
workerGoodsCategory.setGoodsCategoryId(workerListRequest.getGoodsCategoryId());
|
||||||
|
List<WorkerGoodsCategory> workerGoodsCategoryList = workerGoodsCategoryService.getWorkerGoodsCategory(workerGoodsCategory);
|
||||||
|
List<Long> workerIdsByCategory = workerGoodsCategoryList.stream().map(WorkerGoodsCategory::getWorkerId).collect(Collectors.toList());
|
||||||
|
// 两个list中的workerid取交集
|
||||||
|
List<Long> resWorkerIds = new ArrayList<>(CollectionUtils.intersection(workerIdsByArea, workerIdsByCategory));
|
||||||
|
|
||||||
|
if (CollectionUtils.isEmpty(resWorkerIds)) {
|
||||||
|
// 交集不存在的情况直接返回空list
|
||||||
|
return getDataTable(resList);
|
||||||
|
}
|
||||||
|
|
||||||
startPage();
|
startPage();
|
||||||
|
Worker worker = new Worker();
|
||||||
|
worker.setWorkerIds(CollectionUtils.isNotEmpty(resWorkerIds) ? resWorkerIds : null);
|
||||||
|
worker.setName(workerListRequest.getWorkerName());
|
||||||
List<Worker> list = workerService.getWorkList(worker);
|
List<Worker> list = workerService.getWorkList(worker);
|
||||||
return getDataTable(list);
|
list.forEach(w -> {
|
||||||
|
Goods goods = new Goods();
|
||||||
|
goods.setWorkerId(w.getWorkerId());
|
||||||
|
goods.setStatus(Integer.valueOf(GoodsStatus.OK.getCode()));
|
||||||
|
WorkerListResponse workerListResponse = JSONObject.parseObject(JSON.toJSONString(w), WorkerListResponse.class);
|
||||||
|
workerListResponse.setGoodsList(goodsService.selectGoodsList(goods));
|
||||||
|
workerListResponse.setWorkerAreas(workerAreaService.getByWorker(w.getWorkerId()));
|
||||||
|
workerListResponse.setGoodsCategories(workerGoodsCategoryService.getByWorker(w.getWorkerId()));
|
||||||
|
workerListResponse.setSpecialSkills(specialSkillService.getByWorker(w.getWorkerId()));
|
||||||
|
resList.add(workerListResponse);
|
||||||
|
});
|
||||||
|
|
||||||
|
return getDataTable(resList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("/update")
|
@PostMapping("/update")
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,103 @@
|
||||||
|
//package com.ghy.web.core;
|
||||||
|
//
|
||||||
|
//import com.alibaba.fastjson.JSON;
|
||||||
|
//import com.alibaba.fastjson.JSONArray;
|
||||||
|
//import com.alibaba.fastjson.JSONObject;
|
||||||
|
//import com.ghy.common.utils.StringUtils;
|
||||||
|
//import net.sourceforge.pinyin4j.PinyinHelper;
|
||||||
|
//import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
|
||||||
|
//import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
|
||||||
|
//
|
||||||
|
//import java.io.*;
|
||||||
|
//import java.util.ArrayList;
|
||||||
|
//import java.util.List;
|
||||||
|
//
|
||||||
|
//import static net.sourceforge.pinyin4j.format.HanyuPinyinToneType.WITHOUT_TONE;
|
||||||
|
//import static net.sourceforge.pinyin4j.format.HanyuPinyinVCharType.WITH_U_UNICODE;
|
||||||
|
//
|
||||||
|
///**
|
||||||
|
// * @author ydq
|
||||||
|
// * @date : 2022-06-23 10:56
|
||||||
|
// */
|
||||||
|
//public class Trans {
|
||||||
|
//
|
||||||
|
// public static void main(String[] args) throws IOException, BadHanyuPinyinOutputFormatCombination {
|
||||||
|
// String json = readFile2String("/Users/ydq/Downloads/Administrative-divisions-of-China-master/dist/pcas-code.json");
|
||||||
|
// JSONArray jsonArray = JSON.parseArray(json);
|
||||||
|
// HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
|
||||||
|
// format.setVCharType(WITH_U_UNICODE);
|
||||||
|
// format.setToneType(WITHOUT_TONE);
|
||||||
|
// List<String> sqlList = getChildSqls(jsonArray, 1, null, "", format);
|
||||||
|
// writeLine2File("/Users/ydq/Documents/extraProject/dingdong/sysArea.sql", sqlList);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static String readFile2String(String filePath) {
|
||||||
|
// StringBuilder strBuilder = new StringBuilder();
|
||||||
|
// File ioFile = new File(filePath);
|
||||||
|
// try (InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(ioFile), "UTF-8");
|
||||||
|
// BufferedReader bufferedReader = new BufferedReader(inputStreamReader)) {
|
||||||
|
// String line;
|
||||||
|
// while ((line = bufferedReader.readLine()) != null) {
|
||||||
|
// strBuilder.append(line);
|
||||||
|
// }
|
||||||
|
// } catch (UnsupportedEncodingException unsupportedEncodingException) {
|
||||||
|
// unsupportedEncodingException.printStackTrace();
|
||||||
|
// } catch (FileNotFoundException fileNotFoundException) {
|
||||||
|
// fileNotFoundException.printStackTrace();
|
||||||
|
// } catch (IOException ioException) {
|
||||||
|
// ioException.printStackTrace();
|
||||||
|
// }
|
||||||
|
// return strBuilder.toString();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static void writeLine2File(String filePath, List<String> lines) throws IOException {
|
||||||
|
// File ioFile = new File(filePath);
|
||||||
|
//
|
||||||
|
// try (
|
||||||
|
// OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream(ioFile), "UTF-8");
|
||||||
|
// BufferedWriter bufferedWriter = new BufferedWriter(outputStreamWriter); // = FileWriter,默认utf-8
|
||||||
|
// ){
|
||||||
|
// for (String line: lines) {
|
||||||
|
// bufferedWriter.write(line);
|
||||||
|
// bufferedWriter.newLine();
|
||||||
|
// }
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// e.printStackTrace();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public static List<String> getChildSqls(JSONArray jsonArray, int levelType, String parentCode, String preMergeName, HanyuPinyinOutputFormat format) throws BadHanyuPinyinOutputFormatCombination {
|
||||||
|
// List<String> lineList = new ArrayList<String>();
|
||||||
|
// for (Object obj: jsonArray) {
|
||||||
|
// StringBuilder sql = new StringBuilder();
|
||||||
|
// sql.append("INSERT INTO `sys_area` (`area_id`, `area_code`, `area_name`, `parent_code`, `merger_name`, `short_name`, `merger_short_name`, `level_type`, `pinyin`, `first_char`) VALUES (");
|
||||||
|
// JSONObject jObj = (JSONObject) obj;
|
||||||
|
// String name = jObj.getString("name");
|
||||||
|
// String code = jObj.getString("code");
|
||||||
|
// String pinyin = PinyinHelper.toHanYuPinyinString(name, format, "", false);
|
||||||
|
// String mergeName = StringUtils.isEmpty(preMergeName) ? name : preMergeName + "," + name;
|
||||||
|
// if (parentCode == null) {
|
||||||
|
// parentCode = "1";
|
||||||
|
// }
|
||||||
|
// sql.append(code).append(",")
|
||||||
|
// .append("'").append(code).append("'").append(",")
|
||||||
|
// .append("'").append(name).append("'").append(",")
|
||||||
|
// .append("'").append(parentCode).append("'").append(",")
|
||||||
|
// .append("'").append(mergeName).append("'").append(",")
|
||||||
|
// .append("'").append(name).append("'").append(",")
|
||||||
|
// .append("'").append(name).append("'").append(",")
|
||||||
|
// .append(levelType).append(",")
|
||||||
|
// .append("'").append(pinyin).append("'").append(",")
|
||||||
|
// .append("'").append(pinyin.charAt(0)).append("'")
|
||||||
|
// .append(");");
|
||||||
|
// System.out.println(sql.toString());
|
||||||
|
// lineList.add(sql.toString());
|
||||||
|
//
|
||||||
|
// if (jObj.getJSONArray("children") != null) {
|
||||||
|
// lineList.addAll(getChildSqls(jObj.getJSONArray("children"), levelType + 1, code, mergeName, format));
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return lineList;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
//}
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.ghy.web.pojo.vo;
|
||||||
|
|
||||||
|
import com.ghy.worker.domain.Worker;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ydq
|
||||||
|
* @date : 2022-06-24 17:38
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class WorkerListRequest {
|
||||||
|
private Long areaId;
|
||||||
|
|
||||||
|
private Long goodsCategoryId;
|
||||||
|
|
||||||
|
private String workerName;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
package com.ghy.web.pojo.vo;
|
||||||
|
|
||||||
|
import com.ghy.goods.domain.Goods;
|
||||||
|
import com.ghy.worker.domain.Worker;
|
||||||
|
import com.ghy.worker.domain.WorkerArea;
|
||||||
|
import com.ghy.worker.domain.WorkerGoodsCategory;
|
||||||
|
import com.ghy.worker.domain.WorkerSpecialSkill;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author ydq
|
||||||
|
* @date : 2022-06-24 17:14
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class WorkerListResponse extends Worker {
|
||||||
|
private List<Goods> goodsList;
|
||||||
|
|
||||||
|
// 入驻区域
|
||||||
|
private List<WorkerArea> workerAreas;
|
||||||
|
|
||||||
|
// 服务品类
|
||||||
|
private List<WorkerGoodsCategory> goodsCategories;
|
||||||
|
|
||||||
|
// 特殊技能
|
||||||
|
private List<WorkerSpecialSkill> specialSkills;
|
||||||
|
}
|
||||||
|
|
@ -103,6 +103,9 @@
|
||||||
<if test="status != null">
|
<if test="status != null">
|
||||||
AND status = #{status}
|
AND status = #{status}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="workerId != null">
|
||||||
|
AND worker_id = #{workerId}
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
/* 默认生成时间排序 */
|
/* 默认生成时间排序 */
|
||||||
order by create_time
|
order by create_time
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import com.ghy.common.annotation.Excel;
|
||||||
import com.ghy.common.core.domain.BaseEntity;
|
import com.ghy.common.core.domain.BaseEntity;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author clunt
|
* @author clunt
|
||||||
* 师傅实体
|
* 师傅实体
|
||||||
|
|
@ -52,4 +54,5 @@ public class Worker extends BaseEntity {
|
||||||
@Excel(name = "领导团队扣费金额", cellType = Excel.ColumnType.STRING)
|
@Excel(name = "领导团队扣费金额", cellType = Excel.ColumnType.STRING)
|
||||||
private String leaderTeamMoney;
|
private String leaderTeamMoney;
|
||||||
|
|
||||||
|
private List<Long> workerIds;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,6 @@ public interface WorkerAreaMapper {
|
||||||
int deleteByWorker(Long workerId);
|
int deleteByWorker(Long workerId);
|
||||||
|
|
||||||
List<WorkerArea> getByWorker(Long workerId);
|
List<WorkerArea> getByWorker(Long workerId);
|
||||||
|
|
||||||
|
List<WorkerArea> getWorkerAreaList(WorkerArea workerArea);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,4 +21,6 @@ public interface WorkerGoodsCategoryMapper {
|
||||||
int deleteByWorker(Long workerId);
|
int deleteByWorker(Long workerId);
|
||||||
|
|
||||||
List<WorkerGoodsCategory> getByWorker(Long workerId);
|
List<WorkerGoodsCategory> getByWorker(Long workerId);
|
||||||
|
|
||||||
|
List<WorkerGoodsCategory> getWorkerGoodsCategory(WorkerGoodsCategory workerGoodsCategory);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,4 +20,6 @@ public interface WorkerAreaService {
|
||||||
List<WorkerArea> getByWorker(Long workerId);
|
List<WorkerArea> getByWorker(Long workerId);
|
||||||
|
|
||||||
void updateWorkerServArea(Long workerId, List<WorkerArea> areas);
|
void updateWorkerServArea(Long workerId, List<WorkerArea> areas);
|
||||||
|
|
||||||
|
List<WorkerArea> getWorkerAreaList(WorkerArea area);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -20,4 +20,6 @@ public interface WorkerGoodsCategoryService {
|
||||||
List<WorkerGoodsCategory> getByWorker(Long workerId);
|
List<WorkerGoodsCategory> getByWorker(Long workerId);
|
||||||
|
|
||||||
void updateWorkerGoodsCategory(Long workerId, List<WorkerGoodsCategory> categories);
|
void updateWorkerGoodsCategory(Long workerId, List<WorkerGoodsCategory> categories);
|
||||||
|
|
||||||
|
List<WorkerGoodsCategory> getWorkerGoodsCategory(WorkerGoodsCategory workerGoodsCategory);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -59,4 +59,9 @@ public class WorkerAreaServiceImpl implements WorkerAreaService {
|
||||||
workerAreaMapper.delete(id2DelList.toArray(id2Del));
|
workerAreaMapper.delete(id2DelList.toArray(id2Del));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WorkerArea> getWorkerAreaList(WorkerArea area) {
|
||||||
|
return workerAreaMapper.getWorkerAreaList(area);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,4 +67,9 @@ public class WorkerGoodsCategoryServiceImpl implements WorkerGoodsCategoryServic
|
||||||
workerGoodsCategoryMapper.delete(id2DelList.toArray(id2Del));
|
workerGoodsCategoryMapper.delete(id2DelList.toArray(id2Del));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<WorkerGoodsCategory> getWorkerGoodsCategory(WorkerGoodsCategory workerGoodsCategory) {
|
||||||
|
return workerGoodsCategoryMapper.getWorkerGoodsCategory(workerGoodsCategory);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,6 +60,15 @@
|
||||||
WHERE wa.worker_id = #{workerId}
|
WHERE wa.worker_id = #{workerId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getWorkerAreaList" parameterType="com.ghy.worker.domain.WorkerArea" resultMap="WorkerAreaResult">
|
||||||
|
<include refid="selectWorkerArea"></include>
|
||||||
|
<where>
|
||||||
|
<if test="districtId != null">
|
||||||
|
AND district_id = #{districtId}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
<delete id="deleteByWorker" parameterType="Long">
|
<delete id="deleteByWorker" parameterType="Long">
|
||||||
DELETE FROM worker_area WHERE worker_id = #{workerId}
|
DELETE FROM worker_area WHERE worker_id = #{workerId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,15 @@
|
||||||
WHERE wgc.worker_id = #{workerId}
|
WHERE wgc.worker_id = #{workerId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getWorkerGoodsCategory" parameterType="com.ghy.worker.domain.WorkerGoodsCategory" resultMap="WorkerGoodsCategoryResult">
|
||||||
|
<include refid="selectWorkerGoodsCategory"></include>
|
||||||
|
<where>
|
||||||
|
<if test="goodsCategoryId != null">
|
||||||
|
AND wgc.goods_category_id = #{goodsCategoryId}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
<delete id="deleteByWorker" parameterType="Long">
|
<delete id="deleteByWorker" parameterType="Long">
|
||||||
DELETE FROM worker_goods_category WHERE worker_id = #{workerId}
|
DELETE FROM worker_goods_category WHERE worker_id = #{workerId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
|
||||||
|
|
@ -31,12 +31,21 @@
|
||||||
LEFT JOIN sys_dept sd ON w.dept_id = sd.dept_id
|
LEFT JOIN sys_dept sd ON w.dept_id = sd.dept_id
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="getWorkerList" resultMap="WorkerResult">
|
<select id="getWorkerList" parameterType="com.ghy.worker.domain.Worker" resultMap="WorkerResult">
|
||||||
<include refid="selectWorker" />
|
<include refid="selectWorker" />
|
||||||
<where>
|
<where>
|
||||||
<if test="openId != null and openId != ''">
|
<if test="openId != null and openId != ''">
|
||||||
AND open_id = #{openId}
|
AND open_id = #{openId}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="workerIds != null and workerIds != ''">
|
||||||
|
AND w.worker_id IN
|
||||||
|
<foreach item="item" collection="workerIds" open="(" separator="," close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
<if test="name != null and name != ''">
|
||||||
|
AND w.name LIKE '%${name}%'
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue