Просмотр исходного кода

[会员][新增]:会员多条件筛选器接口

release_toaliyun_real
hupeng 7 лет назад
Родитель
Сommit
edc67ca990
18 измененных файлов: 394 добавлений и 50 удалений
  1. +7
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java
  2. +1
    -33
      mallinkAdmin/src/main/java/com/iformall/controller/WxTagsController.java
  3. +1
    -1
      mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java
  4. +13
    -1
      mallinkService/src/main/java/com/iformall/domain/dto/WxCUserBasicInfoDto.java
  5. +39
    -0
      mallinkService/src/main/java/com/iformall/domain/dto/WxCUserBasicInfoFilterDto.java
  6. +3
    -3
      mallinkService/src/main/java/com/iformall/domain/po/WxTags.java
  7. +11
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumTag.java
  8. +1
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumTagGroup.java
  9. +5
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumTagType.java
  10. +4
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java
  11. +0
    -1
      mallinkService/src/main/java/com/iformall/mapper/WxTagsMapper.java
  12. +8
    -0
      mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java
  13. +4
    -1
      mallinkService/src/main/java/com/iformall/service/WxTagsService.java
  14. +193
    -7
      mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  15. +0
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java
  16. +43
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxTagsServiceImpl.java
  17. +53
    -0
      mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml
  18. +8
    -2
      mallinkService/src/main/resources/mapper/WxTagsMapper.xml

+ 7
- 0
mallinkAdmin/src/main/java/com/iformall/controller/WxCUserBasicInfoController.java Просмотреть файл

@@ -467,4 +467,11 @@ public class WxCUserBasicInfoController extends BaseController {
}
return new ResultData(wxCUserBasicInfo);
}

@ApiOperation("获取会员过滤器")
@GetMapping("/listFilter")
public ResultData listFilter() {
logger.debug("[" + getIpAddr() + "] WxCUserBasicInfoController::listFilter");
return new ResultData(wxCUserBasicInfoService.listFilters(getTenantId()));
}
}

+ 1
- 33
mallinkAdmin/src/main/java/com/iformall/controller/WxTagsController.java Просмотреть файл

