Commit a44aad97 authored by 卜远杰's avatar 卜远杰

Merge branch 'master' of http://106.14.62.141:8081/sa_aidea/aidea

parents f3561fa6 5c7d8d4b
...@@ -99,10 +99,10 @@ ...@@ -99,10 +99,10 @@
<label>二维码类别</label> <label>二维码类别</label>
<select class="form-control select2" name="typeselect" <select class="form-control select2" name="typeselect"
id="typeselect" style="width: 100%;"> id="typeselect" style="width: 100%;">
<option value="1">医师二维码</option> <option value="0">客服二维码</option>
<option value="2">客服二维码</option> <option value="1">药师二维码</option>
<option value="3">医生二维码</option> <option value="2">医生二维码</option>
<option value="4">组织二维码</option> <option value="3">组织二维码</option>
</select> </select>
</div> </div>
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
<select class="form-control select2" name="type" <select class="form-control select2" name="type"
id="type"> id="type">
<option value="-1" selected="selected">全部</option> <option value="-1" selected="selected">全部</option>
<option value="1">师二维码</option> <option value="1">师二维码</option>
<option value="2">客服二维码</option> <option value="2">客服二维码</option>
<option value="3">医生二维码</option> <option value="3">医生二维码</option>
<option value="4">组织二维码</option> <option value="4">组织二维码</option>
...@@ -283,7 +283,7 @@ ...@@ -283,7 +283,7 @@
"aTargets": [1], "aTargets": [1],
"mData": "ticket", "mData": "ticket",
"mRender": function (a, b, c, d) { "mRender": function (a, b, c, d) {
return '<img src="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='+a+'" style="width: 160px;height: 120px;">'; return '<img src="https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket='+a+'" style="width: 120px;height: 120px;">';
} }
},{ },{
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
if (a == '0') { if (a == '0') {
return '客服二维码'; return '客服二维码';
} else if (a == '1') { } else if (a == '1') {
return '师二位码'; return '师二位码';
}else if(a == '2'){ }else if(a == '2'){
return '医生二维码'; return '医生二维码';
}else if(a=="3"){ }else if(a=="3"){
......
...@@ -302,16 +302,13 @@ public class WxQrcodeController { ...@@ -302,16 +302,13 @@ public class WxQrcodeController {
String uri = SystemConfig.p.getProperty("WX_MP_QRCODE_URI") + obj.getTicket(); String uri = SystemConfig.p.getProperty("WX_MP_QRCODE_URI") + obj.getTicket();
String name = ""; String name = "";
String type = obj.getType(); String type = obj.getType();
if (type.equals("0")) {
name = obj.getStoreName(); if (StringUtils.isEmpty(obj.getQrcodeNames())) {
} else if (type.equals("1")) {
name = obj.getEmpName();
} else if (type.equals("2")) {
name = obj.getCarName();
}
if (StringUtils.isEmpty(name)) {
name = "未被绑定"; name = "未被绑定";
} else {
name = obj.getQrcodeNames();
} }
ZipEntry entry = new ZipEntry(name + String.valueOf(i) + ".png"); ZipEntry entry = new ZipEntry(name + String.valueOf(i) + ".png");
// 设置压缩包的入口 // 设置压缩包的入口
zos.putNextEntry(entry); zos.putNextEntry(entry);
......
...@@ -34,8 +34,9 @@ ...@@ -34,8 +34,9 @@
<link rel="shortcut icon" href="favicon.ico"/> <link rel="shortcut icon" href="favicon.ico"/>
<style> <style>
.login{ .login{
background-image: url('img/homepage.jpg'); /*background-color: #209CDC;*/
background-size: 100%; /*background-image: url('img/logo-aidi.jpg');*/
/*background-size: 100%;*/
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.login .content { .login .content {
...@@ -62,16 +63,15 @@ ...@@ -62,16 +63,15 @@
overflow: hidden; overflow: hidden;
} }
.form-title{ .form-title{
color: #00883c !important;
font-size: 22px !important;text-align: left !important; font-size: 22px !important;text-align: left !important;
} }
.btn-success{ .btn-success{
background-color:#00883c; /*background-color:#00883c;*/
} }
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active,.btn-success:active:hover, .btn-success.active:hover { .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active,.btn-success:active:hover, .btn-success.active:hover {
background-color:#00883c; /*background-color:#00883c;*/
} }
.login .content .form-actions .btn-success { .login .content .form-actions .btn-success {
......
...@@ -7,7 +7,7 @@ Login page ...@@ -7,7 +7,7 @@ Login page
***/ ***/
/* bg color */ /* bg color */
.login { .login {
background-color: #364150 !important; /*background-color: #364150 !important;*/
} }
.login .logo { .login .logo {
...@@ -35,7 +35,6 @@ Login page ...@@ -35,7 +35,6 @@ Login page
} }
.login .content h3 { .login .content h3 {
color: #4db3a5;
text-align: center; text-align: center;
font-size: 28px; font-size: 28px;
font-weight: 600 !important; font-weight: 600 !important;
......
...@@ -34,8 +34,9 @@ ...@@ -34,8 +34,9 @@
<link rel="shortcut icon" href="favicon.ico"/> <link rel="shortcut icon" href="favicon.ico"/>
<style> <style>
.login{ .login{
background-image: url('img/homepage.jpg'); /*background-color: #209CDC;*/
background-size: 100%; /*background-image: url('img/logo-aidi.jpg');*/
/*background-size: 100%;*/
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.login .content { .login .content {
...@@ -62,16 +63,15 @@ ...@@ -62,16 +63,15 @@
overflow: hidden; overflow: hidden;
} }
.form-title{ .form-title{
color: #00883c !important;
font-size: 22px !important;text-align: left !important; font-size: 22px !important;text-align: left !important;
} }
.btn-success{ .btn-success{
background-color:#00883c; /*background-color:#00883c;*/
} }
.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active,.btn-success:active:hover, .btn-success.active:hover { .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active,.btn-success:active:hover, .btn-success.active:hover {
background-color:#00883c; /*background-color:#00883c;*/
} }
.login .content .form-actions .btn-success { .login .content .form-actions .btn-success {
......
...@@ -35,7 +35,6 @@ Login page ...@@ -35,7 +35,6 @@ Login page
} }
.login .content h3 { .login .content h3 {
color: #4db3a5;
text-align: center; text-align: center;
font-size: 28px; font-size: 28px;
font-weight: 600 !important; font-weight: 600 !important;
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
*/ */
//var URL = base + '/ueditor-min-1.4.3/'; //var URL = base + '/ueditor-min-1.4.3/';
//var URL = 'plugins/ueditor-min-1.4.3/'; //var URL = 'plugins/ueditor-min-1.4.3/';
var URL = '/schaeffler/assets/adminlte/plugins/ueditor-min-1.4.3/'; var URL = '/aidea/assets/adminlte/plugins/ueditor-min-1.4.3/';
/** /**
* 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。 * 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
......
...@@ -113,19 +113,19 @@ ...@@ -113,19 +113,19 @@
maxlength="50" placeholder="组织名称" required="required" maxlength="50" placeholder="组织名称" required="required"
value="$!{data.orgName}"> value="$!{data.orgName}">
</div> </div>
<div class="form-group form-md-line-input"> <!--<div class="form-group form-md-line-input">-->
<label>组织分类</label> <!--<label>组织分类</label>-->
<div class="input-group"> <!--<div class="input-group">-->
<input type="text" id="orgtypeId" name="orgtypeId" value="$!{data.orgtypeId}" <!--<input type="text" id="orgtypeId" name="orgtypeId" value="$!{data.orgtypeId}"-->
class="form-control" style="display: none"> <!--class="form-control" style="display: none">-->
<input type="text" id="orgtypeName" name="orgtypeName" value="$!{orgtypeName}" <!--<input type="text" id="orgtypeName" name="orgtypeName" value="$!{orgtypeName}"-->
class="form-control" disabled> <!--class="form-control" disabled>-->
<span class="input-group-btn"> <!--<span class="input-group-btn">-->
<button type="button" id="orgtypeSelect" <!--<button type="button" id="orgtypeSelect"-->
class="btn btn-info btn-flat">选择</button> <!--class="btn btn-info btn-flat">选择</button>-->
</span> <!--</span>-->
</div> <!--</div>-->
</div> <!--</div>-->
<!--<div class="checkbox">--> <!--<div class="checkbox">-->
<!--<label>--> <!--<label>-->
<!--<input type="checkbox" id="isAdminUnit" name="isAdminUnit"--> <!--<input type="checkbox" id="isAdminUnit" name="isAdminUnit"-->
......
...@@ -118,7 +118,7 @@ ...@@ -118,7 +118,7 @@
#if($shiro.hasPermission("sys:orgunit:edit")) #if($shiro.hasPermission("sys:orgunit:edit"))
<a href="#springUrl('/a/orgunit/form')" class="btn btn-primary">新增</a> <a href="#springUrl('/a/orgunit/form')" class="btn btn-primary">新增</a>
<!--<a onclick="importExcel();" class="btn btn-primary">导入</a>--> <a onclick="importExcel();" class="btn btn-primary">导入</a>
#end #end
</div> </div>
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<div class="input-group"> <div class="input-group">
<input type="text" id="orgId" name="orgId" value="$!{data.orgId}" <input type="text" id="orgId" name="orgId" value="$!{data.orgId}"
class="form-control" style="display: none"> class="form-control" style="display: none">
<input type="text" id="orgName" name="orgName" value="$!{orgName}" <input type="text" id="orgName" name="orgName" value="$!{orgName}" required="required"
class="form-control" disabled> class="form-control" disabled>
<span class="input-group-btn"> <span class="input-group-btn">
<button type="button" id="orgSelect" <button type="button" id="orgSelect"
...@@ -140,6 +140,17 @@ ...@@ -140,6 +140,17 @@
maxlength="50" placeholder="email" maxlength="50" placeholder="email"
value="$!{data.email}"> value="$!{data.email}">
</div> </div>
<div class="form-group form-md-line-input col-md-4">
<label>职业</label>
<select name="userType" class="form-control pull-right">
<option label="其他" value="4">其他</option>
<option label="订单员" value="3" #if($data.userType == '3') selected #end>订单员</option>
<option label="医生" value="2" #if($data.userType == '2') selected #end>医生</option>
<option label="药师" value="1" #if($data.userType == '1') selected #end>药师</option>
<option label="客服" value="0" #if($data.userType == '0') selected #end>客服</option>
</select>
</div>
<!--<div class="form-group form-md-line-input col-md-4">--> <!--<div class="form-group form-md-line-input col-md-4">-->
<!--<label for="description">部门</label>--> <!--<label for="description">部门</label>-->
<!--<input type="text"--> <!--<input type="text"-->
...@@ -459,10 +470,11 @@ ...@@ -459,10 +470,11 @@
return; return;
} }
// if ($("#storeName").val() == null || $("#storeName").val() == "") { if ($("#orgName").val() == null || $("#orgName").val() == "") {
// $("#storeName").after("<label class='error'>请选择门店</label>"); //$("#orgName").after("<label class='error'>请选择所属组织</label>");
// return; alert("请选择所属组织");
// } return;
}
$("#save").attr("disabled", true); $("#save").attr("disabled", true);
if ($('.select2').val()) { if ($('.select2').val()) {
......
...@@ -160,9 +160,10 @@ ...@@ -160,9 +160,10 @@
<th>姓名</th> <th>姓名</th>
<th>手机号</th> <th>手机号</th>
<th>邮箱</th> <th>邮箱</th>
<th>所属门店</th> <th>职位</th>
<th>所属部门</th> <!--<th>所属门店</th>-->
<th>粉丝关注数</th> <!--<th>所属部门</th>-->
<!--<th>粉丝关注数</th>-->
<th>操作</th> <th>操作</th>
</tr> </tr>
</thead> </thead>
...@@ -296,13 +297,15 @@ ...@@ -296,13 +297,15 @@
"mData": "mobile" "mData": "mobile"
}, { }, {
"mData": "email" "mData": "email"
}, { },{
"mData": "userType"
},/* {
"mData": "storeName" "mData": "storeName"
},{ },{
"mData": "description" "mData": "description"
},{ },{
"mData": "fanssCount" "mData": "fanssCount"
}, { }, */{
"mData": "id" "mData": "id"
}], }],
"aoColumnDefs": [{ // set default column settings "aoColumnDefs": [{ // set default column settings
...@@ -318,7 +321,31 @@ ...@@ -318,7 +321,31 @@
return "<font color='red'>未绑定</font>"; return "<font color='red'>未绑定</font>";
} }
},{ },{
"aTargets": [9], "aTargets": [6],
"mData": "userType",
"mRender": function (a, b, c, d) {//a表示对应mData的值,c表示当前记录行对象
let postion = null;
switch (a) {
case "0":
postion = "客服";
break;
case "1":
postion = "药师";
break;
case "2":
postion = "医生";
break;
case "3":
postion = "订单员";
break;
case "4":
postion = "其他";
break;
}
return "<font color='blue'>" +postion + "</font>";
}
},{
"aTargets": [7],
"mData": "id", "mData": "id",
"mRender": function (a, b, c, d) {//a表示id对应的值,c表示当前记录行对象 "mRender": function (a, b, c, d) {//a表示id对应的值,c表示当前记录行对象
var html = '#if($shiro.hasPermission("sys:qyuser:edit"))';// var html = '#if($shiro.hasPermission("sys:qyuser:edit"))';//
...@@ -330,9 +357,10 @@ ...@@ -330,9 +357,10 @@
' </button>\n' + ' </button>\n' +
' <ul class="dropdown-menu" role="menu">\n'; ' <ul class="dropdown-menu" role="menu">\n';
html += "<li><a href=#springUrl('/a/qyuser/form?id=" + a +"') >修改</a></li>"; html += "<li><a href=#springUrl('/a/qyuser/form?id=" + a +"') >修改</a></li>";
html += "<li><a href='javascript:bindQrCode(" + a + ")' >绑定二维码</a></li>"; if (c.userType == '0' || c.userType == '1' || c.userType == '2')
html += "<li><a href='javascript:unBindQrCode(" + a + ")' >取消绑定二维码</a></li>"; html += "<li><a href='javascript:bindQrCode(" + a + ", "+ c.userType +")' >绑定二维码</a></li>";
html += '<li><a href="javascript:unBindStore(' + a + ')" >清除门店角色</a></li>'; if (c.qrcode != null)
html += "<li><a href='javascript:unBindQrCode(" + a + ", "+ c.userType +")' >取消绑定二维码</a></li>";
html += '<li><a href="javascript:removeData(' + a + ')" >删除</a></li>#end'; html += '<li><a href="javascript:removeData(' + a + ')" >删除</a></li>#end';
html+= '</ul></div>'; html+= '</ul></div>';
return html; return html;
...@@ -358,8 +386,8 @@ ...@@ -358,8 +386,8 @@
//initOrgTree(); //initOrgTree();
}); });
function unBindQrCode(id) { function unBindQrCode(id, type) {
var unBindQrcodeUri = "#springUrl('/a/qyuser/unBindQrcode')"; var unBindQrcodeUri = "#springUrl('/a/qyuser/unBindQrcode?type="+type+"')";
Cfapp.confirm({ Cfapp.confirm({
message: "确定要解除二维码绑定吗", message: "确定要解除二维码绑定吗",
btnoktext: "确定", btnoktext: "确定",
...@@ -400,8 +428,8 @@ ...@@ -400,8 +428,8 @@
//绑定门店二维码 //绑定门店二维码
function bindQrCode(id) { function bindQrCode(id, type) {
var qrCodeUri = "#springUrl('/a/wxQrcode/listData?type=1&isempty=1')"; var qrCodeUri = "#springUrl('/a/wxQrcode/listData?type="+type+"&isempty=1')";
var bindQrcodeUri = "#springUrl('/a/qyuser/bindQrcode')"; var bindQrcodeUri = "#springUrl('/a/qyuser/bindQrcode')";
Cfapp.f7({ Cfapp.f7({
dataUrl: qrCodeUri, //导入的action Url dataUrl: qrCodeUri, //导入的action Url
...@@ -589,7 +617,7 @@ ...@@ -589,7 +617,7 @@
function importExcel() { function importExcel() {
var templateExcelUrl = "#springUrl('/a/qyuser/templateExcel')"; var templateExcelUrl = "#springUrl('/a/qyuser/templateExcel')";
var importExcelUrl = "#springUrl('/a/qyuser/importExcel')"; var importExcelUrl = "#springUrl('/a/qyuser/importExcel')?_csrf_header=" + csrfheader.value + "&_csrf=" + csrftoken.value;
Cfapp.importExcel({ Cfapp.importExcel({
title: '人员导入', title: '人员导入',
......
...@@ -60,6 +60,9 @@ public class QyUserUtil { ...@@ -60,6 +60,9 @@ public class QyUserUtil {
} }
public boolean exist(Qyuser qyuser) { public boolean exist(Qyuser qyuser) {
if (StringUtils.isEmpty(qyuser.getWxuserId()))
return false;
JSONObject retObj = WxApiUtils.userGet(qyTokenUtil.getToken(qyuser.getAccountsId()), qyuser.getWxuserId()); JSONObject retObj = WxApiUtils.userGet(qyTokenUtil.getToken(qyuser.getAccountsId()), qyuser.getWxuserId());
return retObj.getIntValue("errcode") == 0; return retObj.getIntValue("errcode") == 0;
} }
...@@ -114,6 +117,26 @@ public class QyUserUtil { ...@@ -114,6 +117,26 @@ public class QyUserUtil {
if (!StringUtils.isEmpty(qyuser.getWxno())) if (!StringUtils.isEmpty(qyuser.getWxno()))
postObj.put("weixinid", qyuser.getWxno()); postObj.put("weixinid", qyuser.getWxno());
if (!StringUtils.isEmpty(qyuser.getUserType())) {
switch (qyuser.getUserType()) {
case "0":
postObj.put("position", "客服");
break;
case "1":
postObj.put("position", "药师");
break;
case "2":
postObj.put("position", "医生");
break;
case "3":
postObj.put("position", "订单员");
break;
case "4":
postObj.put("position", "其他");
break;
}
}
JSONObject retObj = WxApiUtils.userCreate(qyTokenUtil.getToken(qyuser.getAccountsId()), postObj); JSONObject retObj = WxApiUtils.userCreate(qyTokenUtil.getToken(qyuser.getAccountsId()), postObj);
...@@ -145,6 +168,26 @@ public class QyUserUtil { ...@@ -145,6 +168,26 @@ public class QyUserUtil {
if (!StringUtils.isEmpty(qyuser.getWxno())) if (!StringUtils.isEmpty(qyuser.getWxno()))
postObj.put("weixinid", qyuser.getWxno()); postObj.put("weixinid", qyuser.getWxno());
if (!StringUtils.isEmpty(qyuser.getUserType())) {
switch (qyuser.getUserType()) {
case "0":
postObj.put("position", "客服");
break;
case "1":
postObj.put("position", "药师");
break;
case "2":
postObj.put("position", "医生");
break;
case "3":
postObj.put("position", "订单员");
break;
case "4":
postObj.put("position", "其他");
break;
}
}
JSONObject retObj = WxApiUtils.userUpdate(qyTokenUtil.getToken(qyuser.getAccountsId()), postObj); JSONObject retObj = WxApiUtils.userUpdate(qyTokenUtil.getToken(qyuser.getAccountsId()), postObj);
return retObj.getIntValue("errcode") == 0; return retObj.getIntValue("errcode") == 0;
......
...@@ -19,6 +19,8 @@ ...@@ -19,6 +19,8 @@
<result column="del_flag" property="delFlag"/> <result column="del_flag" property="delFlag"/>
<result column="status" property="status"/> <result column="status" property="status"/>
<result column="orgtype_id" property="orgtypeId"/> <result column="orgtype_id" property="orgtypeId"/>
<result column="parentName" property="parentName"/>
<result column="parentCode" property="parentCode"/>
</resultMap> </resultMap>
<resultMap id="resultMapVO" type="com.cftech.base.org.model.vo.OrgUnitVO"> <resultMap id="resultMapVO" type="com.cftech.base.org.model.vo.OrgUnitVO">
...@@ -95,10 +97,13 @@ ...@@ -95,10 +97,13 @@
</select> </select>
<select id="fetchSearchByPage" parameterType="java.util.Map" resultMap="resultMap"> <select id="fetchSearchByPage" parameterType="java.util.Map" resultMap="resultMap">
SELECT <include refid="sqlColumns" /> SELECT
t.id, t.`number`, t.create_by, t.create_time, t.update_by, t.update_time, t.del_flag, t.org_name, t.accounts_id, t.status, t.parent_id,
t.parent_ids, t.isadminunit, t.issalesunit, t.wxorg_id, t.orgtype_id, parent.number parentCode, parent.org_name parentName
FROM t_orgunit t FROM t_orgunit t
LEFT JOIN t_orgunit parent ON parent.id = t.parent_id
<include refid="sqlWhere"/> <include refid="sqlWhere"/>
and instr(t.parent_ids,'${orgId},')>0 -- and instr(t.parent_ids,'${orgId},')>0
<if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if> <if test="sort!=null">ORDER BY ${sort.param} ${sort.type}</if>
<if test="limit>0">limit #{offset},#{limit}</if> <if test="limit>0">limit #{offset},#{limit}</if>
</select> </select>
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<result column="del_flag" property="delFlag" /> <result column="del_flag" property="delFlag" />
<result column="create_by" property="createBy" /> <result column="create_by" property="createBy" />
<result column="update_by" property="updateBy" /> <result column="update_by" property="updateBy" />
<result column="is_ver" property="isVer" /> <result column="user_type" property="userType" />
</resultMap> </resultMap>
<resultMap id="resultMapVO" type="com.cftech.base.org.model.vo.QyuserVO"> <resultMap id="resultMapVO" type="com.cftech.base.org.model.vo.QyuserVO">
...@@ -42,7 +42,8 @@ ...@@ -42,7 +42,8 @@
<result column="wxno" property="wxno" /> <result column="wxno" property="wxno" />
<result column="email" property="email" /> <result column="email" property="email" />
<result column="wxuser_id" property="wxuserId" /> <result column="wxuser_id" property="wxuserId" />
<result column="is_ver" property="isVer" /> <result column="user_type" property="userType" />
<result column="gender" property="gender" />
</resultMap> </resultMap>
<sql id="sqlWhere"> <sql id="sqlWhere">
...@@ -77,13 +78,13 @@ ...@@ -77,13 +78,13 @@
<sql id="sqlColumns"> <sql id="sqlColumns">
id, name, qrcode, avatar, mobile, email, role, wxno, gender, accounts_id, id, name, qrcode, avatar, mobile, email, role, wxno, gender, accounts_id,
position_id, store_id, store_name, wxuser_id, org_id, tag_ids, status, create_time, position_id, store_id, store_name, wxuser_id, org_id, tag_ids, status, create_time,
update_time, description, del_flag, create_by, update_by,is_ver update_time, description, del_flag, create_by, update_by
</sql> </sql>
<sql id="sqlColumnsT"> <sql id="sqlColumnsT">
t.id, t.name, t.qrcode, t.avatar, t.mobile, t.email,t.role, t.wxno, t.gender, t.accounts_id, t.id, t.name, t.qrcode, t.avatar, t.mobile, t.email,t.role, t.wxno, t.gender, t.accounts_id,
t.position_id, t.store_id, t.store_name, t.wxuser_id, t.org_id, t.tag_ids, t.status, t.create_time, t.position_id, t.store_id, t.store_name, t.wxuser_id, t.org_id, t.tag_ids, t.status, t.create_time,
t.update_time, t.description, t.del_flag, t.create_by, t.update_by,is_ver t.update_time, t.description, t.del_flag, t.create_by, t.update_by
</sql> </sql>
<insert id="save" parameterType="com.cftech.base.org.model.Qyuser" <insert id="save" parameterType="com.cftech.base.org.model.Qyuser"
...@@ -92,11 +93,11 @@ ...@@ -92,11 +93,11 @@
( (
id, name, qrcode, id, name, qrcode,
avatar, mobile, email, role, avatar, mobile, email, role,
wxno, gender, accounts_id, position_id,store_id,store_name, wxno, gender, accounts_id,store_id,store_name,
wxuser_id, org_id, tag_ids, wxuser_id, org_id, tag_ids,
status, create_time, update_time, status, create_time, update_time,
description, del_flag, create_by, description, del_flag, create_by,
update_by,is_ver update_by, user_type
) )
values values
( (
...@@ -108,22 +109,20 @@ ...@@ -108,22 +109,20 @@
jdbcType=VARCHAR}, #{role, jdbcType=VARCHAR}, #{role,
jdbcType=VARCHAR}, #{wxno, jdbcType=VARCHAR}, #{gender, jdbcType=VARCHAR}, #{wxno, jdbcType=VARCHAR}, #{gender,
jdbcType=VARCHAR}, #{accountsId, jdbcType=BIGINT}, jdbcType=VARCHAR}, #{accountsId, jdbcType=BIGINT},
#{positionId, #{storeId, jdbcType=BIGINT}, #{storeName, jdbcType=VARCHAR},#{wxuserId, jdbcType=VARCHAR}, #{orgId,
jdbcType=BIGINT}, #{storeId,
jdbcType=BIGINT}, #{storeName, jdbcType=VARCHAR},#{wxuserId, jdbcType=VARCHAR}, #{orgId,
jdbcType=BIGINT}, #{tagIds, jdbcType=VARCHAR}, jdbcType=BIGINT}, #{tagIds, jdbcType=VARCHAR},
#{status, #{status,
jdbcType=VARCHAR}, now(), now(), #{description, jdbcType=VARCHAR}, jdbcType=VARCHAR}, now(), now(), #{description, jdbcType=VARCHAR},
#{delFlag, jdbcType=TINYINT}, #{createBy, jdbcType=BIGINT}, #{delFlag, jdbcType=TINYINT}, #{createBy, jdbcType=BIGINT},
#{updateBy, jdbcType=BIGINT},#{isVer, jdbcType=VARCHAR} #{updateBy, jdbcType=BIGINT}, #{userType, jdbcType=VARCHAR}
) )
</insert> </insert>
<select id="fetchById" parameterType="java.lang.Long" resultMap="resultMap"> <select id="fetchById" parameterType="java.lang.Long" resultMap="resultMap">
SELECT SELECT
t.id, t.name, t.qrcode, t.avatar, t.mobile, t.email, t.role, t.wxno, t.gender, t.accounts_id, t.id, t.name, t.qrcode, t.avatar, t.mobile, t.email, t.role, t.wxno, t.gender, t.accounts_id,
t.position_id, t.store_id, t.store_name, t.wxuser_id, t.org_id, t.tag_ids, t.status, t.create_time, t.store_id, t.store_name, t.wxuser_id, t.org_id, t.tag_ids, t.status, t.create_time,
t.update_time, t.description, t.del_flag, t.create_by, t.update_by,u.username loginName,is_ver t.update_time, t.description, t.del_flag, t.create_by, t.update_by,u.username loginName
FROM t_qyuser t FROM t_qyuser t
left join user u on u.userid=t.id left join user u on u.userid=t.id
WHERE t.id=#{id} WHERE t.id=#{id}
...@@ -143,8 +142,8 @@ ...@@ -143,8 +142,8 @@
resultMap="resultMap"> resultMap="resultMap">
SELECT SELECT
t.id, t.name, t.qrcode, t.avatar, t.mobile, t.email, t.role, t.wxno, t.gender, t.accounts_id, t.id, t.name, t.qrcode, t.avatar, t.mobile, t.email, t.role, t.wxno, t.gender, t.accounts_id,
t.position_id, t.store_id, t.store_name, t.wxuser_id, t.org_id, t.tag_ids, t.status, t.create_time, t.store_id, t.store_name, t.wxuser_id, t.org_id, t.tag_ids, t.status, t.create_time,
t.update_time, t.description, t.del_flag, t.create_by, t.update_by,u.username loginName,is_ver t.update_time, t.description, t.del_flag, t.create_by, t.update_by,u.username loginName
FROM t_qyuser t FROM t_qyuser t
left join t_orgunit o on o.id = t.org_id left join t_orgunit o on o.id = t.org_id
left join user u on u.userid=t.id left join user u on u.userid=t.id
...@@ -228,9 +227,6 @@ ...@@ -228,9 +227,6 @@
<if test="updateBy != null"> <if test="updateBy != null">
update_by = #{updateBy, jdbcType=BIGINT}, update_by = #{updateBy, jdbcType=BIGINT},
</if> </if>
<if test="isVer != null">
is_ver = #{isVer, jdbcType=VARCHAR},
</if>
</set> </set>
where id=#{id,jdbcType=BIGINT} where id=#{id,jdbcType=BIGINT}
</update> </update>
...@@ -242,17 +238,17 @@ ...@@ -242,17 +238,17 @@
<select id="fetchSearchVOByPage" parameterType="java.util.Map" <select id="fetchSearchVOByPage" parameterType="java.util.Map"
resultMap="resultMapVO"> resultMap="resultMapVO">
SELECT t.id id, t.qrcode qrcode, t.avatar avatar,t.role role, p.name position_name, s.name store_name, SELECT
o.org_name org_name, t.id id, t.qrcode qrcode, t.avatar avatar,t.role role,
t.name name, t.mobile mobile, t.wxno wxno, t.email email,t.description, o.org_name org_name,
t.wxuser_id t.name name, t.mobile mobile, t.wxno wxno, t.email email,t.description,
wxuser_id, t.wxuser_id
u.username loginName,(select count(1) from wx_mp_fanss fanss where fanss.recommender=t.id and fanss.mpaccountid=t.accounts_id and fanss.delflag=0) fanssCount,is_ver wxuser_id,
u.username loginName, t.user_type, t.gender, qrcode.ticket qrcode
FROM t_qyuser t FROM t_qyuser t
left join t_position p on p.id =t.position_id
left join t_dc_store s on s.id = t.store_id
left join t_orgunit o on o.id = t.org_id left join t_orgunit o on o.id = t.org_id
left join user u on u.userid=t.id left join user u on u.userid = t.id
left join t_shop_wxqrcode qrcode on qrcode.bind_id = t.id AND (qrcode.type = '0' or qrcode.type = '1' or qrcode.type = '2')
<include refid="sqlWhere" /> <include refid="sqlWhere" />
<if test="orgId > 0"> <if test="orgId > 0">
and instr(o.parent_ids,',${orgId},')>0 and instr(o.parent_ids,',${orgId},')>0
...@@ -342,9 +338,6 @@ ...@@ -342,9 +338,6 @@
<if test="updateBy != null"> <if test="updateBy != null">
update_by = #{updateBy, jdbcType=BIGINT}, update_by = #{updateBy, jdbcType=BIGINT},
</if> </if>
<if test="isVer != null">
is_ver = #{isVer, jdbcType=VARCHAR},
</if>
</set> </set>
<include refid="sqlWhere" /> <include refid="sqlWhere" />
</update> </update>
...@@ -468,7 +461,7 @@ ...@@ -468,7 +461,7 @@
<select id="getLogInfo" parameterType="java.util.Map" resultMap="resultMap"> <select id="getLogInfo" parameterType="java.util.Map" resultMap="resultMap">
select b.id,b.name,b.store_id, b.role,c.name store_name,b.qrcode,b.is_ver from user a INNER JOIN t_qyuser b on b.id = a.userid select b.id,b.name,b.store_id, b.role,c.name store_name,b.qrcode from user a INNER JOIN t_qyuser b on b.id = a.userid
INNER JOIN t_dc_store c on c.id = b.store_id INNER JOIN t_dc_store c on c.id = b.store_id
where a.id = #{id} and a.delflag = '0' where a.id = #{id} and a.delflag = '0'
</select> </select>
......
...@@ -21,21 +21,29 @@ public class OrgUnit implements Serializable { ...@@ -21,21 +21,29 @@ public class OrgUnit implements Serializable {
/** /**
* 组织编码 * 组织编码
*/ */
@ExportConfig(value = "组织编码", width = 100) @ExportConfig(value = "组织编码", width = 120)
private String number; private String number;
/** /**
* 组织名称 * 组织名称
*/ */
@ExportConfig(value = "组织名称", width = 100) @ExportConfig(value = "组织名称", width = 120)
private String orgName; private String orgName;
/** /**
* 微信组织id * 微信组织id
*/ */
//@ExportConfig(value = "微信组织id", width = 100, showLevel = 1) //@ExportConfig(value = "微信组织id", width = 100, showLevel = 1)
private String wxorgId; private String wxorgId;
/* 父级组织 */ /* 父级组织 */
@ExportConfig(value = "上级组织编码", width = 100, showLevel = 2) //@ExportConfig(value = "上级组织编码", width = 100, showLevel = 2)
private Long parentId; private Long parentId;
@ExportConfig(value = "上级组织编码", width = 120)
private String parentCode;
@ExportConfig(value = "上级组织名称", width = 120)
private String parentName;
/** /**
* 组织分类 * 组织分类
*/ */
......
...@@ -137,9 +137,9 @@ public class Qyuser implements Serializable { ...@@ -137,9 +137,9 @@ public class Qyuser implements Serializable {
private String qrcode; private String qrcode;
/** /**
*是否可以核销 0:可核销 1:不可核销 * 用户类型 0:客服 ;1:药师; 2:医生; 3:订单员 4:其他
*/ */
private String isVer; private String userType;
public Qyuser() { public Qyuser() {
......
...@@ -30,22 +30,22 @@ public class QyuserVO implements Serializable { ...@@ -30,22 +30,22 @@ public class QyuserVO implements Serializable {
private String wxuserId; private String wxuserId;
@ExportConfig(value = "部门", width = 100) @ExportConfig(value = "部门", width = 100)
private String description; private String description;
@ExportConfig(value = "门店编码", width = 100,showLevel=2) // @ExportConfig(value = "门店编码", width = 100,showLevel=2)
private String storeId; // private String storeId;
@ExportConfig(value = "门店名称", width = 100,showLevel=1) // @ExportConfig(value = "门店名称", width = 100,showLevel=1)
private String storeName; // private String storeName;
@ExportConfig(value = "登录账号(密码同账号)", width = 100) @ExportConfig(value = "登录账号(密码同账号)", width = 100)
private String loginName; private String loginName;
@ExportConfig(value = "粉丝关注数", width = 100,showLevel=1) @ExportConfig(value = "职业(0:客服;1:药师;2:医生;3:订单员;4:其他)", width = 200)
private String fanssCount; private String userType;
/** @ExportConfig(value = "性别", width = 120)
*是否可以核销 0:可核销 1:不可核销 private String gender;
*/
@ExportConfig(value = "是否可核销 0:可核销 1:不可核销(默认)") // @ExportConfig(value = "粉丝关注数", width = 100,showLevel=1)
private String isVer; // private String fanssCount;
} }
...@@ -81,11 +81,12 @@ public class OrgUnitServiceImpl extends GenericServiceImpl<OrgUnit> implements O ...@@ -81,11 +81,12 @@ public class OrgUnitServiceImpl extends GenericServiceImpl<OrgUnit> implements O
@Override @Override
public List<OrgUnit> fetchSearchByPage(Long orgId, Conds conds, Sort sort, int page, int pageSize) { public List<OrgUnit> fetchSearchByPage(Long orgId, Conds conds, Sort sort, int page, int pageSize) {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
if (orgId == 0) {
params.put("orgId", orgId); // if (orgId == 0) {
} else { // params.put("orgId", orgId);
params.put("orgId", "," + orgId); // } else {
} // params.put("orgId", "," + orgId);
// }
params.put("conds", conds); params.put("conds", conds);
params.put("offset", page > 0 ? page : 0); params.put("offset", page > 0 ? page : 0);
...@@ -117,10 +118,9 @@ public class OrgUnitServiceImpl extends GenericServiceImpl<OrgUnit> implements O ...@@ -117,10 +118,9 @@ public class OrgUnitServiceImpl extends GenericServiceImpl<OrgUnit> implements O
@Override @Override
public OrgUnit findByAccountIdAndNumber(Long accountId, String number) { public OrgUnit findByAccountIdAndNumber(Long accountId, String number) {
Conds myCond = new Conds(); Conds myCond = new Conds();
myCond.equal("del_flag", Constants.DEL_FLAG_0); myCond.equal("t.del_flag", Constants.DEL_FLAG_0);
myCond.equal("accounts_id", accountId); myCond.equal("t.accounts_id", accountId);
myCond.equal("number", number); myCond.equal("t.number", number);
return fetchSearchByConds(myCond); return fetchSearchByConds(myCond);
} }
......
...@@ -53,26 +53,26 @@ public class MobileGuideLoginController { ...@@ -53,26 +53,26 @@ public class MobileGuideLoginController {
rtnJson.put("errorMsg", "用户名或者密码不正确,请重试!"); rtnJson.put("errorMsg", "用户名或者密码不正确,请重试!");
}else }else
{ {
//根据ID, 查询对应的QY 用户身份 // //根据ID, 查询对应的QY 用户身份
Map<String,Object> map = new HashMap<String,Object>(); // Map<String,Object> map = new HashMap<String,Object>();
map.put("id",authentication.getId()); // map.put("id",authentication.getId());
List<Qyuser> users = qyuserService.getLogInfo(map); // List<Qyuser> users = qyuserService.getLogInfo(map);
if(users==null||users.size()==0) // if(users==null||users.size()==0)
{ // {
rtnJson.put("errorNo", "1"); // rtnJson.put("errorNo", "1");
rtnJson.put("errorMsg", "用户名或者密码不正确,请重试!"); // rtnJson.put("errorMsg", "用户名或者密码不正确,请重试!");
}else // }else
{ // {
Qyuser currUser=users.get(0); // Qyuser currUser=users.get(0);
if(currUser.getIsVer().equals("0")){ // if(currUser.getIsVer().equals("0")){
rtnJson.put("errorNo", "0"); // rtnJson.put("errorNo", "0");
rtnJson.put("data", users.get(0)); // rtnJson.put("data", users.get(0));
}else{ // }else{
rtnJson.put("errorNo", "1"); // rtnJson.put("errorNo", "1");
rtnJson.put("errorMsg", "无核销权限!"); // rtnJson.put("errorMsg", "无核销权限!");
} // }
//
} // }
} }
return rtnJson.toString(); return rtnJson.toString();
} }
......
...@@ -105,7 +105,7 @@ public class OrgUnitController { ...@@ -105,7 +105,7 @@ public class OrgUnitController {
//提交编辑页面(新增、修改) //提交编辑页面(新增、修改)
@RequiresPermissions(value = PermissionSign.ORGUNIT_EDIT) @RequiresPermissions(value = PermissionSign.ORGUNIT_EDIT)
@RequestMapping(value = "/formData",method = {RequestMethod.POST}) @RequestMapping(value = "/formData")
@ResponseBody @ResponseBody
public JSONObject formData(OrgUnit orgUnit, Model model, HttpServletRequest request) { public JSONObject formData(OrgUnit orgUnit, Model model, HttpServletRequest request) {
Long accountsId = Long.parseLong(qyAccounts); Long accountsId = Long.parseLong(qyAccounts);
...@@ -120,7 +120,8 @@ public class OrgUnitController { ...@@ -120,7 +120,8 @@ public class OrgUnitController {
parentOrgUnit = orgUnitService.fetchById(orgUnit.getParentId()); parentOrgUnit = orgUnitService.fetchById(orgUnit.getParentId());
orgUnit.setParentIds(parentOrgUnit.getParentIds() + orgUnit.getId() + ","); orgUnit.setParentIds(parentOrgUnit.getParentIds() + orgUnit.getId() + ",");
} else { } else {
orgUnit.setParentIds("0," + orgUnit.getId() + ","); orgUnit.setParentId(1L);
orgUnit.setParentIds("0,1," + orgUnit.getId() + ",");
} }
//同步至企业号 //同步至企业号
...@@ -141,17 +142,18 @@ public class OrgUnitController { ...@@ -141,17 +142,18 @@ public class OrgUnitController {
rtnJson.put("errorNo", 0); rtnJson.put("errorNo", 0);
} else { } else {
orgUnit.setAccountsId(accountsId); orgUnit.setAccountsId(accountsId);
// orgUnit.setIsSalesUnit(true);
orgUnit.setNumber(codingruleUtils.getNumber(accountsId, OrgUnit.class.getName())); orgUnit.setNumber(codingruleUtils.getNumber(accountsId, OrgUnit.class.getName()));
// do create // do create
OrgUnit parentOrgUnit = null; OrgUnit parentOrgUnit = null;
if (!StringUtils.isEmpty(orgUnit.getParentId())) { if (!StringUtils.isEmpty(orgUnit.getParentId())) {
parentOrgUnit = orgUnitService.fetchById(orgUnit.getParentId()); parentOrgUnit = orgUnitService.fetchById(orgUnit.getParentId());
} else {
orgUnit.setParentId(1L);
} }
orgUnit.setDelFlag(false); orgUnit.setDelFlag(false);
orgUnit.setStatus("0"); orgUnit.setStatus("0");
orgUnit.setParentIds(parentOrgUnit == null ? 0 + "," : parentOrgUnit.getParentIds()); orgUnit.setParentIds(parentOrgUnit == null ? "0,1," : parentOrgUnit.getParentIds());
orgUnit.setCreateBy(UserUtils.getUser().getId()); orgUnit.setCreateBy(UserUtils.getUser().getId());
orgUnit.setUpdateBy(UserUtils.getUser().getId()); orgUnit.setUpdateBy(UserUtils.getUser().getId());
orgUnitService.saveCache(orgUnit); orgUnitService.saveCache(orgUnit);
...@@ -254,12 +256,12 @@ public class OrgUnitController { ...@@ -254,12 +256,12 @@ public class OrgUnitController {
Long accountId = Long.parseLong(qyAccounts); Long accountId = Long.parseLong(qyAccounts);
Sort sort = new Sort("parent_id", OrderType.ASC); Sort sort = new Sort("parent_id", OrderType.ASC);
Conds conds = new Conds(); Conds conds = new Conds();
conds.equal("del_flag", 0); conds.equal("t.del_flag", 0);
conds.equal("accounts_id", accountId); conds.equal("t.accounts_id", accountId);
User user = UserUtils.getUser(); // User user = UserUtils.getUser();
Qyuser qyuser = qyuserService.fetchById(user.getUserid()); // Qyuser qyuser = qyuserService.fetchById(user.getUserid());
Long orgId = qyuser.getOrgId(); // Long orgId = qyuser.getOrgId();
List<OrgUnit> orgunits = orgUnitService.fetchSearchByPage(orgId, conds, sort, 0, 0); List<OrgUnit> orgunits = orgUnitService.fetchSearchByPage(null, conds, sort, 0, 0);
// 生成Excel并使用浏览器下载 // 生成Excel并使用浏览器下载
ExcelKit.$Export(OrgUnit.class, response).toExcel(orgunits, "组织信息"); ExcelKit.$Export(OrgUnit.class, response).toExcel(orgunits, "组织信息");
...@@ -390,8 +392,8 @@ public class OrgUnitController { ...@@ -390,8 +392,8 @@ public class OrgUnitController {
JSONArray array = new JSONArray(); JSONArray array = new JSONArray();
Sort sort = new Sort("parent_id", OrderType.ASC); Sort sort = new Sort("parent_id", OrderType.ASC);
Conds conds = new Conds(); Conds conds = new Conds();
conds.equal("del_flag",0); conds.equal("t.del_flag",0);
conds.equal("accounts_id", accountId); conds.equal("t.accounts_id", accountId);
//用户 //用户
// User user = UserUtils.getUser(); // User user = UserUtils.getUser();
// Qyuser qyuser = qyuserService.fetchById(user.getUserid()); // Qyuser qyuser = qyuserService.fetchById(user.getUserid());
......
...@@ -65,28 +65,31 @@ public class QyTokenUtil { ...@@ -65,28 +65,31 @@ public class QyTokenUtil {
return getConfig().opsForValue().get(key); return getConfig().opsForValue().get(key);
} }
// 请求企业号认证信息 // 请求企业号认证信息
String url = WxApiConstants.TOKEN_GET.replace("CORPID", accountsEntity.getAppid()) String token = null;// 缓存token至redis
.replace("SECRECT", accountsEntity.getSecret()); try {
// String retStr = OKHttpUtils.getJSON(url); String url = WxApiConstants.TOKEN_GET.replace("CORPID", accountsEntity.getAppid())
// JSONObject retObj = JSON.parseObject(retStr); .replace("SECRECT", accountsEntity.getSecret());
// String token = retObj.getString("access_token");// 缓存token至redis String retStr = OKHttpUtils.getJSON(url);
String token = "1";// webHttpInterface.getValue(url,"access_token"); JSONObject retObj = JSON.parseObject(retStr);
token = retObj.getString("access_token");
getConfig().opsForValue().set(key, token);
getConfig().expire(key, 6000, TimeUnit.SECONDS); getConfig().opsForValue().set(key, token);
getConfig().expire(key, 6000, TimeUnit.SECONDS);
// 继续缓存jsticket
url = WxApiConstants.JSAPI_TICKET_GET.replace("ACCESS_TOKEN", token); // 继续缓存jsticket
// retStr = OKHttpUtils.getJSON(url); url = WxApiConstants.JSAPI_TICKET_GET.replace("ACCESS_TOKEN", token);
// retObj = JSON.parseObject(retStr); retStr = OKHttpUtils.getJSON(url);
// String jsTicket = retObj.getString("ticket"); retObj = JSON.parseObject(retStr);
String jsTicket = "1";// webHttpInterface.getValue(url,"ticket"); String jsTicket = retObj.getString("ticket");
// 缓存token至redis // 缓存token至redis
getConfig().opsForValue().set(jskey, jsTicket); getConfig().opsForValue().set(jskey, jsTicket);
getConfig().expire(jskey, 6000, TimeUnit.SECONDS); getConfig().expire(jskey, 6000, TimeUnit.SECONDS);
return token; } catch (IOException e) {
e.printStackTrace();
}
return token;
} }
public String getToken(MpAccountsEntity accountsEntity)//更新token public String getToken(MpAccountsEntity accountsEntity)//更新token
......
...@@ -6,7 +6,7 @@ var G = (function () { ...@@ -6,7 +6,7 @@ var G = (function () {
//'use strict'; //'use strict';
var baseUri = function () { var baseUri = function () {
return '/schaeffler'; return '/aidea';
}; };
var devMode = function () { var devMode = function () {
......
...@@ -19,7 +19,7 @@ var cfApp = (function () { ...@@ -19,7 +19,7 @@ var cfApp = (function () {
p.OAUTH_URL = baseUri + '/mobile/wxjs/oauth'; p.OAUTH_URL = baseUri + '/mobile/wxjs/oauth';
// TODO 需要替换 // TODO 需要替换
p.registerHtml = baseUri + "/static/mp/schaeffler/invitation-code.html"; p.registerHtml = baseUri + "/static/mp/aidea/invitation-code.html";
//当前的用户信息 //当前的用户信息
p.mpInfoObj = null; p.mpInfoObj = null;
......
...@@ -457,7 +457,7 @@ var form = (function () { ...@@ -457,7 +457,7 @@ var form = (function () {
keyword1: date.trim(), keyword1: date.trim(),
keyword2: begintime + "-" + endtime, keyword2: begintime + "-" + endtime,
keyword3: content, keyword3: content,
paperUrl: window.location.protocol + "//" + window.location.host + G.baseUri() + "/static/mp/schaeffler/process/showroom_evaluate.html?appid=" + p.params.appid paperUrl: window.location.protocol + "//" + window.location.host + G.baseUri() + "/static/mp/aidea/process/showroom_evaluate.html?appid=" + p.params.appid
}; };
$("#next_step").css("pointer-events", "none"); $("#next_step").css("pointer-events", "none");
G.ajax('post', p.params.isAppointmentApi, formdata, function (retdata) { G.ajax('post', p.params.isAppointmentApi, formdata, function (retdata) {
......
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