package cn.ksource.web.facade.wechat;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import cn.ksource.core.CascadeMap;
|
import cn.ksource.core.dao.BaseDao;
|
import cn.ksource.core.dao.SqlParameter;
|
import cn.ksource.core.util.ConvertUtil;
|
import cn.ksource.core.util.DateUtil;
|
import cn.ksource.core.util.HttpCharset;
|
import cn.ksource.core.util.HttpUtil;
|
import cn.ksource.core.util.JsonUtil;
|
import cn.ksource.core.util.StringUtil;
|
import cn.ksource.core.web.ClientUtil;
|
import cn.ksource.core.web.PasswordEncoder;
|
import cn.ksource.core.web.WebUtil;
|
import cn.ksource.core.weixin.service.WeiXinCoreService;
|
import cn.ksource.web.Constants;
|
import cn.ksource.web.SysConstants;
|
import cn.ksource.web.controller.wechat.util.WechatConstants;
|
import cn.ksource.web.facade.JsglFacade;
|
import cn.ksource.web.facade.cfg.CfgFacade;
|
import cn.ksource.web.service.wechat.WechatService;
|
|
@Service("wechatFacade")
|
public class WechatFacadeImpl implements WechatFacade {
|
|
@Autowired
|
private BaseDao baseDao;
|
|
@Resource(name="wechatService")
|
private WechatService wechatService;
|
|
@Autowired
|
private JsglFacade jsglFacade;
|
@Autowired
|
private CfgFacade cfgFacade;
|
@Autowired
|
private WeiXinCoreService weiXinCoreService;
|
|
@Override
|
public String queryGcsBind(HttpServletRequest request, String openId) {
|
if(StringUtil.notEmpty(openId)) {
|
|
String selectsql = "SELECT A.* FROM (SELECT U.*,P.IS_TIME_OUT,P.VALID_END_DATE FROM GG_USER U , SC_PARTNER_INFO P ) A WHERE A.ZT = 1 AND A.OPEN_ID=:openId";
|
Map userMap = baseDao.queryForMap(selectsql,new SqlParameter().addValue("openId", openId));
|
if(null != userMap && userMap.size()>0) {
|
|
String isTimeOut = ConvertUtil.obj2StrBlank(userMap.get("IS_TIME_OUT"));
|
if(StringUtil.notEmpty(isTimeOut) && isTimeOut.equals("2")) {
|
//加盟商已过期
|
return "3";
|
}
|
|
|
putEngineerMsgToSession(request,userMap);
|
return "1";
|
}
|
}
|
|
return "2";
|
}
|
|
|
private void putEngineerMsgToSession(HttpServletRequest request,Map userMap) {
|
//查询属于何种桌面类型
|
String userId = ConvertUtil.obj2StrBlank(userMap.get("ID"));
|
String jumpUrl = Constants.getWxDeskTopUrl(Constants.ROLE_FLINE);
|
List<Map> roles = jsglFacade.getRolesByUserId(userId, 1);
|
if(roles.size()==1){
|
String identify = ConvertUtil.obj2StrBlank(roles.get(0).get("identify"));
|
if (StringUtil.isNotBlank(identify)) {
|
jumpUrl = Constants.getWxDeskTopUrl(identify);
|
}
|
}
|
|
userMap.put("deskTopType", jumpUrl);
|
|
request.getSession().setAttribute("homePage", jumpUrl);
|
|
request.getSession().setAttribute(SysConstants.WYW_ENGINEER_LOGIN_INFO_KEY, userMap);
|
}
|
|
|
/**
|
* 查询工程师是否已经进行过绑定微信号的操作
|
* @param fromUserName 微信用户对应该公众号的唯一id
|
* @return
|
*/
|
@Override
|
public boolean queryEngineerHasBind(String fromUserName) {
|
String selectSql = "SELECT COUNT(ID) FROM GG_USER WHERE OPEN_ID = :openId ";
|
Map paramMap = new HashMap();
|
paramMap.put("openId", fromUserName);
|
int count = baseDao.queryForInteger(selectSql, paramMap);
|
System.out.println("count---------------------->"+count);
|
if(count>0) {
|
return true;
|
}
|
return false;
|
}
|
|
@Override
|
public String updateEngineerOpenId(HttpServletRequest request) {
|
String username = request.getParameter("username");
|
String password = request.getParameter("password");
|
String openId = request.getParameter("openId");
|
|
if(!StringUtil.notEmpty(username)) {
|
return "请输入名称";
|
}
|
if(!StringUtil.notEmpty(password)) {
|
return "请输入密码";
|
}
|
if(!StringUtil.notEmpty(openId)) {
|
return "绑定失败";
|
}
|
|
boolean hasBind = queryEngineerHasBind(openId);
|
if(hasBind) {
|
return "该微信号已经绑定过平台账号";
|
}
|
|
String selectSql = "SELECT A.* FROM (SELECT U.*,P.IS_TIME_OUT,P.VALID_END_DATE FROM GG_USER U , SC_PARTNER_INFO P ) A WHERE A.ZT = 1 AND A.LOGINNAME = :username AND A.PASSWORD = :password ";
|
Map paramMap = new HashMap();
|
paramMap.put("username", username);
|
paramMap.put("password", PasswordEncoder.encode(password));
|
Map user = baseDao.queryForMap(selectSql,paramMap);
|
if(null==user || user.size() == 0) {
|
return "用户名或者密码错误";
|
}
|
|
String oId = ConvertUtil.obj2StrBlank(user.get("OPEN_ID"));
|
if(StringUtil.notEmpty(oId)) {
|
return "该账号已绑定过微信";
|
}
|
|
String isTimeOut = ConvertUtil.obj2StrBlank(user.get("IS_TIME_OUT"));
|
if(StringUtil.notEmpty(isTimeOut) && isTimeOut.equals("2")) {
|
return "该账号已过有效期";
|
}
|
|
|
|
//查询该工程师所在加盟商的有效期信息
|
|
|
String updateSql = "UPDATE GG_USER SET OPEN_ID = :openId,ISWECHAT = 2 WHERE ID = :id ";
|
baseDao.execute(updateSql, new SqlParameter("openId",openId).addValue("id", user.get("ID")));
|
|
String function = "提醒通知";
|
String remark = "";
|
|
//通过openId获取用户的基本信息
|
Map userBaseMap = wechatService.queryUserBaseMsgByOpenId(openId);
|
System.out.println("userBaseMap--------------->"+JsonUtil.map2Json(userBaseMap));
|
|
String wxName = ConvertUtil.obj2StrBlank(userBaseMap.get("nickname"));
|
|
wxName=queryZsxm(openId);
|
String unbindUrl = WechatConstants.ENGINEER_UNBIND_ADDRESS+"?openId="+openId;
|
//如果绑定成功,提醒微信绑定成功通知
|
wechatService.bindingNotice(openId,unbindUrl,wxName,username,function,remark);
|
|
putEngineerMsgToSession(request, user);
|
|
return "1";
|
}
|
public String queryZsxm(String openId){
|
String sql="select zsxm from gg_user where open_id=:openId";
|
return baseDao.queryForString(sql,new SqlParameter("openId",openId));
|
}
|
@Override
|
public String updateEngineerUnBindOpenId(HttpServletRequest request) {
|
//String username = request.getParameter("username");
|
//String password = request.getParameter("password");
|
String openId = request.getParameter("openId");
|
|
/*if(!StringUtil.notEmpty(username)) {
|
return "请输入名称";
|
}
|
if(!StringUtil.notEmpty(password)) {
|
return "请输入密码";
|
}*/
|
if(!StringUtil.notEmpty(openId)) {
|
return "解绑失败";
|
}
|
|
boolean hasBind = queryEngineerHasBind(openId);
|
if(!hasBind) {
|
return "该微信号未绑定平台账号";
|
}
|
|
/*String selectSql = "SELECT ID FROM GG_USER WHERE ACCOUNTTYPE = :type AND LOGINNAME = :username AND PASSWORD = :password AND OPEN_ID = :openId";
|
Map paramMap = new HashMap();
|
paramMap.put("type", Constants.GG_USER_ACCOUNT_TYPE_PARTNER_USER);
|
paramMap.put("username", username);
|
paramMap.put("password", PasswordEncoder.encode(password));
|
paramMap.put("openId", openId);
|
Map user = baseDao.queryForMap(selectSql,paramMap);
|
if(null==user || user.size() == 0) {
|
return "用户名或者密码错误";
|
}*/
|
|
String updateSql = "UPDATE GG_USER SET OPEN_ID = NULL,ISWECHAT = 1 WHERE OPEN_ID = :openId ";
|
baseDao.execute(updateSql, new SqlParameter("openId", openId));
|
|
//清空session
|
WebUtil.removeEngineerMsg(request);
|
|
|
String remark = "绑定账号请点击";
|
|
//通过openId获取用户的基本信息
|
Map userBaseMap = wechatService.queryUserBaseMsgByOpenId(openId);
|
|
String wxName = ConvertUtil.obj2StrBlank(userBaseMap.get("nickname"));
|
System.out.println("wxName--------------->"+wxName);
|
|
String bindUrl = WechatConstants.ENGINEER_BIND_ADDRESS+"?openId="+openId;
|
//如果解除绑定成功,提醒微信jiechu 绑定成功
|
wechatService.unbindingNotice(openId,bindUrl,wxName,remark);
|
|
return "1";
|
}
|
|
@Override
|
public String queryCustomerBind(HttpServletRequest request,String openId) {
|
if(StringUtil.notEmpty(openId)) {
|
String selectSql = "SELECT A.*,C.CUSTOMER_STATE,C.CREATE_TIME,C.VALID_BEGIN_DATE,C.VALID_END_DATE,C.CUSTOMER_NAME,C.SHORT_NAME FROM CUSTOMER_CONTACTS A,SC_PARTNER_CUSTOMER_INFO C WHERE A.CUSTOMER_ID = C.ID AND A.WECHAT_OPEN_ID = :openId ";
|
Map map = baseDao.queryForMap(selectSql,new SqlParameter("openId",openId));
|
if(null!=map && map.size()>0) {
|
Map jms = timeoutMsg();
|
String isTimeOut = ConvertUtil.obj2StrBlank(jms.get("IS_TIME_OUT"));
|
if(StringUtil.notEmpty(isTimeOut) && isTimeOut.equals("2")) {
|
return "3";
|
}
|
|
request.getSession().setAttribute(SysConstants.WYW_LOGIN_INFO_KEY, map);
|
return "1";
|
}
|
}
|
return "2";
|
}
|
|
|
private Map timeoutMsg() {
|
//查询该加盟商的有效期
|
String jmySql = "SELECT IS_TIME_OUT,VALID_END_DATE FROM SC_PARTNER_INFO ";
|
Map jms = baseDao.queryForMap(jmySql);
|
return jms;
|
}
|
|
//用户绑定微信账号
|
@Override
|
public String updateCustomerBindOpenId(HttpServletRequest request) {
|
String username = request.getParameter("username");
|
String password = request.getParameter("password");
|
String openId = request.getParameter("openId");
|
|
if(!StringUtil.notEmpty(username)) {
|
return "请输入名称";
|
}
|
if(!StringUtil.notEmpty(password)) {
|
return "请输入密码";
|
}
|
if(!StringUtil.notEmpty(openId)) {
|
return "绑定失败";
|
}
|
|
|
String hasBindSql = "SELECT COUNT(ID) FROM CUSTOMER_CONTACTS WHERE WECHAT_OPEN_ID = :openId ";
|
int bindCount = baseDao.queryForInteger(hasBindSql,new SqlParameter("openId",openId));
|
if(bindCount>0) {
|
return "该微信号已绑定平台账号";
|
}
|
|
String selectSql = "SELECT A.*,C.CUSTOMER_STATE,C.CREATE_TIME,C.VALID_BEGIN_DATE,C.VALID_END_DATE,C.CUSTOMER_NAME,C.SHORT_NAME FROM CUSTOMER_CONTACTS A,SC_PARTNER_CUSTOMER_INFO C WHERE A.CUSTOMER_ID = C.ID AND A.LOGIN_NAME = :username AND A.PASSWORD = :password";
|
Map paramMap = new HashMap();
|
paramMap.put("username", username);
|
paramMap.put("password", PasswordEncoder.encode(password));
|
Map user = baseDao.queryForMap(selectSql,paramMap);
|
if(null==user || user.size() == 0) {
|
return "用户名或者密码错误";
|
}
|
|
String wechatOpenId = ConvertUtil.obj2StrBlank(user.get("WECHAT_OPEN_ID"));
|
if(StringUtil.notEmpty(wechatOpenId)) {
|
return "您已绑定过微信";
|
}
|
|
//账号被锁定,请联系管理员
|
if(ConvertUtil.obj2StrBlank(user.get("STATE")).equals("2")){
|
return "账号被锁定,请联系管理员";
|
}
|
|
|
//账号不允许登录
|
if(ConvertUtil.obj2StrBlank(user.get("ALLOW_LOGIN")).equals("2")) {
|
return "账号不允许登录,请联系管理员";
|
}
|
|
Map jms = timeoutMsg();
|
String isTimeOut = ConvertUtil.obj2StrBlank(jms.get("IS_TIME_OUT"));
|
if(StringUtil.notEmpty(isTimeOut) && isTimeOut.equals("2")) {
|
return "该账号已过有效期";
|
}
|
|
String updateSql = "UPDATE CUSTOMER_CONTACTS SET WECHAT_OPEN_ID = :openId WHERE ID = :id ";
|
baseDao.execute(updateSql, new SqlParameter("id", user.get("ID")).addValue("openId", openId));
|
|
|
|
String function = "提醒通知";
|
String remark = "";
|
|
//通过openId获取用户的基本信息
|
Map userBaseMap = wechatService.queryUserBaseMsgByOpenId(openId);
|
|
String wxName = ConvertUtil.obj2StrBlank(userBaseMap.get("nickname"));
|
wxName=queryZsxm(openId);
|
System.out.println("wxName--------------->"+wxName);
|
|
//用户绑定提醒
|
String unbindUrl = WechatConstants.CUSTOMER_UNBIND_ADDRESS+"?openId="+openId;
|
//如果绑定成功,提醒微信绑定成功通知
|
wechatService.bindingNotice(openId,unbindUrl,wxName,username,function,remark);
|
|
|
request.getSession().setAttribute(SysConstants.WYW_LOGIN_INFO_KEY, user);
|
|
return "1";
|
}
|
|
@Override
|
public String checkLoginMsg(HttpServletRequest request) {
|
String username = request.getParameter("username");
|
String password = request.getParameter("password");
|
|
if(!StringUtil.notEmpty(username)) {
|
return "请输入名称";
|
}
|
if(!StringUtil.notEmpty(password)) {
|
return "请输入密码";
|
}
|
|
|
String selectSql = "SELECT A.*,B.CUSTOMER_NAME,B.PARTNER_ID FROM SC_PARTNER_CUSTOMER_ACCOUNT_INFO A,SC_PARTNER_CUSTOMER_INFO B WHERE A.CUSTOMER_ID = B.ID AND A.LOGIN_NAME = :username AND A.PASSWORD = :password";
|
Map paramMap = new HashMap();
|
paramMap.put("username", username);
|
paramMap.put("password", PasswordEncoder.encode(password));
|
Map user = baseDao.queryForMap(selectSql,paramMap);
|
if(null==user || user.size() == 0) {
|
return "用户名或者密码错误";
|
}
|
|
request.getSession().setAttribute(SysConstants.WYW_LOGIN_INFO_KEY, user);
|
|
return "1";
|
}
|
|
@Override
|
public String updateCustomerUnBindOpenId(HttpServletRequest request) {
|
//String username = request.getParameter("username");
|
//String password = request.getParameter("password");
|
String openId = request.getParameter("openId");
|
|
/*if(!StringUtil.notEmpty(username)) {
|
return "请输入名称";
|
}
|
if(!StringUtil.notEmpty(password)) {
|
return "请输入密码";
|
}
|
if(!StringUtil.notEmpty(openId)) {
|
return "绑定失败";
|
}*/
|
|
String hasBindSql = "SELECT COUNT(ID) FROM CUSTOMER_CONTACTS WHERE WECHAT_OPEN_ID = :openId ";
|
int bindCount = baseDao.queryForInteger(hasBindSql,new SqlParameter("openId",openId));
|
if(bindCount<=0) {
|
return "该微信号未绑定平台账号";
|
}
|
|
/*String selectSql = "SELECT ID FROM PROJECT_CONTACTS WHERE LOGIN_NAME = :username AND PASSWORD = :password AND WECHAT_OPEN_ID = :openId";
|
Map paramMap = new HashMap();
|
paramMap.put("username", username);
|
paramMap.put("password", PasswordEncoder.encode(password));
|
paramMap.put("openId", openId);
|
Map user = baseDao.queryForMap(selectSql,paramMap);
|
if(null==user || user.size() == 0) {
|
return "用户名或者密码错误";
|
}*/
|
|
String updateSql = "UPDATE CUSTOMER_CONTACTS SET WECHAT_OPEN_ID = NULL WHERE WECHAT_OPEN_ID = :openId ";
|
baseDao.execute(updateSql, new SqlParameter("openId", openId));
|
|
//清空session
|
WebUtil.removeCustomerMsg(request);
|
|
|
String remark = "绑定账号请点击";
|
|
//通过openId获取用户的基本信息
|
Map userBaseMap = wechatService.queryUserBaseMsgByOpenId(openId);
|
|
String wxName = ConvertUtil.obj2StrBlank(userBaseMap.get("nickname"));
|
System.out.println("wxName--------------->"+wxName);
|
|
String bindUrl = WechatConstants.CUSTOMER_BIND_ADDRESS+"?openId="+openId;
|
//如果解除绑定成功,提醒微信jiechu 绑定成功
|
wechatService.unbindingNotice(openId,bindUrl,wxName,remark);
|
|
return "1";
|
}
|
|
@Override
|
public String updateClientCustomer(HttpServletRequest request) {
|
String username = request.getParameter("username");
|
String password = request.getParameter("password");
|
//当前登录用户的ime
|
String ime = request.getParameter("ime");
|
|
if(!StringUtil.notEmpty(username)) {
|
return "请输入名称";
|
}
|
if(!StringUtil.notEmpty(password)) {
|
return "请输入密码";
|
}
|
|
String selectSql = "SELECT A.*,C.CUSTOMER_STATE,C.CREATE_TIME,C.VALID_BEGIN_DATE,C.VALID_END_DATE,C.CUSTOMER_NAME,C.SHORT_NAME FROM CUSTOMER_CONTACTS A,SC_PARTNER_CUSTOMER_INFO C WHERE A.CUSTOMER_ID = C.ID AND A.LOGIN_NAME = :username AND A.PASSWORD = :password";
|
Map paramMap = new HashMap();
|
paramMap.put("username", username);
|
paramMap.put("password", PasswordEncoder.encode(password));
|
Map user = baseDao.queryForMap(selectSql,paramMap);
|
if(null==user || user.size() == 0) {
|
return "用户名或者密码错误";
|
}
|
|
//账号被锁定,请联系管理员
|
if(ConvertUtil.obj2StrBlank(user.get("STATE")).equals("2")){
|
return "账号被锁定,请联系管理员";
|
}
|
|
|
//账号不允许登录
|
if(ConvertUtil.obj2StrBlank(user.get("ALLOW_LOGIN")).equals("2")) {
|
return "账号不允许登录,请联系管理员";
|
}
|
|
Map jms = timeoutMsg();
|
String isTimeOut = ConvertUtil.obj2StrBlank(jms.get("IS_TIME_OUT"));
|
if(StringUtil.notEmpty(isTimeOut) && isTimeOut.equals("2")) {
|
return "该账号已过有效期";
|
}
|
//更新用户记录的ime
|
updateUserIme(ime,username);
|
request.getSession().setAttribute(SysConstants.WYW_LOGIN_INFO_KEY, user);
|
request.getSession().setAttribute("isclient", "1");
|
return "1";
|
}
|
|
/**
|
* 用户登陆后,更新用户的ime
|
* */
|
private void updateUserIme(String ime,String username) {
|
Map user = new HashMap();
|
user.put("ime", ime);
|
user.put("username",username);
|
//清空所有用户的ime等于当前传入的ime
|
String sql = "UPDATE CUSTOMER_CONTACTS SET IME = '' WHERE IME = :ime";
|
baseDao.execute(sql, user);
|
//更新当前用户的ime
|
sql = "UPDATE CUSTOMER_CONTACTS SET IME = :ime WHERE LOGIN_NAME = :username";
|
baseDao.execute(sql, user);
|
}
|
|
|
@Override
|
public String updateClientEngineer(HttpServletRequest request) {
|
String username = request.getParameter("username");
|
String password = request.getParameter("password");
|
//当前登录用户的ime
|
String ime = request.getParameter("ime");
|
System.out.println("ime" +ime);
|
if(!StringUtil.notEmpty(username)) {
|
return "请输入名称";
|
}
|
if(!StringUtil.notEmpty(password)) {
|
return "请输入密码";
|
}
|
System.out.println("username"+username);
|
String selectSql = "SELECT A.* FROM (SELECT U.*,P.IS_TIME_OUT,P.VALID_END_DATE FROM GG_USER U , SC_PARTNER_INFO P ) A WHERE A.ZT = 1 AND A.LOGINNAME = :username AND A.PASSWORD = :password ";
|
Map paramMap = new HashMap();
|
paramMap.put("username", username);
|
paramMap.put("password", PasswordEncoder.encode(password));
|
Map user = baseDao.queryForMap(selectSql,paramMap);
|
if(null==user || user.size() == 0) {
|
return "用户名或者密码错误";
|
}
|
|
String isTimeOut = ConvertUtil.obj2StrBlank(user.get("IS_TIME_OUT"));
|
if(StringUtil.notEmpty(isTimeOut) && isTimeOut.equals("2")) {
|
return "该账号已过有效期";
|
}
|
|
putClientEngineerMsgToSession(request, user);
|
//更新工程师记录的ime
|
updateEngIme(ime,username);
|
|
return "1";
|
}
|
|
/**
|
* 工程师登陆后,更新用户的ime
|
* */
|
private void updateEngIme(String ime, String username) {
|
Map user = new HashMap();
|
user.put("ime", ime);
|
user.put("username",username);
|
//清空所有工程师的ime等于当前传入的ime
|
String sql = "UPDATE GG_USER SET IME = '' WHERE IME = :ime";
|
baseDao.execute(sql, user);
|
//更新当前工程师的ime
|
sql = "UPDATE GG_USER SET IME = :ime WHERE LOGINNAME = :username";
|
baseDao.execute(sql, user);
|
}
|
|
|
private void putClientEngineerMsgToSession(HttpServletRequest request,Map userMap) {
|
//查询属于何种桌面类型
|
String jumpUrl = Constants.getWxDeskTopUrl(Constants.ROLE_FLINE);
|
List<Map> roles = jsglFacade.getRolesByUserId(WebUtil.getEngineerUserId(request), 1);
|
if(roles.size()==1){
|
String identify = ConvertUtil.obj2StrBlank(roles.get(0).get("identify"));
|
if (StringUtil.isNotBlank(identify)) {
|
jumpUrl = Constants.getWxDeskTopUrl(identify);
|
}
|
}
|
|
userMap.put("deskTopType", jumpUrl);
|
request.getSession().setAttribute("isclient", "1");
|
request.getSession().setAttribute("homePage", jumpUrl);
|
request.getSession().setAttribute(SysConstants.WYW_ENGINEER_LOGIN_INFO_KEY, userMap);
|
}
|
|
|
@Override
|
public boolean queryEmgHasIme(String ime) {
|
String sql = "SELECT COUNT(ID) FROM GG_USER WHERE IME = :ime ";
|
int count = baseDao.queryForInteger(sql, new SqlParameter().addValue("ime", ime));
|
//System.out.println("count---------------------->"+count);
|
return count > 0 ? true : false;
|
}
|
|
|
@Override
|
public boolean queryUserHasIme(String ime) {
|
String sql = "SELECT COUNT(ID) FROM CUSTOMER_CONTACTS WHERE IME = :ime ";
|
int count = baseDao.queryForInteger(sql, new SqlParameter().addValue("ime", ime));
|
return count > 0 ? true : false;
|
}
|
|
|
@Override
|
public String queryEmgIme(HttpServletRequest request, String ime) {
|
String selectsql = "SELECT A.* FROM (SELECT U.*,P.IS_TIME_OUT,P.VALID_END_DATE FROM GG_USER U , SC_PARTNER_INFO P ) A WHERE A.ZT = 1 AND A.IME=:ime";
|
Map userMap = baseDao.queryForMap(selectsql,new SqlParameter().addValue("ime", ime));
|
if(null != userMap && userMap.size()>0) {
|
String isTimeOut = ConvertUtil.obj2StrBlank(userMap.get("IS_TIME_OUT"));
|
if(StringUtil.notEmpty(isTimeOut) && isTimeOut.equals("2")) {
|
//加盟商已过期
|
return "3";
|
}
|
putClientEngineerMsgToSession(request,userMap);
|
return "1";
|
}
|
return "2";
|
}
|
|
|
@Override
|
public String queryUserIme(HttpServletRequest request, String ime) {
|
String selectSql = "SELECT A.*,C.CUSTOMER_STATE,C.CREATE_TIME,C.VALID_BEGIN_DATE,C.VALID_END_DATE,C.CUSTOMER_NAME,C.SHORT_NAME FROM CUSTOMER_CONTACTS A,SC_PARTNER_CUSTOMER_INFO C WHERE A.CUSTOMER_ID = C.ID AND A.IME = :ime ";
|
Map map = baseDao.queryForMap(selectSql,new SqlParameter("ime",ime));
|
if(null!=map && map.size()>0) {
|
Map jms = timeoutMsg();
|
String isTimeOut = ConvertUtil.obj2StrBlank(jms.get("IS_TIME_OUT"));
|
if(StringUtil.notEmpty(isTimeOut) && isTimeOut.equals("2")) {
|
return "3";
|
}
|
request.getSession().setAttribute(SysConstants.WYW_LOGIN_INFO_KEY, map);
|
return "1";
|
}
|
return "2";
|
}
|
|
@Override
|
public Map getVersion() {
|
String sql = "SELECT A.*,B.CONTENT AS HTMLCONTENT FROM LARKS_VERSION A LEFT JOIN LARKS_HTML_VERSION B ON B.ID = A.HTML_ID WHERE A.STATUS = 1 ";
|
Map version = baseDao.queryForMap(sql);
|
Map resultMap = new HashMap();
|
resultMap.put("datas", version);
|
resultMap.put(ClientUtil.SUCCESS, true);
|
resultMap.put(ClientUtil.MSG, "成功");
|
return resultMap;
|
}
|
|
|
@Override
|
public void deleteClientEngineer(HttpServletRequest request) {
|
Map engineer = WebUtil.getEngineerMsg(request);
|
if(null!=engineer && engineer.size()>0) {
|
String id = ConvertUtil.obj2StrBlank(engineer.get("ID"));
|
String sql = "UPDATE GG_USER SET IME = '' WHERE ID = :id";
|
baseDao.execute(sql, new SqlParameter("id",id));
|
}
|
|
}
|
|
|
@Override
|
public void deleteClientCustomer(HttpServletRequest request) {
|
Map user = WebUtil.getWywLoginUser(request);
|
if(null!=user && user.size()>0) {
|
String id = ConvertUtil.obj2StrBlank(user.get("ID"));
|
String sql = "UPDATE CUSTOMER_CONTACTS SET IME = '' WHERE ID = :id";
|
baseDao.execute(sql, new SqlParameter("id",id));
|
}
|
|
}
|
|
|
@Override
|
public void saveFacBx(Map<String, String> params) {
|
Map info= cfgFacade.getCfgById(params.get("cateId"));
|
StringBuilder sql = new StringBuilder();
|
params.put("cusId", ConvertUtil.obj2Str(info.get("CUS_ID")));
|
sql.append(" insert into repair_record (id,create_name,status,create_time,cus_id,bx_title,bx_content,lx_phone) ");
|
sql.append(" values (:id,:lxr,:status,:create_time,:cusId,:bx_title,:bx_content,:lx_phone) ");
|
params.put("id", StringUtil.getUUID());
|
params.put("create_time", DateUtil.getCurrentDate14().toString());
|
params.put("status", Constants.REPAIR_STATE_DXY.toString());
|
baseDao.execute(sql.toString(), params);
|
params.put("SERVICE", "SERVICE");
|
String sqla="SELECT id FROM AC_ROLE where IDENTIFY=:SERVICE";
|
String id=baseDao.queryForString(sqla, params);
|
sqla="select OPEN_ID from gg_user a,AC_USER_REF_ROLE b where a.id=b.yhbh and a.zt=1 and b.jsbh=:id";
|
params.put("id", id);
|
List<Map> list=baseDao.queryForList(sqla, params);
|
String openIds="";
|
if(list!=null && list.size()>0){
|
for(Map map:list){
|
if(StringUtil.notEmpty(ConvertUtil.obj2Str(map.get("OPEN_ID")))){
|
openIds+=ConvertUtil.obj2Str(map.get("OPEN_ID"))+",";
|
}
|
}
|
}
|
String[] openId=openIds.split(",");
|
//发送微信消息
|
String token = weiXinCoreService.getAccess_token();
|
System.out.println("token---------------------->"+token);
|
String url = WechatConstants.SEND_TEMPLATE_MSG + token;
|
String title="";
|
String userName="";
|
if(StringUtil.notEmpty(ConvertUtil.obj2Str(params.get("userName")))){
|
userName="报修人-"+ConvertUtil.obj2Str(params.get("userName"));
|
}else{
|
userName="报修人-"+ConvertUtil.obj2Str(params.get("lxr"));
|
}
|
String content=params.get("bx_content");
|
// if(null!=openId && openId.length>0) {
|
// Map result = new HashMap();
|
// result.put("template_id", WechatConstants.REMINDER_TEMP_ID);
|
// result.put("topcolor", "#FF0000");
|
// if(!StringUtil.notEmpty(title)) {
|
// title = "您有新的报修事件";
|
// }
|
// String content=params.get("bx_content");
|
// Map data = new HashMap();
|
// result.put("data", data);
|
// data.put("first", new CascadeMap("value",title).put("color", "#173177"));
|
// data.put("keyword1", new CascadeMap("value",content).put("color", "#173177"));
|
// data.put("keyword2", new CascadeMap("value",userName).put("color", "#173177"));
|
// data.put("keyword3", new CascadeMap("value",DateUtil.getToday("yyyy-MM-dd HH:mm:ss")).put("color", "#173177"));
|
// data.put("remark", new CascadeMap("value","请及时处理").put("color", "#173177"));
|
// for(String str : openId) {
|
// result.put("url", "");
|
// result.put("touser", str);
|
// String json = JsonUtil.map2Json(result);
|
// HttpUtil.doPost(url, json, HttpCharset.UTF8);
|
// }
|
// }
|
|
|
if(null!=openId && openId.length>0) {
|
Map result = new HashMap();
|
result.put("template_id", WechatConstants.NEW_ORDER_TEMP_ID);
|
|
String orderDetailUrl = "";
|
if(!StringUtil.notEmpty(title)) {
|
title = "您有新的报修事件";
|
}
|
result.put("topcolor", "#FF0000");
|
Map data = new HashMap();
|
result.put("data", data);
|
data.put("first", new CascadeMap("value",title).put("color", "#173177"));
|
data.put("keyword1", new CascadeMap("value",content).put("color", "#173177"));
|
data.put("keyword2", new CascadeMap("value",userName).put("color", "#173177"));
|
data.put("keyword3", new CascadeMap("value",DateUtil.format("yyyy-MM-dd HH:mm:ss", DateUtil.getCurrentDate14())).put("color", "#173177"));
|
data.put("remark", new CascadeMap("value","").put("color", "#173177"));
|
|
String baseWxUrl = "";
|
for(String str : openId) {
|
result.put("touser", str);
|
result.put("url", WechatConstants.BASE_ADDRESS+"/ewyw/ewrepair/ewrepairPool.html"+"?openId="+str);
|
String json = JsonUtil.map2Json(result);
|
//开始发送数据信息
|
System.out.println("url------------------->"+url);
|
System.out.println("json------------------->"+json);
|
|
|
HttpUtil.doPost(url, json, HttpCharset.UTF8);
|
}
|
}
|
|
}
|
|
}
|