只是为了演示操作,就不做MVC分层了。
Controller
package com.sjky.platform.fxwx.controller.wx;
import com.sjky.platform.common.base.web.BaseController;
import com.sjky.platform.fxwx.dao.member.FxMemberMapper;
import com.sjky.platform.fxwx.dto.FxMemberDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Sort;
import org.springframework.data.solr.core.SolrTemplate;
import org.springframework.data.solr.core.query.Criteria;
import org.springframework.data.solr.core.query.Query;
import org.springframework.data.solr.core.query.SimpleQuery;
import org.springframework.data.solr.core.query.result.ScoredPage;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
import java.util.Optional;
@Controller
public class TestSolrMember extends BaseController {
@Autowired
private SolrTemplate solrTemplate;
@Autowired
private FxMemberMapper fxMemberMapper;
@RequestMapping("/addMember.do")
public void addMember() {
/*根据主键进行判断是新增/修改一条数据*/
FxMemberDto member = fxMemberMapper.selectByCode("007c8d98825143c0bc022b675e373501");
solrTemplate.saveBean("member",member);
/*增加List集合*/
List<FxMemberDto> memberList = fxMemberMapper.getReconmmendProxyByCode("007c8d98825143c0bc022b675e373501");
solrTemplate.saveBeans("member",memberList);
/*提交*/
solrTemplate.commit("member");
}
@RequestMapping("/getMember.do")
public void getMember() {
/*根据ID进行查询*/
Optional<FxMemberDto> member = solrTemplate.getById("member", "19005",FxMemberDto.class);
//“*:*”所有数据
Query query = new SimpleQuery("*:*");
//起始位置,默认0
query.setOffset((long) 0);
//每页条数 默认10
query.setRows(15);
//精确查询
Criteria criteria = new Criteria("fms_proxy_name").is("付小萍");
//criteria.add()相当于sql里的AND; criteria.or()相当于sql里的or
// is:等于;contains:包含
criteria = criteria.or("fms_proxy_name").contains("爱宝照片书");
query.addCriteria(criteria);
/*排序*/
Sort id = new Sort(Sort.Direction.DESC, "id");
query.addSort(id);
//以下两种查询并无实际区别
Page<FxMemberDto> fx_member1 = solrTemplate.query("member", query, FxMemberDto.class );
ScoredPage<FxMemberDto> memberPage = solrTemplate.queryForPage("member", query, FxMemberDto.class);
//总条数
long totalElements = memberPage.getTotalElements();
//数据集合
List<FxMemberDto> memberList = memberPage.getContent();
}
@RequestMapping("/deleteMember.do")
public void deleteMember() {
//“*:*”所有数据
Query query = new SimpleQuery();
Criteria criteria = new Criteria("fms_proxy_name").is("super璐");
query.addCriteria(criteria);
//根据ID删除数据
solrTemplate.deleteByIds("member","19005");
//删除query条件内的数据
solrTemplate.delete("member",query);
solrTemplate.commit("member");
}
}
因为实体类涉及时间类型,所以新建一个DTO
注:@Field注解内容一定要与data-config.xml中配置要对应。
package com.sjky.platform.fxwx.dto;
import com.sjky.platform.common.base.model.BaseObject;
import org.apache.solr.client.solrj.beans.Field;
import org.springframework.data.solr.core.mapping.Indexed;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
public class FxMemberDto extends BaseObject implements Serializable {
//主键
@Field("fms_code")
private String code;
//自增列
@Field("id")
private Long id;
//登陆账号
@Field("fms_account")
private String account;
//密码
@Field("fms_secret")
private String secret;
//会员名称
@Field("fms_member_name")
private String memberName;
//会员类型,0会员,1代理
@Field("fms_member_type")
private String memberType;
//所属代理code(会员专用)
@Indexed("fms_proxy_code")
private String proxyCode;
//一级代理code
@Field("fms_proxy_code_first")
private String proxyCodeFirst;
//二级代理code
@Field("fms_proxy_code_second")
private String proxyCodeSecond;
//三级代理code
@Field("fms_proxy_code_third")
private String proxyCodeThird;
//推荐代理code(代理专用)
@Indexed("fms_proxy_code_reconmmend")
private String proxyCodeReconmmend;
//手机号码
@Field("fms_mobile")
private String mobile;
//银行卡号
@Field("fms_bank_num")
private String bankNum;
//开户行
@Field("fms_bank_addr")
private String bankAddr;
//开户人姓名
@Field("fms_bank_owner_name")
private String bankOwnerName;
//身份证号
@Field("fms_id_card_num")
private String idCardNum;
//代理商等级,1一级代理,2二级代理,3三级代理
@Field("fms_proxy_level")
private String proxyLevel;
// 会员推广二维码链接
@Field("fms_qrcode_url")
private String qrcodeUrl;
//微信openid
@Field("fms_wx_openid")
private String wxOpenid;
//微信unionid
@Field("fms_wx_unionid")
private String wxUnionid;
//微信昵称
@Field("fms_wx_nick")
private String wxNick;
//微信头像地址
@Field("fms_wx_head_url")
private String wxHeadUrl;
//代理名称
@Field("fms_proxy_name")
private String proxyName;
//推广码
@Field("fms_recommend")
private String recommend;
//真实姓名
@Field("fms_real_name")
private String realName;
//会员来源,0这里印,1门店
@Field("fms_source")
private String source;
//销售佣金
@Field("fms_sale_money")
private BigDecimal saleMoney;
//推荐佣金
@Field("fms_recommend_money")
private BigDecimal recommendMoney;
//身份证正面
@Field("fms_card_face_path")
private String cardFacePath;
//身份证背面
@Field("fms_card_back_path")
private String cardBackPath;
//会员创建时间
@Field("fms_create_time")
private String createTime;
//审核状态,0注册待审核,1审核通过,2审核不通过,3冻结,4升级待审核
@Field("fms_check_sate")
private String checkState;//审核状态,0待审核,1审核通过,2审核不通过,3冻结
//三级代理申请时间
@Field("fms_three_proxy_apply_time")
private String threeProxyApplyTime;
//三级代理审核时间
@Field("fms_three_proxy_check_time")
private String threeProxyCheckTime;
//二级代理申请时间
@Field("fms_two_proxy_apply_time")
private String twoProxyApplyTime;
//二级代理审核时间
@Field("fms_two_proxy_check_time")
private String twoProxyCheckTime;
//一级代理申请时间
@Field("fms_one_proxy_apply_time")
private String oneProxyApplyTime;
//一级代理审核时间
@Field("fms_one_proxy_check_time")
private String oneProxyCheckTime;
//申请等级
@Field("fms_proxy_level_apply")
private String proxyLevelApply;
//是否领取商品,true领取
@Field("fms_is_goods")
private Boolean isGoods;
//是否展示首次登陆,true展示
@Field("fms_is_once")
private Boolean isOnce;
//微信参数二维码的ticket
@Field("fms_wx_ticket")
private String wxTicket;
private String memberProxyName;
private String proxyWxHeadUrl;
//会员数量
@Field("fms_follower_count")
private Long followerCount;
// 推荐代理数量
@Field("fms_recommend_proxy_count")
private Long recommendProxyCount;
// 微信号
@Field("fms_wx_no")
private String wxNo;
public String getProxyWxHeadUrl() {
return proxyWxHeadUrl;
}
public void setProxyWxHeadUrl(String proxyWxHeadUrl) {
this.proxyWxHeadUrl = proxyWxHeadUrl;
}
public String getMemberProxyName() {
return memberProxyName;
}
public void setMemberProxyName(String memberProxyName) {
this.memberProxyName = memberProxyName;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code == null ? null : code.trim();
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account == null ? null : account.trim();
}
public String getSecret() {
return secret;
}
public void setSecret(String secret) {
this.secret = secret == null ? null : secret.trim();
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName == null ? null : memberName.trim();
}
public String getMemberType() {
return memberType;
}
public void setMemberType(String memberType) {
this.memberType = memberType == null ? null : memberType.trim();
}
public String getProxyCode() {
return proxyCode;
}
public void setProxyCode(String proxyCode) {
this.proxyCode = proxyCode == null ? null : proxyCode.trim();
}
public String getProxyCodeFirst() {
return proxyCodeFirst;
}
public void setProxyCodeFirst(String proxyCodeFirst) {
this.proxyCodeFirst = proxyCodeFirst == null ? null : proxyCodeFirst.trim();
}
public String getProxyCodeSecond() {
return proxyCodeSecond;
}
public void setProxyCodeSecond(String proxyCodeSecond) {
this.proxyCodeSecond = proxyCodeSecond == null ? null : proxyCodeSecond.trim();
}
public String getProxyCodeThird() {
return proxyCodeThird;
}
public void setProxyCodeThird(String proxyCodeThird) {
this.proxyCodeThird = proxyCodeThird == null ? null : proxyCodeThird.trim();
}
public String getProxyCodeReconmmend() {
return proxyCodeReconmmend;
}
public void setProxyCodeReconmmend(String proxyCodeReconmmend) {
this.proxyCodeReconmmend = proxyCodeReconmmend == null ? null : proxyCodeReconmmend.trim();
}
public String getMobile() {
return mobile;
}
public void setMobile(String mobile) {
this.mobile = mobile == null ? null : mobile.trim();
}
public String getBankNum() {
return bankNum;
}
public void setBankNum(String bankNum) {
this.bankNum = bankNum == null ? null : bankNum.trim();
}
public String getBankAddr() {
return bankAddr;
}
public void setBankAddr(String bankAddr) {
this.bankAddr = bankAddr == null ? null : bankAddr.trim();
}
public String getBankOwnerName() {
return bankOwnerName;
}
public void setBankOwnerName(String bankOwnerName) {
this.bankOwnerName = bankOwnerName == null ? null : bankOwnerName.trim();
}
public String getIdCardNum() {
return idCardNum;
}
public void setIdCardNum(String idCardNum) {
this.idCardNum = idCardNum == null ? null : idCardNum.trim();
}
public String getProxyLevel() {
return proxyLevel;
}
public void setProxyLevel(String proxyLevel) {
this.proxyLevel = proxyLevel == null ? null : proxyLevel.trim();
}
public String getQrcodeUrl() {
return qrcodeUrl;
}
public void setQrcodeUrl(String qrcodeUrl) {
this.qrcodeUrl = qrcodeUrl == null ? null : qrcodeUrl.trim();
}
public String getWxOpenid() {
return wxOpenid;
}
public void setWxOpenid(String wxOpenid) {
this.wxOpenid = wxOpenid == null ? null : wxOpenid.trim();
}
public String getWxUnionid() {
return wxUnionid;
}
public void setWxUnionid(String wxUnionid) {
this.wxUnionid = wxUnionid == null ? null : wxUnionid.trim();
}
public String getWxNick() {
return wxNick;
}
public void setWxNick(String wxNick) {
this.wxNick = wxNick == null ? null : wxNick.trim();
}
public String getWxHeadUrl() {
return wxHeadUrl;
}
public void setWxHeadUrl(String wxHeadUrl) {
this.wxHeadUrl = wxHeadUrl == null ? null : wxHeadUrl.trim();
}
public String getProxyName() {
return proxyName;
}
public void setProxyName(String proxyName) {
this.proxyName = proxyName == null ? null : proxyName.trim();
}
public String getRecommend() {
return recommend;
}
public void setRecommend(String recommend) {
this.recommend = recommend == null ? null : recommend.trim();
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName == null ? null : realName.trim();
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source == null ? null : source.trim();
}
public BigDecimal getSaleMoney() {
return saleMoney;
}
public void setSaleMoney(BigDecimal saleMoney) {
this.saleMoney = saleMoney;
}
public BigDecimal getRecommendMoney() {
return recommendMoney;
}
public void setRecommendMoney(BigDecimal recommendMoney) {
this.recommendMoney = recommendMoney;
}
public String getCardFacePath() {
return cardFacePath;
}
public void setCardFacePath(String cardFacePath) {
this.cardFacePath = cardFacePath == null ? null : cardFacePath.trim();
}
public String getCardBackPath() {
return cardBackPath;
}
public void setCardBackPath(String cardBackPath) {
this.cardBackPath = cardBackPath == null ? null : cardBackPath.trim();
}
public String getCheckState() {
return checkState;
}
public void setCheckState(String checkState) {
this.checkState = checkState;
}
public String getProxyLevelApply() {
return proxyLevelApply;
}
public void setProxyLevelApply(String proxyLevelApply) {
this.proxyLevelApply = proxyLevelApply;
}
public Boolean getGoods() {
return isGoods;
}
public void setGoods(Boolean goods) {
isGoods = goods;
}
public Boolean getIsOnce() {
return isOnce;
}
public void setIsOnce(Boolean once) {
isOnce = once;
}
public String getWxTicket() {
return wxTicket;
}
public void setWxTicket(String wxTicket) {
this.wxTicket = wxTicket;
}
public Long getFollowerCount() {
return followerCount;
}
public void setFollowerCount(Long followerCount) {
this.followerCount = followerCount;
}
public Long getRecommendProxyCount() {
return recommendProxyCount;
}
public void setRecommendProxyCount(Long recommendProxyCount) {
this.recommendProxyCount = recommendProxyCount;
}
public String getWxNo() {
return wxNo;
}
public void setWxNo(String wxNo) {
this.wxNo = wxNo;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getThreeProxyApplyTime() {
return threeProxyApplyTime;
}
public void setThreeProxyApplyTime(String threeProxyApplyTime) {
this.threeProxyApplyTime = threeProxyApplyTime;
}
public String getThreeProxyCheckTime() {
return threeProxyCheckTime;
}
public void setThreeProxyCheckTime(String threeProxyCheckTime) {
this.threeProxyCheckTime = threeProxyCheckTime;
}
public String getTwoProxyApplyTime() {
return twoProxyApplyTime;
}
public void setTwoProxyApplyTime(String twoProxyApplyTime) {
this.twoProxyApplyTime = twoProxyApplyTime;
}
public String getTwoProxyCheckTime() {
return twoProxyCheckTime;
}
public void setTwoProxyCheckTime(String twoProxyCheckTime) {
this.twoProxyCheckTime = twoProxyCheckTime;
}
public String getOneProxyApplyTime() {
return oneProxyApplyTime;
}
public void setOneProxyApplyTime(String oneProxyApplyTime) {
this.oneProxyApplyTime = oneProxyApplyTime;
}
public String getOneProxyCheckTime() {
return oneProxyCheckTime;
}
public void setOneProxyCheckTime(String oneProxyCheckTime) {
this.oneProxyCheckTime = oneProxyCheckTime;
}
public Boolean getOnce() {
return isOnce;
}
public void setOnce(Boolean once) {
isOnce = once;
}
}