@@ -37,11 +37,6 @@ public class WxTagsController extends BaseController {
@Autowired
private WxTagsService wxTagsService;

@Autowired
private WxTagsGroupService wxTagsGroupService;

@Autowired
private WxTagsTypeService wxTagsTypeService;

@Autowired
private WxCUserTagsService wxCUserTagsService;
@@ -50,34 +45,7 @@ public class WxTagsController extends BaseController {
@ApiOperation("标签弹窗接口")
public ResultData getAllList() {
logger.debug("[" + getIpAddr() + "] WxTagsController::getAllList");
List<WxTagsGroupVo> groupVos = new ArrayList<>();
List<WxTagsGroup> groups = wxTagsGroupService.findList(null);
for(WxTagsGroup tg:groups) {
WxTagsGroupVo tgvo =new WxTagsGroupVo();
tgvo.setId(tg.getId());
tgvo.setName(tg.getName());

WxTagsType type = new WxTagsType();
type.setGroupId(tg.getId());
List<WxTagsTypeVo> typeVos =new ArrayList<>();
List<WxTagsType> types = wxTagsTypeService.findList(type);
for(WxTagsType tt:types) {
WxTagsTypeVo ttvo = new WxTagsTypeVo();
ttvo.setId(tt.getId());
ttvo.setName(tt.getName());
ttvo.setFlag(tt.getFlag());
ttvo.setGroupId(tg.getId());
ttvo.setGroupName(tg.getName());

WxTags t = new WxTags();
t.setTypeId(tt.getId());
ttvo.setTags(wxTagsService.findList(t));
typeVos.add(ttvo);
}
tgvo.setTypes(typeVos);
groupVos.add(tgvo);
}
return new ResultData(groupVos);
return new ResultData(wxTagsService.listAllVo());
}

@ApiOperation("查询微信用户人群")


+ 1
- 1
mallinkAdmin/src/main/java/com/iformall/controller/WxUserStructureController.java Просмотреть файл

@@ -134,7 +134,7 @@ public class WxUserStructureController extends BaseController {

WxLevelConfig other = new WxLevelConfig();
//没有等级的会员
other.setLevel("");
other.setLevel("普通会员");
WxCUserBasicInfoDto dto = new WxCUserBasicInfoDto();
other.setCount(wxCUserBasicInfoService.findCount(dto)
- levelList.stream().map(WxLevelConfig::getCount).reduce(Long::sum).orElse(0L));


+ 13
- 1
mallinkService/src/main/java/com/iformall/domain/dto/WxCUserBasicInfoDto.java Просмотреть файл

@@ -2,6 +2,7 @@ package com.iformall.domain.dto;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import javax.persistence.Id;
import javax.persistence.Transient;
@@ -45,12 +46,16 @@ public class WxCUserBasicInfoDto implements Serializable{

@Transient
private Integer levelStartScore;

@Transient
private Integer levelEndScore;

@Transient
private Integer sex;

@Transient
List<Long> tagIds;

public Long getId() {
return id;
}
@@ -140,5 +145,12 @@ public class WxCUserBasicInfoDto implements Serializable{
public void setLevelStartScore(Integer levelStartScore) {
this.levelStartScore = levelStartScore;
}

public List<Long> getTagIds() {
return tagIds;
}

public void setTagIds(List<Long> tagIds) {
this.tagIds = tagIds;
}
}

+ 39
- 0
mallinkService/src/main/java/com/iformall/domain/dto/WxCUserBasicInfoFilterDto.java Просмотреть файл

@@ -0,0 +1,39 @@
package com.iformall.domain.dto;

import javax.persistence.Id;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
* 用户查询dto
* @author jinguo
*
*/
public class WxCUserBasicInfoFilterDto implements Serializable{

/**
*
*/
private static final long serialVersionUID = -1116465873573690766L;

Long typeId;
Long id;

public Long getTypeId() {
return typeId;
}

public void setTypeId(Long typeId) {
this.typeId = typeId;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}
}

+ 3
- 3
mallinkService/src/main/java/com/iformall/domain/po/WxTags.java Просмотреть файл

@@ -54,11 +54,11 @@ public class WxTags implements Serializable {


@Transient
protected long count;
public long getCount() {
protected Long count;
public Long getCount() {
return count;
}
public void setCount(long count) {
public void setCount(Long count) {
this.count = count;
}



+ 11
- 0
mallinkService/src/main/java/com/iformall/enums/EnumTag.java Просмотреть файл

@@ -175,6 +175,17 @@ public enum EnumTag {
ID_142(142L, EnumTagType.ID_17,"面包店"),
ID_143(143L, EnumTagType.ID_17,"咖啡厅"),
ID_144(144L, EnumTagType.ID_17,"饮品店"),




ID_1000(1000L, EnumTagType.ID_50,"一天以内"),
ID_1001(1001L, EnumTagType.ID_50,"一周以内"),
ID_1002(1002L, EnumTagType.ID_50,"一月以内"),
ID_1003(1003L, EnumTagType.ID_50,"一季度以内"),
ID_1004(1004L, EnumTagType.ID_50,"一年以内"),
ID_1005(1005L, EnumTagType.ID_50,"五年以内"),
ID_1006(1006L, EnumTagType.ID_50,"五年以上"),
;




+ 1
- 0
mallinkService/src/main/java/com/iformall/enums/EnumTagGroup.java Просмотреть файл

@@ -10,6 +10,7 @@ public enum EnumTagGroup {
ID_3(3L, "消费偏好"),
ID_4(4L, "行为偏好"),

ID_10(10L, "会员属性"),
;

public static EnumTagGroup getEnum(Long code) {


+ 5
- 0
mallinkService/src/main/java/com/iformall/enums/EnumTagType.java Просмотреть файл

@@ -31,6 +31,11 @@ public enum EnumTagType {
ID_24(24L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_4, "会员性格"),
ID_25(25L, EnumTagTypeFlag.FLAG_NORMAL, EnumTagGroup.ID_4, "爱好"),
ID_26(26L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_4, "生活半径"),


ID_50(50L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员会龄"),
ID_51(51L, EnumTagTypeFlag.FLAG_SINGLE, EnumTagGroup.ID_10, "会员等级"),

;

public static EnumTagType getEnum(Long code) {


+ 4
- 0
mallinkService/src/main/java/com/iformall/mapper/WxCUserBasicInfoMapper.java Просмотреть файл

@@ -10,6 +10,10 @@ import java.util.List;

public interface WxCUserBasicInfoMapper extends CommonMapper<WxCUserBasicInfo, String> {

long findCountByFilter(WxCUserBasicInfoDto dto);

List<WxCUserBasicInfo> findListByFilter(WxCUserBasicInfoDto dto);

List<WxCUserBasicInfo> findList(WxCUserBasicInfo wxCUserBasicInfo);

void updateScore(WxCUserBasicInfo record);


+ 0
- 1
mallinkService/src/main/java/com/iformall/mapper/WxTagsMapper.java Просмотреть файл

@@ -10,5 +10,4 @@ public interface WxTagsMapper extends CommonMapper<WxTags, String> {

List<WxTags> findList(WxTags wxTags);
List<WxTags> findListAll();
List<WxTags> getByName(String name);
}

+ 8
- 0
mallinkService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java Просмотреть файл

@@ -7,12 +7,20 @@ import com.iformall.domain.po.WxCUserBasicInfo;
import com.iformall.domain.po.WxCarPayRecord;
import com.iformall.domain.po.WxTags;
import com.iformall.domain.vo.CUserBaseInfoT;
import com.iformall.domain.vo.WxTagsGroupVo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

public interface WxCUserBasicInfoService {
/**
* 根据租户ID获取会员过滤器列表
*
* @return
*/

List<WxTagsGroupVo> listFilters(String tenentId);

/**
* 根据实体查询分页列表


+ 4
- 1
mallinkService/src/main/java/com/iformall/service/WxTagsService.java Просмотреть файл

@@ -3,6 +3,7 @@ package com.iformall.service;
import java.util.*;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxTags;
import com.iformall.domain.vo.WxTagsGroupVo;

public interface WxTagsService {

@@ -39,5 +40,7 @@ public interface WxTagsService {
void deleteById(Long id);

List<WxTags> findList(WxTags wxTags);

List<WxTagsGroupVo> listAllVo();

}

+ 193
- 7
mallinkService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java Просмотреть файл

@@ -6,17 +6,17 @@ import com.github.pagehelper.PageInfo;

import com.iformall.common.IdWorker;
import com.iformall.domain.dto.WxCUserBasicInfoDto;

import com.iformall.domain.dto.WxCUserBasicInfoFilterDto;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.CUserBaseInfoT;
import com.iformall.domain.vo.CUserBaseVo;
import com.iformall.domain.vo.CUserTagVo;
import com.iformall.domain.vo.WxCUserBasicInfoVo;
import com.iformall.enums.EnumScoreType;
import com.iformall.domain.vo.*;
import com.iformall.enums.*;

import com.iformall.enums.EnumUserType;
import com.iformall.mapper.*;
import com.iformall.service.*;

import org.apache.commons.lang3.StringUtils;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -25,8 +25,11 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@@ -59,13 +62,196 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService {
@Autowired
WxCarPayRecordMapper wxCarPayRecordMapper;


@Autowired
ExcelService excelService;

@Autowired
WxCreditHistoryService wxCreditHistoryService;

@Autowired
WxLevelConfigService wxLevelConfigService;

@Autowired
WxTagsService wxTagsService;

private final static List<WxTags> memberTimeList = new ArrayList<WxTags>(
Arrays.asList(
new WxTags(){{
setName(EnumTag.ID_1000.getMessage());
setId(EnumTag.ID_1000.getCode());
}},
new WxTags(){{
setName(EnumTag.ID_1001.getMessage());
setId(EnumTag.ID_1001.getCode());
}},
new WxTags(){{
setName(EnumTag.ID_1002.getMessage());
setId(EnumTag.ID_1002.getCode());
}},
new WxTags(){{
setName(EnumTag.ID_1003.getMessage());
setId(EnumTag.ID_1003.getCode());
}},
new WxTags(){{
setName(EnumTag.ID_1004.getMessage());
setId(EnumTag.ID_1004.getCode());
}},
new WxTags(){{
setName(EnumTag.ID_1005.getMessage());
setId(EnumTag.ID_1005.getCode());
}},
new WxTags(){{
setName(EnumTag.ID_1006.getMessage());
setId(EnumTag.ID_1006.getCode());
}}
)
);

private final static String RANGE_START = "rangeStart";
private final static String RANGE_END = "rangeEnd";

private final static Map<Long,Map<String,Long>> memberTimeMap
= new HashMap<Long,Map<String,Long>>() {
{
put(EnumTag.ID_1000.getCode(),
new HashMap<String,Long>(){{
put(RANGE_START,0L);
put(RANGE_END,1L);
}});
put(EnumTag.ID_1001.getCode(),
new HashMap<String,Long>(){{
put(RANGE_START,1L);
put(RANGE_END,7L);
}});
put(EnumTag.ID_1002.getCode(),
new HashMap<String,Long>(){{
put(RANGE_START,7L);
put(RANGE_END,30L);
}});
put(EnumTag.ID_1003.getCode(),
new HashMap<String,Long>(){{
put(RANGE_START,30L);
put(RANGE_END,90L);
}});
put(EnumTag.ID_1004.getCode(),
new HashMap<String,Long>(){{
put(RANGE_START,90L);
put(RANGE_END,365L);
}});
put(EnumTag.ID_1005.getCode(),
new HashMap<String,Long>(){{
put(RANGE_START,365L);
put(RANGE_END,365*5L);
}});
put(EnumTag.ID_1006.getCode(),
new HashMap<String,Long>(){{
put(RANGE_START,365*5L);
}});
}
};


private WxCUserBasicInfoDto filtersToDto(String tenentId, List<WxCUserBasicInfoFilterDto> filterList){
WxCUserBasicInfoDto dto = new WxCUserBasicInfoDto();
dto.setTagIds(new ArrayList<>());
List<WxLevelConfig> levels = wxLevelConfigService.getByTenantId(tenentId);
filterList.stream().forEach(f->{

switch(EnumTagType.getEnum(f.getTypeId())) {
case ID_50:
ZoneId zone = ZoneId.systemDefault();
Long rangeStart = memberTimeMap.get(f.getId()).get(RANGE_START);
Long rangeEnd = memberTimeMap.get(f.getId()).get(RANGE_END);

if (rangeEnd != null){
LocalDateTime localDateTimeStart = LocalDateTime.now().minusDays(rangeEnd);
dto.setStartTime(Date.from(localDateTimeStart.atZone(zone).toInstant()));
}

if (rangeStart != null) {
LocalDateTime localDateTimeEnd = LocalDateTime.now().minusDays(rangeStart);
dto.setEndTime(Date.from(localDateTimeEnd.atZone(zone).toInstant()));
}
break;
case ID_51:
for (int i=0;i<levels.size();i++)
{
WxLevelConfig l = levels.get(i);
if (f.getId().equals(0L))
dto.setLevelStartScore(0);
else
dto.setLevelStartScore(l.getPoints());

if (i + 1<levels.size())
dto.setLevelEndScore(levels.get(i+1).getPoints());
else
dto.setLevelEndScore(null);
}
break;
default:
dto.getTagIds().add(f.getId());
}

});

return dto;
}

public long countByFilter(String tenantId, List<WxCUserBasicInfoFilterDto> filterList) {
return wxCUserBasicInfoMapper.findCountByFilter(filtersToDto(tenantId,filterList));
}

public List<WxCUserBasicInfo> listByFilter(String tenantId, List<WxCUserBasicInfoFilterDto> filterList) {
return wxCUserBasicInfoMapper.findListByFilter(filtersToDto(tenantId,filterList));
}


public List<WxTagsGroupVo> listFilters(String tenentId) {
WxTagsGroupVo filter = new WxTagsGroupVo();

filter.setId(EnumTagGroup.ID_10.getCode());
filter.setName(EnumTagGroup.ID_10.getMessage());

List<WxTagsTypeVo> types = new ArrayList<>();

WxTagsTypeVo typeMemberTime = new WxTagsTypeVo();
typeMemberTime.setFlag(EnumTagTypeFlag.FLAG_SINGLE.getCode());
typeMemberTime.setName(EnumTagType.ID_50.getMessage());
typeMemberTime.setId(EnumTagType.ID_50.getCode());
typeMemberTime.setTags(memberTimeList);
types.add(typeMemberTime);

WxTagsTypeVo typeMemberLevel = new WxTagsTypeVo();
typeMemberLevel.setFlag(EnumTagTypeFlag.FLAG_SINGLE.getCode());
typeMemberLevel.setName(EnumTagType.ID_51.getMessage());
typeMemberLevel.setId(EnumTagType.ID_51.getCode());

List<WxTags> tagsMemberLevel = new ArrayList<>();
List<WxLevelConfig> levels = wxLevelConfigService.getByTenantId(tenentId);

WxTags wxTagsBase = new WxTags();
wxTagsBase.setName("普通会员");
wxTagsBase.setId(0L);
tagsMemberLevel.add(wxTagsBase);

levels.stream().forEach(l->{
WxTags wxTags = new WxTags();
wxTags.setName(l.getLevel());
wxTags.setId(l.getId());
tagsMemberLevel.add(wxTags);
});

typeMemberLevel.setTags(tagsMemberLevel);

types.add(typeMemberLevel);

filter.setTypes(types);

List<WxTagsGroupVo> listVo =wxTagsService.listAllVo();
listVo.add(0,filter);
return listVo;
}


@Override
public PageInfo<WxCUserBasicInfo> listAsPage(WxCUserBasicInfo record, Integer pageIndex, Integer pageSize) {


+ 0
- 1
mallinkService/src/main/java/com/iformall/service/impl/WxLevelConfigServiceImpl.java Просмотреть файл

@@ -164,7 +164,6 @@ public class WxLevelConfigServiceImpl implements WxLevelConfigService {
return jo.getLong(CAPABILITY_SEND_CAR_COUPON);
}


@Override
public void deleteById(Long id) {
wxLevelConfigMapper.deleteByPrimaryKey(id);


+ 43
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxTagsServiceImpl.java Просмотреть файл

@@ -4,8 +4,14 @@ import java.util.*;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxTags;
import com.iformall.domain.po.WxTagsGroup;
import com.iformall.domain.po.WxTagsType;
import com.iformall.domain.vo.WxTagsGroupVo;
import com.iformall.domain.vo.WxTagsTypeVo;
import com.iformall.mapper.WxTagsMapper;
import com.iformall.service.WxTagsGroupService;
import com.iformall.service.WxTagsService;
import com.iformall.service.WxTagsTypeService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +25,12 @@ public class WxTagsServiceImpl implements WxTagsService {
@Autowired
WxTagsMapper wxTagsMapper;

@Autowired
private WxTagsTypeService wxTagsTypeService;

@Autowired
private WxTagsGroupService wxTagsGroupService;


@Override
public PageInfo<WxTags> listAsPage(WxTags record, Integer pageIndex, Integer pageSize) {
@@ -51,4 +63,35 @@ public class WxTagsServiceImpl implements WxTagsService {
public List<WxTags> findList(WxTags wxTags) {
return wxTagsMapper.findList(wxTags);
}

@Override
public List<WxTagsGroupVo> listAllVo() {
List<WxTagsGroupVo> groupVos = new ArrayList<>();
List<WxTagsGroup> groups = wxTagsGroupService.findList(null);
for (WxTagsGroup tg : groups) {
WxTagsGroupVo tgvo = new WxTagsGroupVo();
tgvo.setId(tg.getId());
tgvo.setName(tg.getName());

WxTagsType type = new WxTagsType();
type.setGroupId(tg.getId());
List<WxTagsTypeVo> typeVos = new ArrayList<>();
List<WxTagsType> types = wxTagsTypeService.findList(type);
for (WxTagsType tt : types) {
WxTagsTypeVo ttvo = new WxTagsTypeVo();
ttvo.setId(tt.getId());
ttvo.setName(tt.getName());
ttvo.setFlag(tt.getFlag());

WxTags t = new WxTags();
t.setTypeId(tt.getId());
ttvo.setTags(findList(t));
typeVos.add(ttvo);
}
tgvo.setTypes(typeVos);
groupVos.add(tgvo);
}
return groupVos;
}

}

+ 53
- 0
mallinkService/src/main/resources/mapper/WxCUserBasicInfoMapper.xml Просмотреть файл

@@ -337,4 +337,57 @@
<include refid="dynamicVoWhereConditions"/>
</select>


<sql id="filterWhereConditions">
where 1=1
<if test="null != tenantId">
and tenant_id =#{tenantId}
</if>

<if test=" null != startTime ">
and create_date &gt;= #{startTime}
</if>
<if test=" null != endTime">
and create_date &lt;= #{endTime}
</if>

<if test=" null != levelStartScore and (0 != levelStartScore and '' != levelStartScore">
and poins &gt;= #{levelStartScore}
<if test=" null != levelEndScore">
and poins &lt; #{levelEndScore}
</if>
</if>

<if test=" null != levelStartScore and (0 == levelStartScore or '' == levelStartScore">
and (poins is null or
(poins &gt;= #{levelStartScore}
<if test=" null != levelEndScore">
and poins &lt; #{levelEndScore}
</if>
))
</if>

<if test=" null != ids ">

<foreach collection="tagIds" index="index" item="idItem" open="(" separator="," close=")">
and #{idItem} in cut.tags
</foreach>
</if>
<if test=" null != sortColumns">order by ${sortColumns}</if>
</sql>
<select id="findCountByFilter" parameterType="com.iformall.domain.dto.WxCUserBasicInfoDto" resultType="java.lang.Long">
select count(id) from wx_c_user_basic_info
join wx_c_user_tags cut on cut.`id` = cu.`tag_id`
<include refid="filterWhereConditions"/>

</select>

<select id="findListByFilter" parameterType="com.iformall.domain.dto.WxCUserBasicInfoDto" resultMap="BaseResultMap">
select <include refid="allColumns"/>
from wx_c_user_basic_info
join wx_c_user_tags cut on cut.`id` = cu.`tag_id`
<include refid="filterWhereConditions"/>
</select>


</mapper>

+ 8
- 2
mallinkService/src/main/resources/mapper/WxTagsMapper.xml Просмотреть файл

@@ -14,6 +14,10 @@
`id`,`name`,`group_id`,`group_name`,`type_id`,`type_name`
</sql>

<sql id="allColumnsVo">
`id`,`name`
</sql>

<sql id="dynamicWhereConditions">
where 1 = 1

@@ -52,7 +56,7 @@

<select id="findList" parameterType="com.iformall.domain.po.WxTags" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
<include refid="allColumnsVo"/>
from wx_tags
<include refid="dynamicWhereConditions"/>
</select>
@@ -65,6 +69,8 @@
</if>
</select>
<select id="findListAll" resultMap="BaseResultMap">
select id,name from wx_tags
select
<include refid="allColumnsVo"/>
from wx_tags
</select>
</mapper>

Загрузка…
Отмена
Сохранить