diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java index 6e5624b..80d00b6 100644 --- a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerQuery.java @@ -11,4 +11,6 @@ import lombok.Data; @ApiModel(value = "客户信息 查询条件", description = "客户信息 查询条件") @Data public class LpkCustomerQuery implements Query { + private String realName; + private String mobile; } diff --git a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java index cdc2425..98c2dcb 100644 --- a/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java +++ b/src/main/java/com/yxt/yyth/api/lpkcustomer/LpkCustomerVo.java @@ -13,4 +13,10 @@ import lombok.NoArgsConstructor; @ApiModel(value = "客户信息 视图数据对象", description = "客户信息 视图数据对象") @NoArgsConstructor public class LpkCustomerVo implements Vo { + private String sid; + private String mobile; + private String bindDate; + private String realName; + private String nick; + private String photo; } diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java index 579a5a2..539ac33 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.java @@ -1,8 +1,13 @@ package com.yxt.yyth.biz.lpkcustomer; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * @author wangpengfei @@ -10,4 +15,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface LpkCustomerMapper extends BaseMapper { + + IPage customerListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); } diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml index 81a3049..77fd1a1 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerMapper.xml @@ -4,4 +4,17 @@ + \ No newline at end of file diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java index 3ed351a..f62cc7a 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerRest.java @@ -1,7 +1,10 @@ package com.yxt.yyth.biz.lpkcustomer; +import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerQuery; import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; import com.yxt.yyth.api.lpkcustomer.WxBindMobileDto; import io.swagger.annotations.Api; @@ -24,12 +27,21 @@ public class LpkCustomerRest { @PostMapping("/wxBindMobile") @ApiOperation(value = "微信绑定手机") - public ResultBean wxBindMobile(@RequestBody WxBindMobileDto wxBindMobileDto){ + public ResultBean wxBindMobile(@RequestBody WxBindMobileDto wxBindMobileDto) { return lpkCustomerService.wxBindMobile(wxBindMobileDto); } + @ApiOperation(value = "微信静默登录") @GetMapping("/wxSilentLogin") public ResultBean wxSilentLogin(@RequestParam(value = "wxCode") String wxCode) { return lpkCustomerService.wxSilentLogin(wxCode); } + + @ApiOperation("客户信息列表") + @PostMapping("/customerListPage") + public ResultBean> customerListPage(@RequestBody PagerQuery pq) { + return lpkCustomerService.customerListPage(pq); + } + + } diff --git a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java index 59ea8be..260f057 100644 --- a/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java +++ b/src/main/java/com/yxt/yyth/biz/lpkcustomer/LpkCustomerService.java @@ -2,20 +2,25 @@ package com.yxt.yyth.biz.lpkcustomer; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; import com.yxt.yyth.api.lpkcustomer.LpkCustomer; +import com.yxt.yyth.api.lpkcustomer.LpkCustomerQuery; import com.yxt.yyth.api.lpkcustomer.LpkCustomerVo; import com.yxt.yyth.api.lpkcustomer.WxBindMobileDto; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import java.text.SimpleDateFormat; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; +import java.util.*; /** * @author wangpengfei @@ -23,14 +28,19 @@ import java.util.Map; */ @Service public class LpkCustomerService extends MybatisBaseService { + + @Autowired + private FileUploadComponent fileUploadComponent; + String APP_ID = "wx4724e3a3c27f36b5"; String SECRET = "971fd3b8aa7b08ce3e8a5f3e502b1a8d"; private static final String WX_URL_LOGIN = "https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code "; + public ResultBean wxLogin(String jsCode, String appid, String secret) { - ResultBean rb=new ResultBean(); - String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE",jsCode).replace("authorization_code","authorization_code"); + ResultBean rb = new ResultBean(); + String url = WX_URL_LOGIN.replace("APPID", appid).replace("SECRET", secret).replace("JSCODE", jsCode).replace("authorization_code", "authorization_code"); RestTemplate restTemplate = new RestTemplate(); - ResponseEntity forEntity = restTemplate.getForEntity(url,String.class); + ResponseEntity forEntity = restTemplate.getForEntity(url, String.class); JSONObject jsonObject = JSONObject.parseObject(forEntity.getBody()); System.out.println(jsonObject); return rb.success().setData(jsonObject); @@ -38,6 +48,7 @@ public class LpkCustomerService extends MybatisBaseService rbJsonObject = wxLogin(wxCode,APP_ID,SECRET); - if (!rbJsonObject.getSuccess()){ + ResultBean rbJsonObject = wxLogin(wxCode, APP_ID, SECRET); + if (!rbJsonObject.getSuccess()) { JSONObject jsonObject = rbJsonObject.getData(); String errcode = jsonObject.get("errcode").toString(); String errmsg = jsonObject.get("errmsg").toString(); @@ -56,19 +67,19 @@ public class LpkCustomerService extends MybatisBaseService map=new HashMap<>(); - map.put("unionid",unionid); - map.put("openid",openid); - LpkCustomer lpkCustomer= baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid",openid)); + Map map = new HashMap<>(); + map.put("unionid", unionid); + map.put("openid", openid); + LpkCustomer lpkCustomer = baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid", openid)); //查询用户是否存在 - if(null==lpkCustomer){ + if (null == lpkCustomer) { //新增用户 - LpkCustomer newCustomer=new LpkCustomer(); + LpkCustomer newCustomer = new LpkCustomer(); newCustomer.setWxMpOpenid(openid); newCustomer.setCreateTime(new Date()); baseMapper.insert(newCustomer); @@ -76,14 +87,40 @@ public class LpkCustomerService extends MybatisBaseService().eq("wx_mp_openid",wxBindMobileDto.getOpenid())); - SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); + LpkCustomer lpkCustomer = baseMapper.selectOne(new QueryWrapper().eq("wx_mp_openid", wxBindMobileDto.getOpenid())); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); lpkCustomer.setBindDate(sdf.format(new Date())); lpkCustomer.setMobile(mobile); baseMapper.insert(lpkCustomer); return rb.setMsg("绑定成功"); } + + public ResultBean> customerListPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + LpkCustomerQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getMobile())) { + qw.like("mobile", query.getMobile()); + } + if (StringUtils.isNotBlank(query.getRealName())) { + qw.like("realName", query.getRealName()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.customerListPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + records.removeAll(Collections.singleton(null)); + if (!records.isEmpty()) { + for (LpkCustomerVo record : records) { + if (StringUtils.isNotBlank(record.getPhoto())) { + record.setPhoto(fileUploadComponent.getUrlPrefix() + record.getPhoto()); + } + } + } + return rb.success().setData(p); + } }