Commit 08dd04f4 by 墨竹

feat:提供根据分组查询数量接口

parent fe1dfa4a
package com.gic.haoban.manage.api.service.hm;
/**
* @author mozhu
* @date 2022/7/5 09:33
*/
public interface HmClerkRelationApiService {
}
...@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.dao.mapper.hm; ...@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.dao.mapper.hm;
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeListQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeListQDTO;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmQrcode; import com.gic.haoban.manage.service.entity.hm.TabHaobanHmQrcode;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeGroupNumBO;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -155,5 +156,25 @@ public interface TabHaobanHmQrcodeMapper { ...@@ -155,5 +156,25 @@ public interface TabHaobanHmQrcodeMapper {
* @date 2022-07-08 15:10:57 * @date 2022-07-08 15:10:57
*/ */
List<TabHaobanHmQrcode> getHmStoreByEnterpriseId(@Param("enterpriseId") String enterpriseId); List<TabHaobanHmQrcode> getHmStoreByEnterpriseId(@Param("enterpriseId") String enterpriseId);
/**
* 根据分组id获取活码数量
*
* @param enterpriseId 企业标识
* @return int
* @author mozhu
* @date 2022-07-12 15:18:34
*/
List<HmQrcodeGroupNumBO> getGroupIdNumByEnterpriseId(@Param("enterpriseId") String enterpriseId);
/**
* 获取总数
*
* @param enterpriseId 企业标识
* @return int
* @author mozhu
* @date 2022-07-12 15:10:09
*/
int getTotalByEnterpriseId(@Param("enterpriseId") String enterpriseId);
} }
...@@ -89,6 +89,8 @@ public class HmQrcodeBO implements Serializable { ...@@ -89,6 +89,8 @@ public class HmQrcodeBO implements Serializable {
* 活码分组 * 活码分组
*/ */
private Long hmGroupId; private Long hmGroupId;
private String staffId;
private String staffName;
public Long getHmId() { public Long getHmId() {
...@@ -323,5 +325,20 @@ public class HmQrcodeBO implements Serializable { ...@@ -323,5 +325,20 @@ public class HmQrcodeBO implements Serializable {
this.hmGroupId = hmGroupId; this.hmGroupId = hmGroupId;
} }
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
} }
package com.gic.haoban.manage.service.pojo.bo.hm;
import java.io.Serializable;
public class HmQrcodeGroupNumBO implements Serializable {
private static final long serialVersionUID = -7006820026168431701L;
private Integer num;
private Integer hmGroupId;
private String hmGroupName;
public Integer getNum() {
return num;
}
public void setNum(Integer num) {
this.num = num;
}
public Integer getHmGroupId() {
return hmGroupId;
}
public void setHmGroupId(Integer hmGroupId) {
this.hmGroupId = hmGroupId;
}
public String getHmGroupName() {
return hmGroupName;
}
public void setHmGroupName(String hmGroupName) {
this.hmGroupName = hmGroupName;
}
}
...@@ -4,6 +4,7 @@ import com.gic.api.base.commons.Page; ...@@ -4,6 +4,7 @@ import com.gic.api.base.commons.Page;
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeListQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeListQDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeGroupNumBO;
import java.util.List; import java.util.List;
...@@ -143,4 +144,25 @@ public interface HmQrcodeService { ...@@ -143,4 +144,25 @@ public interface HmQrcodeService {
* @date 2022-07-08 15:09:50 * @date 2022-07-08 15:09:50
*/ */
List<HmQrcodeBO> getHmStoreByEnterpriseId(String enterpriseId); List<HmQrcodeBO> getHmStoreByEnterpriseId(String enterpriseId);
/**
* 根据分组id获取活码数量
*
* @param enterpriseId 企业标识
* @return {@link List }<{@link HmQrcodeGroupNumBO }>
* @author mozhu
* @date 2022-07-12 15:20:48
*/
List<HmQrcodeGroupNumBO> getGroupIdNumByEnterpriseId(String enterpriseId);
/**
* 获取总数
*
* @param enterpriseId 企业标识
* @return int
* @author mozhu
* @date 2022-07-12 15:08:35
*/
int getTotalByEnterpriseId(String enterpriseId);
} }
...@@ -8,6 +8,7 @@ import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO; ...@@ -8,6 +8,7 @@ import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO;
import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmQrcodeMapper; import com.gic.haoban.manage.service.dao.mapper.hm.TabHaobanHmQrcodeMapper;
import com.gic.haoban.manage.service.entity.hm.TabHaobanHmQrcode; import com.gic.haoban.manage.service.entity.hm.TabHaobanHmQrcode;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeGroupNumBO;
import com.gic.haoban.manage.service.service.hm.HmQrcodeService; import com.gic.haoban.manage.service.service.hm.HmQrcodeService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
...@@ -104,4 +105,14 @@ public class HmQrcodeServiceImpl implements HmQrcodeService { ...@@ -104,4 +105,14 @@ public class HmQrcodeServiceImpl implements HmQrcodeService {
public List<HmQrcodeBO> getHmStoreByEnterpriseId(String enterpriseId) { public List<HmQrcodeBO> getHmStoreByEnterpriseId(String enterpriseId) {
return EntityUtil.changeEntityListNew(HmQrcodeBO.class,tabHaobanHmQrcodeMapper.getHmStoreByEnterpriseId(enterpriseId)); return EntityUtil.changeEntityListNew(HmQrcodeBO.class,tabHaobanHmQrcodeMapper.getHmStoreByEnterpriseId(enterpriseId));
} }
@Override
public List<HmQrcodeGroupNumBO> getGroupIdNumByEnterpriseId(String enterpriseId) {
return tabHaobanHmQrcodeMapper.getGroupIdNumByEnterpriseId(enterpriseId);
}
@Override
public int getTotalByEnterpriseId(String enterpriseId) {
return tabHaobanHmQrcodeMapper.getTotalByEnterpriseId(enterpriseId);
}
} }
package com.gic.haoban.manage.service.service.out.impl.hm;
import com.gic.haoban.manage.api.service.hm.HmClerkRelationApiService;
import org.springframework.stereotype.Service;
/**
* @author mozhu
* @date 2022/7/5 09:34
*/
@Service
public class HmClerkRelationApiServiceImpl implements HmClerkRelationApiService {
}
...@@ -22,10 +22,13 @@ import com.gic.haoban.manage.service.config.Config; ...@@ -22,10 +22,13 @@ import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.entity.TabHaobanStaff; import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.pojo.bo.hm.HmClerkRelationBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmClerkRelationBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmGroupSettingBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO;
import com.gic.haoban.manage.service.pojo.bo.welcome.WelcomeDetailBO;
import com.gic.haoban.manage.service.service.StaffClerkRelationService; import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.StaffService; import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.WelcomeService;
import com.gic.haoban.manage.service.service.WxEnterpriseService; import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.hm.HmClerkRelationService; import com.gic.haoban.manage.service.service.hm.HmClerkRelationService;
import com.gic.haoban.manage.service.service.hm.HmGroupService; import com.gic.haoban.manage.service.service.hm.HmGroupService;
...@@ -37,11 +40,14 @@ import com.gic.log.record.anno.GicLogRecord; ...@@ -37,11 +40,14 @@ import com.gic.log.record.anno.GicLogRecord;
import com.gic.log.record.util.GicLogRecordCategoryEnum; import com.gic.log.record.util.GicLogRecordCategoryEnum;
import com.gic.log.record.util.GicLogRecordEvaluationContext; import com.gic.log.record.util.GicLogRecordEvaluationContext;
import com.gic.log.record.util.GicLogRecordOptTypeEnum; import com.gic.log.record.util.GicLogRecordOptTypeEnum;
import com.gic.member.tag.api.dto.MemberTagDTO;
import com.gic.member.tag.api.service.MemberTagApiService;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.welcome.QywxExternalcontactDTO; import com.gic.wechat.api.dto.qywx.welcome.QywxExternalcontactDTO;
import com.gic.wechat.api.dto.qywx.welcome.QywxExternalcontactResultDTO; import com.gic.wechat.api.dto.qywx.welcome.QywxExternalcontactResultDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -85,6 +91,12 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService { ...@@ -85,6 +91,12 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
private HmGroupService groupService; private HmGroupService groupService;
@Autowired @Autowired
private WelcomeRelationService welcomeRelationService; private WelcomeRelationService welcomeRelationService;
@Autowired
private HmGroupService hmGroupService;
@Autowired
private MemberTagApiService memberTagApiService;
@Autowired
private WelcomeService welcomeService;
@GicLogRecord(value = "新增员工活码-${#logContent}", @GicLogRecord(value = "新增员工活码-${#logContent}",
...@@ -136,8 +148,8 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService { ...@@ -136,8 +148,8 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
// save welcome relation // save welcome relation
this.saveWelcomeRelation(hmQrcodeQDTO); this.saveWelcomeRelation(hmQrcodeQDTO);
} }
setLoggerContext(hmQrcodeQDTO.getEnterpriseId(),wxEnterpriseId,hmQrcodeQDTO.getCreatorId(),hmQrcodeQDTO.getCreatorName()); setLoggerContext(hmQrcodeQDTO.getEnterpriseId(), wxEnterpriseId, hmQrcodeQDTO.getCreatorId(), hmQrcodeQDTO.getCreatorName());
GicLogRecordEvaluationContext.putAttribute("logContent","【" + hmId+"-"+hmQrcodeQDTO.getName()+"】"); GicLogRecordEvaluationContext.putAttribute("logContent", "【" + hmId + "-" + hmQrcodeQDTO.getName() + "】");
return saveResult; return saveResult;
} }
...@@ -152,7 +164,7 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService { ...@@ -152,7 +164,7 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
* @author mozhu * @author mozhu
* @date 2022-07-12 14:20:44 * @date 2022-07-12 14:20:44
*/ */
private void setLoggerContext(String enterpriseId ,String wxEnterpriseId,String userId,String userName) { private void setLoggerContext(String enterpriseId, String wxEnterpriseId, String userId, String userName) {
GicLogRecordEvaluationContext.putAttribute("enterpriseId", enterpriseId); GicLogRecordEvaluationContext.putAttribute("enterpriseId", enterpriseId);
GicLogRecordEvaluationContext.putAttribute("wxEnterpriseId", wxEnterpriseId); GicLogRecordEvaluationContext.putAttribute("wxEnterpriseId", wxEnterpriseId);
GicLogRecordEvaluationContext.putAttribute("userId", userId); GicLogRecordEvaluationContext.putAttribute("userId", userId);
...@@ -171,7 +183,7 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService { ...@@ -171,7 +183,7 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
welcomeRelationService.saveHmWelcomeRelation(welcomeRelationBo); welcomeRelationService.saveHmWelcomeRelation(welcomeRelationBo);
} }
@GicLogRecord(value = "修改员工活码-${#logContent}", @GicLogRecord(value = "修改员工活码-${#hmName}-${#logContent}",
category = GicLogRecordCategoryEnum.HUOMA, category = GicLogRecordCategoryEnum.HUOMA,
optType = GicLogRecordOptTypeEnum.HUOMA_EDIT, optType = GicLogRecordOptTypeEnum.HUOMA_EDIT,
optPage = "活码管理-修改员工活码", optPage = "活码管理-修改员工活码",
...@@ -185,9 +197,9 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService { ...@@ -185,9 +197,9 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
logger.error("未查询到微信企业"); logger.error("未查询到微信企业");
return 0; return 0;
} }
Long hmId = hmQrcodeQDTO.getHmId(); Long hmId = hmQrcodeQDTO.getHmId();
Integer hmType = hmQrcodeQDTO.getHmType(); Integer hmType = hmQrcodeQDTO.getHmType();
List<String> clerkIdList = setStoreClerk(hmQrcodeQDTO, wxEnterpriseId, hmId, hmType); List<String> clerkIdList = setStoreClerk(hmQrcodeQDTO, wxEnterpriseId, hmId, hmType);
//更新活码 //更新活码
...@@ -204,18 +216,88 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService { ...@@ -204,18 +216,88 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
logger.error("更新企微活码失败"); logger.error("更新企微活码失败");
return 0; return 0;
} }
int updateResult = hmQrcodeService.update(hmQrcodeQDTO); int updateResult = hmQrcodeService.update(hmQrcodeQDTO);
if (updateResult == 1) { if (updateResult == 1) {
// 更新分组引用次数 // 更新分组引用次数
// 更新欢迎语引用次数 // 更新欢迎语引用次数
this.updateWelcomeRelation(hmQrcodeQDTO); this.updateWelcomeRelation(hmQrcodeQDTO);
} }
setLoggerContext(hmQrcodeQDTO.getEnterpriseId(),wxEnterpriseId,hmQrcodeQDTO.getModifierId(),hmQrcodeQDTO.getModifierName());
String logContent = ""; setLoggerContext(hmQrcodeQDTO.getEnterpriseId(), wxEnterpriseId, hmQrcodeQDTO.getModifierId(), hmQrcodeQDTO.getModifierName());
GicLogRecordEvaluationContext.putAttribute("logContent", logContent);
updateSystemLog(hmQrcodeQDTO, hmId);
return updateResult; return updateResult;
} }
/**
* 修改活码操作日志
* @param hmQrcodeQDTO
* @param hmId
*/
private void updateSystemLog(HmQrcodeQDTO hmQrcodeQDTO, Long hmId) {
StringBuffer logContent = new StringBuffer();
HmQrcodeBO hmOld = hmQrcodeService.queryById(hmId);
//操作日志
//名称
String name = hmQrcodeQDTO.getName();
String nameOld = hmOld.getName();
if (!name.equals(nameOld)) {
logContent.append("活码名称「").append(nameOld).append("」").append("变更为「").append(name).append("」");
}
//分组
Long hmGroupId = hmQrcodeQDTO.getHmGroupId();
Long hmGroupIdOld = hmOld.getHmGroupId();
if (!hmGroupId.equals(hmGroupIdOld)) {
HmGroupSettingBO hmGroupSettingBOOld = hmGroupService.queryGroupSettingDetail(hmGroupIdOld);
HmGroupSettingBO hmGroupSettingBO = hmGroupService.queryGroupSettingDetail(hmGroupId);
logContent.append("活码分组「").append(hmGroupSettingBOOld.getGroupName()).append("」").append("变更为「").append(hmGroupSettingBO.getGroupName()).append("」");
}
//员工变更
String staffId = hmQrcodeQDTO.getStaffId();
String staffIdOld = hmOld.getStaffId();
if (!staffId.equals(staffIdOld)) {
logContent.append("新增使用成员「").append(hmQrcodeQDTO.getStaffName()).append("」").append("删除使用成员「").append(hmOld.getStaffName()).append("」");
}
Integer passFlag = hmQrcodeQDTO.getPassFlag();
Integer passFlagOld = hmOld.getPassFlag();
if (!passFlag.equals(passFlagOld)) {
if (passFlag == 1) {
logContent.append("关闭自动通过好友").append("变更为开启自动通过好友");
} else {
logContent.append("开启自动通过好友").append("变更为关闭自动通过好友");
}
}
//标签
String memberLabelId = hmQrcodeQDTO.getMemberLabelId();
String memberLabelIdOld = hmOld.getMemberLabelId();
if (!memberLabelId.equals(memberLabelIdOld)) {
MemberTagDTO memberTagDTO = memberTagApiService.getMemberTagById(memberLabelId);
MemberTagDTO memberTagDTOOld = memberTagApiService.getMemberTagById(memberLabelIdOld);
logContent.append("活码标签「").append(memberTagDTOOld.getTagName()).append("」").append("变更为「").append(memberTagDTO.getTagName()).append("」");
}
//欢迎语
String welcomeId = hmQrcodeQDTO.getWelcomeId();
String welcomeIdOld = hmOld.getWelcomeId();
if (StringUtils.isBlank(welcomeId) && StringUtils.isNotBlank(welcomeIdOld)) {
logContent.append("欢迎语变更为「 不发送欢迎语」");
}
if (StringUtils.isNotBlank(welcomeId) && StringUtils.isBlank(welcomeIdOld)) {
WelcomeDetailBO welcome = welcomeService.getWelcome(welcomeId, hmQrcodeQDTO.getEnterpriseId());
logContent.append("欢迎语变更为「").append(welcome.getTitle()).append("」");
}
if (StringUtils.isNotBlank(welcomeId) && StringUtils.isNotBlank(welcomeIdOld)) {
if (!welcomeId.equals(welcomeIdOld)) {
WelcomeDetailBO welcome = welcomeService.getWelcome(welcomeId, hmQrcodeQDTO.getEnterpriseId());
WelcomeDetailBO welcomeOld = welcomeService.getWelcome(welcomeIdOld, hmQrcodeQDTO.getEnterpriseId());
logContent.append("欢迎语「").append(welcomeOld.getTitle()).append("」").append("变更为「").append(welcome.getTitle()).append("」");
}
}
GicLogRecordEvaluationContext.putAttribute("hmName", "【" + hmId + "-" + hmQrcodeQDTO.getName() + "】:");
GicLogRecordEvaluationContext.putAttribute("logContent", logContent.toString());
}
/** /**
* 更新活码 欢迎语引用关系 * 更新活码 欢迎语引用关系
...@@ -349,8 +431,8 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService { ...@@ -349,8 +431,8 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
if (flag) { if (flag) {
hmQrcodeService.deleteById(hmId); hmQrcodeService.deleteById(hmId);
} }
setLoggerContext(hmQrcodeBO.getEnterpriseId(),hmQrcodeBO.getWxEnterpriseId(),hmQrcodeBO.getModifierId(),hmQrcodeBO.getModifierName()); setLoggerContext(hmQrcodeBO.getEnterpriseId(), hmQrcodeBO.getWxEnterpriseId(), hmQrcodeBO.getModifierId(), hmQrcodeBO.getModifierName());
GicLogRecordEvaluationContext.putAttribute("logContent","【" + hmId+"-"+hmQrcodeBO.getName()+"】"); GicLogRecordEvaluationContext.putAttribute("logContent", "【" + hmId + "-" + hmQrcodeBO.getName() + "】");
return true; return true;
} }
......
...@@ -119,9 +119,6 @@ ...@@ -119,9 +119,6 @@
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmQrcodeApiService" <dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmQrcodeApiService"
ref="hmQrcodeApiServiceImpl" timeout="10000" /> ref="hmQrcodeApiServiceImpl" timeout="10000" />
<dubbo:service interface="com.gic.haoban.manage.api.service.hm.HmClerkRelationApiService"
ref="hmClerkRelationApiServiceImpl" timeout="10000" />
<dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/> <dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService" <dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService"
id="qywxDepartmentApiService"/> id="qywxDepartmentApiService"/>
......
...@@ -322,5 +322,21 @@ ...@@ -322,5 +322,21 @@
and enterprise_id = #{enterpriseId} and enterprise_id = #{enterpriseId}
GROUP BY store_id GROUP BY store_id
</select> </select>
<select id="getGroupIdNumByEnterpriseId" resultType="com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeGroupNumBO">
select hm_group_id,
COUNT(hm_id)
from tab_haoban_hm_qrcode
where status_flag != 0
and enterprise_id = #{enterpriseId}
GROUP BY hm_group_id
</select>
<select id="getTotalByEnterpriseId" resultType="int">
select COUNT(*)
from tab_haoban_hm_qrcode
where status_flag != 0
and enterprise_id = #{enterpriseId}
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment