|
@@ -8,7 +8,9 @@ import com.miaxis.common.core.domain.entity.UserInfo;
|
|
|
import com.miaxis.common.utils.StringUtils;
|
|
|
import com.miaxis.common.utils.wx.MessageUtil;
|
|
|
import com.miaxis.feign.service.IWxSendService;
|
|
|
+import com.miaxis.school.domain.SchoolInfo;
|
|
|
import com.miaxis.school.mapper.SchoolInfoMapper;
|
|
|
+import com.miaxis.school.service.ISchoolInfoService;
|
|
|
import com.miaxis.system.service.ISysUserService;
|
|
|
import com.miaxis.user.service.IUserInfoService;
|
|
|
import com.miaxis.wx.domain.WxForeverCode;
|
|
@@ -27,6 +29,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
|
/**
|
|
@@ -58,6 +61,8 @@ public class WxGzhServiceImpl implements IWxGzhService {
|
|
|
|
|
|
private final SchoolInfoMapper schoolInfoMapper;
|
|
|
|
|
|
+ private final ISchoolInfoService schoolInfoService;
|
|
|
+
|
|
|
@Value("${app.appid}")
|
|
|
private String appid;
|
|
|
|
|
@@ -230,46 +235,52 @@ public class WxGzhServiceImpl implements IWxGzhService {
|
|
|
private String dealSchoolMsg(String bizmsgmenuid, String content, String fromUserName, String toUserName) throws Exception {
|
|
|
UserInfo userInfo = userInfoService.getOne(new QueryWrapper<UserInfo>().eq("openid", fromUserName));
|
|
|
// 1选择城市 2选择区 3选择学校
|
|
|
- if ("1".equals(bizmsgmenuid)){
|
|
|
+ if ("1".equals(bizmsgmenuid)) {
|
|
|
userInfo.setCityName(content);
|
|
|
userInfoService.updateById(userInfo);
|
|
|
QueryParams queryParamsArea = new QueryParams();
|
|
|
queryParamsArea.setChoseColumName("area_name");
|
|
|
+ queryParamsArea.setChoseColumCode("area_code");
|
|
|
queryParamsArea.setConditionColumName1("city_name");
|
|
|
queryParamsArea.setValue1(content);
|
|
|
- List<String> areas = schoolInfoMapper.queryNames(queryParamsArea);
|
|
|
+ List<Map> areas = schoolInfoMapper.queryNames(queryParamsArea);
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
buffer.append("请选择驾校所在区:").append("\n\n");
|
|
|
- for (String area: areas){
|
|
|
- buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=2&msgmenucontent="+area+"\">"+area+"</a>").append("\n");
|
|
|
- //buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=1&msgmenucontent="+area+"\">"+area+"</a>").append("\n\n");
|
|
|
+ for (Map area : areas) {
|
|
|
+ String name = (String) area.get("name");
|
|
|
+ buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=2&msgmenucontent=" + name + "\">" + name + "</a>").append("\n");
|
|
|
}
|
|
|
return MessageUtil.initText(fromUserName, toUserName, buffer.toString());
|
|
|
- }else if ("2".equals(bizmsgmenuid)){
|
|
|
+ } else if ("2".equals(bizmsgmenuid)) {
|
|
|
userInfo.setAreaName(content);
|
|
|
userInfoService.updateById(userInfo);
|
|
|
QueryParams queryParamsArea = new QueryParams();
|
|
|
queryParamsArea.setChoseColumName("school_name");
|
|
|
+ queryParamsArea.setChoseColumCode("school_code");
|
|
|
queryParamsArea.setConditionColumName1("city_name");
|
|
|
queryParamsArea.setValue1(userInfo.getCityName());
|
|
|
queryParamsArea.setConditionColumName2("area_name");
|
|
|
queryParamsArea.setValue2(userInfo.getAreaName());
|
|
|
- List<String> schools = schoolInfoMapper.queryNames(queryParamsArea);
|
|
|
+ List<Map> schools = schoolInfoMapper.queryNames(queryParamsArea);
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
buffer.append("请选择驾校:").append("\n\n");
|
|
|
- for (String school: schools){
|
|
|
- buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=3&msgmenucontent="+school+"\">"+school+"</a>").append("\n");
|
|
|
+ for (Map school : schools) {
|
|
|
+ String name = (String) school.get("name");
|
|
|
+ String code = (String) school.get("code");
|
|
|
+ buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=s" + code + "&msgmenucontent=\">" + name + "</a>").append("\n");
|
|
|
+ return MessageUtil.initText(fromUserName, toUserName, buffer.toString());
|
|
|
}
|
|
|
- return MessageUtil.initText(fromUserName, toUserName, buffer.toString());
|
|
|
- }
|
|
|
- //如果输出的是驾校,则返回二维码
|
|
|
- else if ("3".equals(bizmsgmenuid)){
|
|
|
+ //如果输出的是驾校,则返回二维码
|
|
|
+ }else if (bizmsgmenuid.startsWith("s")) {
|
|
|
+ SchoolInfo schoolInfo = schoolInfoService.getOne(new QueryWrapper<SchoolInfo>().eq("school_code", bizmsgmenuid.substring(1)));
|
|
|
userInfo.setSchoolName(content);
|
|
|
- userInfoService.updateById(userInfo);
|
|
|
- String mediaId = wxMessageEvenService.gainTicketEvent(fromUserName, this.getGzhToken(), false, null);
|
|
|
- return MessageUtil.initImage(fromUserName,toUserName,mediaId);
|
|
|
- }
|
|
|
- return null;
|
|
|
+ userInfoService.updateById(userInfo);
|
|
|
+ String mediaId = wxMessageEvenService.gainTicketEvent(fromUserName, this.getGzhToken(), false, null);
|
|
|
+ return MessageUtil.initImage(fromUserName, toUserName, mediaId);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
private String choseSchoolName(UserInfo userInfo,String fromUserName,String toUserName) throws Exception {
|
|
@@ -277,23 +288,27 @@ public class WxGzhServiceImpl implements IWxGzhService {
|
|
|
if (StringUtils.isEmpty(userInfo.getCityName())){
|
|
|
QueryParams queryParams = new QueryParams();
|
|
|
queryParams.setChoseColumName("city_name");
|
|
|
- List<String> cities = schoolInfoMapper.queryNames(queryParams);
|
|
|
+ queryParams.setChoseColumCode("city_code");
|
|
|
+ List<Map> cities = schoolInfoMapper.queryNames(queryParams);
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
buffer.append("请选择驾校所在城市:").append("\n\n");
|
|
|
- for (String city: cities){
|
|
|
- buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=1&msgmenucontent="+city+"\">"+city+"</a>").append("\n");
|
|
|
+ for (Map city: cities){
|
|
|
+ String name = (String) city.get("name");
|
|
|
+ buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=1&msgmenucontent="+name+"\">"+name+"</a>").append("\n");
|
|
|
}
|
|
|
return MessageUtil.initText(fromUserName, toUserName, buffer.toString());
|
|
|
}else if (StringUtils.isEmpty(userInfo.getAreaName())) {
|
|
|
QueryParams queryParamsArea = new QueryParams();
|
|
|
queryParamsArea.setChoseColumName("area_name");
|
|
|
+ queryParamsArea.setChoseColumCode("area_code");
|
|
|
queryParamsArea.setConditionColumName1("city_name");
|
|
|
queryParamsArea.setValue1(userInfo.getCityName());
|
|
|
- List<String> areas = schoolInfoMapper.queryNames(queryParamsArea);
|
|
|
+ List<Map> areas = schoolInfoMapper.queryNames(queryParamsArea);
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
buffer.append("请选择驾校所在区:").append("\n\n");
|
|
|
- for (String area: areas){
|
|
|
- buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=2&msgmenucontent="+area+"\">"+area+"</a>").append("\n");
|
|
|
+ for (Map area: areas){
|
|
|
+ String name = (String) area.get("name");
|
|
|
+ buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=2&msgmenucontent="+name+"\">"+name+"</a>").append("\n");
|
|
|
}
|
|
|
return MessageUtil.initText(fromUserName, toUserName, buffer.toString());
|
|
|
}
|
|
@@ -301,15 +316,18 @@ public class WxGzhServiceImpl implements IWxGzhService {
|
|
|
else if (StringUtils.isEmpty(userInfo.getSchoolName())) {
|
|
|
QueryParams queryParamsArea = new QueryParams();
|
|
|
queryParamsArea.setChoseColumName("school_name");
|
|
|
+ queryParamsArea.setChoseColumCode("school_code");
|
|
|
queryParamsArea.setConditionColumName1("city_name");
|
|
|
queryParamsArea.setValue1(userInfo.getCityName());
|
|
|
queryParamsArea.setConditionColumName2("area_name");
|
|
|
queryParamsArea.setValue2(userInfo.getAreaName());
|
|
|
- List<String> schools = schoolInfoMapper.queryNames(queryParamsArea);
|
|
|
+ List<Map> schools = schoolInfoMapper.queryNames(queryParamsArea);
|
|
|
StringBuffer buffer = new StringBuffer();
|
|
|
buffer.append("请选择驾校:").append("\n\n");
|
|
|
- for (String school: schools){
|
|
|
- buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=3&msgmenucontent="+school+"\">"+school+"</a>").append("\n");
|
|
|
+ for (Map school: schools){
|
|
|
+ String name = (String) school.get("name");
|
|
|
+ String code = (String)school.get("code");
|
|
|
+ buffer.append("<a href=\"weixin://bizmsgmenu?msgmenuid=s"+code+"&msgmenucontent=\">"+name+"</a>").append("\n");
|
|
|
}
|
|
|
return MessageUtil.initText(fromUserName, toUserName, buffer.toString());
|
|
|
|