Merge remote-tracking branch 'origin/feature/20200402_init_dev' into feature/20200402_init_dev

master
wangweijia 6 years ago
commit 3a80623e09

@ -21,7 +21,8 @@ import {
DatePicker, DatePicker,
CheckboxGroup, CheckboxGroup,
Checkbox, Checkbox,
RadioGroup RadioGroup,
Switch
} from "view-design"; } from "view-design";
import 'view-design/dist/styles/iview.css'; import 'view-design/dist/styles/iview.css';
@ -49,3 +50,4 @@ Vue.component('DatePicker', DatePicker);
Vue.component('CheckboxGroup', CheckboxGroup); Vue.component('CheckboxGroup', CheckboxGroup);
Vue.component('Checkbox', Checkbox); Vue.component('Checkbox', Checkbox);
Vue.component('RadioGroup', RadioGroup); Vue.component('RadioGroup', RadioGroup);
Vue.component('i-switch', Switch);

@ -15,7 +15,7 @@
<p class="region">时间</p> <p class="region">时间</p>
</i-col> </i-col>
<i-col span="4" style="padding-left: 10px;"> <i-col span="4" style="padding-left: 10px;">
<DatePicker type="daterange" placement="bottom-end" placeholder="Select date" style="width: 200px" <DatePicker type="daterange" placement="bottom-end" placeholder="请选择日期" style="width: 200px"
@on-change="onChangeDateLister"></DatePicker> @on-change="onChangeDateLister"></DatePicker>
</i-col> </i-col>
<i-col span="4"> <i-col span="4">

@ -33,7 +33,7 @@
<p class="region">时间</p> <p class="region">时间</p>
</i-col> </i-col>
<i-col span="4" style="padding-left: 10px;"> <i-col span="4" style="padding-left: 10px;">
<DatePicker type="daterange" placement="bottom-end" placeholder="Select date" style="width: 200px" <DatePicker type="daterange" placement="bottom-end" placeholder="请选择日期" style="width: 200px"
@on-change="onChangeDateLister"></DatePicker> @on-change="onChangeDateLister"></DatePicker>
</i-col> </i-col>
<i-col span="2"> <i-col span="2">

@ -23,7 +23,7 @@
<p class="region">时间</p> <p class="region">时间</p>
</i-col> </i-col>
<i-col span="4" style="padding-left: 10px;"> <i-col span="4" style="padding-left: 10px;">
<DatePicker type="daterange" placement="bottom-end" placeholder="Select date" style="width: 200px" <DatePicker type="daterange" placement="bottom-end" placeholder="请选择日期" style="width: 200px"
@on-change="onChangeDateLister"></DatePicker> @on-change="onChangeDateLister"></DatePicker>
</i-col> </i-col>
<i-col span="4"> <i-col span="4">

@ -1,15 +1,198 @@
<template> <template>
<div> <div>
<p>IncreaseStaffManager</p> <Row style="margin-top: 20px;width: 100%;background-color: #F7F8FA;">
<i-col span="24" style="text-align: left;padding-left: 10px;">
<Row class="row-style">
<i-col span="1" style="text-align: right;">
<span class="region">区域选择</span>
</i-col>
<i-col span="4" style="padding-left: 10px;">
<Select v-model="selectedRegion" filterable style="width: 200px;">
<Option v-for="item in regionList" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select>
</i-col>
<i-col span="1" style="text-align: right;">
<span class="region">店铺选择</span>
</i-col>
<i-col span="4" style="padding-left: 10px;">
<Select v-model="selectedStore" filterable style="width: 200px;">
<Option v-for="item in storeList" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select>
</i-col>
<i-col span="2">
<Button type="primary">查询</Button>
</i-col>
<i-col span="12" style="text-align: right;padding-right: 20px;">
<Button type="primary" style="margin-right: 10px;">批量下载</Button>
<Button type="primary" style="margin-right: 10px;">批量添加</Button>
<Button type="primary">添加推广人员</Button>
</i-col>
</Row>
</i-col>
</Row>
<Table :columns="columns1" :data="data1" style="margin-top: 20px;">
<template slot-scope="{ row, index }" slot="qrCodeAction">
<Button ghost type="primary" size="small" style="margin-right: 5px" @click="show(index)"></Button>
<Button ghost type="primary" size="small" @click="download(index)"></Button>
</template>
<template slot-scope="{ row, index }" slot="state">
<i-switch size="large" :value="row.qrCodeState" @on-change="onSwitchChangeLister(row, index)">
<span slot="open">开启</span>
<span slot="close">关闭</span>
</i-switch>
</template>
<template slot-scope="{ row, index }" slot="action">
<Button ghost type="primary" size="small" style="margin-right: 5px" @click="open(index)"></Button>
<Button ghost type="error" size="small" @click="remove(index)"></Button>
</template>
</Table>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "IncreaseStaffManager" name: "IncreaseStaffManager",
data () {
return {
selectedRegion: null,
regionList: [],
selectedStore: null,
storeList: [],
columns1: [
{
title: '序号',
key: 'id',
width: 100
},
{
title: '姓名',
key: 'name',
width: 100
},
{
title: '员工ID',
key: 'code',
width: 100
},
{
title: '手机号码',
key: 'phone',
width: 160
},
{
title: '店铺',
key: 'storeName',
width: 100
},
{
title: '角色',
key: 'role',
width: 100
},
{
title: '客户数',
key: 'customerNum',
width: 100
},
{
title: '推广码',
slot: 'qrCodeAction',
width: 150
},
{
title: '推广码',
key: 'qrCodeState',
width: 150,
slot: 'state'
},
{
title: '操作',
slot: 'action',
}
],
data1: [
{
id: 1,
name: '王老吉',
code: 'D1',
phone: '13112345678',
storeName: '店铺1',
role: 1,
customerNum: 999,
qrCodeState: true
},
{
id: 2,
name: '王老吉2',
code: 'D2',
phone: '13112345678',
storeName: '店铺2',
role: 2,
customerNum: 999,
qrCodeState: true
},
{
id: 3,
name: '王老吉3',
code: 'D3',
phone: '13112345678',
storeName: '店铺3',
role: 3,
customerNum: 999,
qrCodeState: false
},
{
id: 4,
name: '王老吉4',
code: 'D4',
phone: '13112345678',
storeName: '店铺4',
role: 3,
customerNum: 999,
qrCodeState: false
}
]
}
},
methods: {
//
onChangeDateLister: function () {
},
//
show: function () {
},
//
download: function () {
},
//
open: function () {
},
//
remove: function () {
},
// switch
onSwitchChangeLister: function () {
}
}
} }
</script> </script>
<style scoped> <style scoped>
.region {
font-size: 14px;
line-height: 32px;
}
.row-style {
padding-top: 20px;
padding-bottom: 20px;
}
</style> </style>

@ -1,15 +1,150 @@
<template> <template>
<div> <div>
<p>IncreaseStoreManager</p> <Row style="margin-top: 20px;width: 100%;background-color: #F7F8FA;">
<i-col span="24" style="text-align: left;padding-left: 10px;">
<Row class="row-style">
<i-col span="1" style="text-align: right;">
<span class="region">区域选择</span>
</i-col>
<i-col span="4" style="padding-left: 10px;">
<Select v-model="selectedRegion" filterable style="width: 200px;">
<Option v-for="item in regionList" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select>
</i-col>
<i-col span="1" style="text-align: right;">
<span class="region">店铺选择</span>
</i-col>
<i-col span="4" style="padding-left: 10px;">
<Select v-model="selectedStore" filterable style="width: 200px;">
<Option v-for="item in storeList" :value="item.value" :key="item.value">{{ item.label }}</Option>
</Select>
</i-col>
<i-col span="2">
<Button type="primary">查询</Button>
</i-col>
<i-col span="12" style="text-align: right;padding-right: 20px;">
<Button type="primary" style="margin-right: 10px;">批量下载</Button>
<Button type="primary" style="margin-right: 10px;">批量开通</Button>
</i-col>
</Row>
</i-col>
</Row>
<Table :columns="columns1" :data="data1" style="margin-top: 20px;">
<template slot-scope="{ row, index }" slot="qrCodeAction">
<Button ghost type="primary" size="small" style="margin-right: 5px" @click="show(index)"></Button>
<Button ghost type="primary" size="small" @click="download(index)"></Button>
</template>
<template slot-scope="{ row, index }" slot="action">
<Button ghost type="primary" size="small" style="margin-right: 5px" @click="open(index)"></Button>
<Button ghost type="error" size="small" @click="remove(index)"></Button>
</template>
</Table>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
name: "IncreaseStoreManager" name: "IncreaseStoreManager",
data () {
return {
selectedRegion: null,
regionList: [],
selectedStore: null,
storeList: [],
columns1: [
{
title: '序号',
key: 'id',
width: 100
},
{
title: '门店名称',
key: 'storeName'
},
{
title: '门店企业号',
key: 'storeWx'
},
{
title: '员工数',
key: 'staffNum',
},
{
title: '客户数',
key: 'customerNum',
width: 100
},
{
title: '推广码',
slot: 'qrCodeAction',
width: 150
},
{
title: '操作',
slot: 'action',
}
],
data1: [
{
id: 1,
storeName: '店铺1',
storeWx: 'D1',
staffNum: 10,
customerNum: 999
},
{
id: 2,
storeName: '店铺2',
storeWx: 'D2',
staffNum: 10,
customerNum: 999
},
{
id: 3,
storeName: '店铺3',
storeWx: 'D3',
staffNum: 10,
customerNum: 999
},
{
id: 4,
storeName: '店铺4',
storeWx: 'D4',
staffNum: 10,
customerNum: 999
}
]
}
},
methods: {
onChangeDateLister: function () {
},
show: function () {
},
download: function () {
},
open: function () {
},
remove: function () {
}
}
} }
</script> </script>
<style scoped> <style scoped>
.region {
font-size: 14px;
line-height: 32px;
}
.row-style {
padding-top: 20px;
padding-bottom: 20px;
}
</style> </style>

@ -11,6 +11,9 @@ import IncreaseData from '@/pages/shop/IncreaseData';
import IncreaseDataRegion from '@/pages/shop/IncreaseDataRegion'; import IncreaseDataRegion from '@/pages/shop/IncreaseDataRegion';
import IncreaseDataStaff from '@/pages/shop/IncreaseDataStaff'; import IncreaseDataStaff from '@/pages/shop/IncreaseDataStaff';
import IncreaseDataStore from '@/pages/shop/IncreaseDataStore'; import IncreaseDataStore from '@/pages/shop/IncreaseDataStore';
import IncreaseStaffManager from '@/pages/shop/IncreaseStaffManager';
import IncreaseStoreManager from '@/pages/shop/IncreaseStoreManager';
Vue.use(Router); Vue.use(Router);
const router = new Router({ const router = new Router({
@ -58,13 +61,13 @@ const router = new Router({
}, },
{ {
path: '/shop/increase/manager/store', path: '/shop/increase/manager/store',
name: 'IncreaseDataRegion', name: 'IncreaseStoreManager',
component: IncreaseDataRegion component: IncreaseStoreManager
}, },
{ {
path: '/shop/increase/manager/staff', path: '/shop/increase/manager/staff',
name: 'IncreaseDataStore', name: 'IncreaseStaffManager',
component: IncreaseDataStore component: IncreaseStaffManager
} }
] ]
}, },

@ -0,0 +1,22 @@
package com.kiisoo.ic.department.constant;
/**
* @Description:
* @Auther: yechenhao
* @Date: 2020/4/8 0002 21:14
* @Version: v1
*/
public class Constants {
/**
* id
*/
public static Long MAIN_DEPARTMENT_ID = 1L;
/**
*
*/
public static int LEVEL_ONE = 1;
/**
*
*/
public static int LEVEL_TWO = 2;
}

@ -1,7 +1,14 @@
package com.kiisoo.ic.department.entity; package com.kiisoo.ic.department.entity;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* @Description: * @Description:
* @Auther: yechenhao * @Auther: yechenhao
@ -9,6 +16,7 @@ import lombok.Data;
* @Version: v1 * @Version: v1
*/ */
@Data @Data
@TableName("privilage_department")
public class DepartmentDO { public class DepartmentDO {
/** /**
* idid * idid
@ -22,8 +30,19 @@ public class DepartmentDO {
* id32 * id32
*/ */
private Long parentId; private Long parentId;
/**
*
*/
private Integer level;
/** /**
* order[0, 2^32) * order[0, 2^32)
*/ */
private Long order; @JSONField(name = "order_num")
private Long orderNum;
/**
*
*/
@TableField(exist = false)
private List<DepartmentDO> departments;
} }

@ -11,8 +11,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.kiisoo.ic.department.constant.Constants.*;
/** /**
* @Description: service * @Description: service
* @Auther: yechenhao * @Auther: yechenhao
@ -42,14 +45,126 @@ public class DepartmentService {
public Boolean syncDepartment() throws WxErrorException { public Boolean syncDepartment() throws WxErrorException {
//获取企业微信部门架构 //获取企业微信部门架构
List<WxCpDepart> wxCpDeparts = qwMailListManageService.syncDepartment(); List<WxCpDepart> wxCpDeparts = qwMailListManageService.syncDepartment();
//分组
List<DepartmentDO> departmentDOS = new ArrayList<>();
groupByDepartments(wxCpDeparts,departmentDOS);
recursionInsertDepartment(departmentDOS);
return true;
}
/**
*
* @param wxCpDeparts
* @param departmentDOS
* @return
*/
private void groupByDepartments(List<WxCpDepart> wxCpDeparts,List<DepartmentDO> departmentDOS){
List<WxCpDepart> recursionList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(wxCpDeparts)){ if (CollectionUtils.isNotEmpty(wxCpDeparts)){
wxCpDeparts.forEach(wxDept -> { wxCpDeparts.forEach(wxDept -> {
DepartmentDO departmentDO = new DepartmentDO(); Long departmentId = wxDept.getId();
BeanUtils.copyProperties(wxDept,departmentDO); Long parentId = wxDept.getParentId();
//如果部门id为1为首部门直接加入数组
if (MAIN_DEPARTMENT_ID.equals(departmentId)){
DepartmentDO departmentDO = new DepartmentDO();
BeanUtils.copyProperties(wxDept,departmentDO);
departmentDO.setOrderNum(wxDept.getOrder());
departmentDO.setLevel(LEVEL_ONE);
departmentDOS.add(departmentDO);
}else{
//部门id不为1则寻找部门数组中是否有其夫部门
Boolean hasParents = false;
if (CollectionUtils.isNotEmpty(departmentDOS)){
for(DepartmentDO departmentDO:departmentDOS) {
Long oneId = departmentDO.getId();
//判断该部门是否为夫部门
if (parentId.equals(oneId)){
List<DepartmentDO> departments = departmentDO.getDepartments();
if (CollectionUtils.isEmpty(departments)){
departments = new ArrayList<>();
}
DepartmentDO de = new DepartmentDO();
BeanUtils.copyProperties(wxDept,de);
de.setOrderNum(wxDept.getOrder());
de.setLevel(LEVEL_TWO);
departments.add(de);
departmentDO.setDepartments(departments);
hasParents = true;
break;
}else{
//不是副部门则递归判断该部门的子部门时候为父部门
hasParents = recursionLevel(LEVEL_TWO,hasParents,departmentDO,wxDept);
}
}
if(!hasParents){
recursionList.add(wxDept);
}
}else {
recursionList.add(wxDept);
}
}
}); });
groupByDepartments(recursionList,departmentDOS);
}
}
/**
*
* @param level
* @param hasParents
* @param departmentDO
* @param wxDept
*/
private Boolean recursionLevel(int level,Boolean hasParents,DepartmentDO departmentDO,WxCpDepart wxDept){
int nowLevel = ++level;
Long parentId = wxDept.getParentId();
List<DepartmentDO> departments = departmentDO.getDepartments();
//寻找部门数组中是否有其夫部门
if (CollectionUtils.isNotEmpty(departments)){
for(DepartmentDO dep:departments) {
Long oneId = dep.getId();
//判断该部门是否为夫部门
if (parentId.equals(oneId)){
List<DepartmentDO> deps = dep.getDepartments();
if (CollectionUtils.isEmpty(deps)){
deps = new ArrayList<>();
}
DepartmentDO de = new DepartmentDO();
BeanUtils.copyProperties(wxDept,de);
de.setOrderNum(wxDept.getOrder());
de.setLevel(nowLevel);
deps.add(de);
dep.setDepartments(deps);
hasParents = true;
}else{
//不是副部门则递归判断该部门的子部门时候为父部门
hasParents = recursionLevel(nowLevel,hasParents,dep,wxDept);
}
}
}
return hasParents;
}
/**
*
* @param departmentDO
*/
private void recursionInsertDepartment(List<DepartmentDO> departmentDO){
if (CollectionUtils.isNotEmpty(departmentDO)){
departmentDO.forEach(department -> {
DepartmentDO dep = departmentDOMapper.selectById(department.getId());
if (dep == null){
departmentDOMapper.insert(department);
}else{
departmentDOMapper.updateById(department);
}
List<DepartmentDO> departments = department.getDepartments();
if (CollectionUtils.isNotEmpty(departments)){
recursionInsertDepartment(departments);
}
});
} }
// departmentDOMapper.insert(departmentDO);
return true;
} }
} }

@ -1,16 +1,16 @@
package com.kiisoo.ic.employee.mapper; //package com.kiisoo.ic.employee.mapper;
//
import com.baomidou.mybatisplus.core.mapper.BaseMapper; //import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.kiisoo.ic.employee.entity.PoiStoreStaffDO; //import com.kiisoo.ic.employee.entity.PoiStoreStaffDO;
import org.springframework.stereotype.Repository; //import org.springframework.stereotype.Repository;
//
/** ///**
* @Description mapper // * @Description 店铺人员表mapper
* @Author yinliujing // * @Author yinliujing
* @Version V1.0.0 // * @Version V1.0.0
* @Date 2020/4/7 // * @Date 2020/4/7
*/ // */
@Repository //@Repository
public interface PoiStoreStaffDOMapper extends BaseMapper<PoiStoreStaffDO> { //public interface PoiStoreStaffDOMapper extends BaseMapper<PoiStoreStaffDO> {
//
} //}

@ -1,86 +1,87 @@
package com.kiisoo.ic.employee.service; //package com.kiisoo.ic.employee.service;
//
import com.alibaba.fastjson.JSON; //import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; //import com.alibaba.fastjson.JSONObject;
import com.kiisoo.ic.config.WxCpConfiguration; //import com.kiisoo.ic.config.WxCpConfiguration;
import com.kiisoo.ic.employee.entity.PoiStoreStaffDO; //import com.kiisoo.ic.employee.entity.PoiStoreStaffDO;
import com.kiisoo.ic.employee.entity.QrCodeDO; //import com.kiisoo.ic.employee.entity.QrCodeDO;
import com.kiisoo.ic.employee.entity.QrCodeVO; //import com.kiisoo.ic.employee.entity.QrCodeVO;
import com.kiisoo.ic.employee.mapper.PoiStoreStaffDOMapper; ////import com.kiisoo.ic.employee.mapper.PoiStoreStaffDOMapper;
import me.chanjar.weixin.common.error.WxErrorException; //import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
import me.chanjar.weixin.cp.api.WxCpService; //import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.beans.BeanUtils; //import me.chanjar.weixin.cp.api.WxCpService;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; //import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
import java.util.HashMap; //
import java.util.Map; //import java.util.HashMap;
//import java.util.Map;
/** //
* @Description: 广 ///**
* @Auther: yinliujing // * @Description: 推广码业务
* @Date: 2020/4/7 0002 14:06 // * @Auther: yinliujing
* @Version: v1 // * @Date: 2020/4/7 0002 14:06
*/ // * @Version: v1
@Service // */
public class QrCodeService { //@Service
WxCpService mainService = WxCpConfiguration.getCpService(1000037); //public class QrCodeService {
@Autowired // WxCpService mainService = WxCpConfiguration.getCpService(1000037);
private PoiStoreStaffDOMapper poiStoreStaffDOMapper; // @Autowired
// private PoiStoreStaffDOMapper poiStoreStaffDOMapper;
public QrCodeVO getQrCode(QrCodeDO qrCodeDO) throws Exception { //
//获取token // public QrCodeVO getQrCode(QrCodeDO qrCodeDO) throws Exception {
String token = mainService.getAccessToken(); // //获取token
qrCodeDO.setAccess_token(token); // String token = mainService.getAccessToken();
//获取configId // qrCodeDO.setAccess_token(token);
String configId = getConfigId(qrCodeDO); // //获取configId
//获取配置实体 // String configId = getConfigId(qrCodeDO);
QrCodeVO qrCodeVO = getContactWay(token, configId); // //获取配置实体
return qrCodeVO; // QrCodeVO qrCodeVO = getContactWay(token, configId);
} // return qrCodeVO;
// }
/** //
* // /**
* // * 配置客户联系「联系我」方式
* @param qrCodeDO // *
* @return // * @param qrCodeDO
* @throws WxErrorException // * @return
*/ // * @throws WxErrorException
public String getConfigId(QrCodeDO qrCodeDO) throws WxErrorException { // */
String url = mainService.getWxCpConfigStorage().getApiUrl("/cgi-bin/externalcontact/add_contact_way"); // public String getConfigId(QrCodeDO qrCodeDO) throws WxErrorException {
String result = mainService.post(url, qrCodeDO.toJson()); // String url = mainService.getWxCpConfigStorage().getApiUrl("/cgi-bin/externalcontact/add_contact_way");
JSONObject parseObject = JSON.parseObject(result); // String result = mainService.post(url, qrCodeDO.toJson());
String configId = parseObject.getString("config_id"); // JSONObject parseObject = JSON.parseObject(result);
return configId; // String configId = parseObject.getString("config_id");
} // return configId;
// }
/** //
* // /**
* // * 获取企业已配置的「联系我」方式
* @param token // *
* @param configId // * @param token
* @return // * @param configId
* @throws WxErrorException // * @return
*/ // * @throws WxErrorException
public QrCodeVO getContactWay(String token, String configId) throws WxErrorException { // */
String url = mainService.getWxCpConfigStorage().getApiUrl("/cgi-bin/externalcontact/get_contact_way"); // public QrCodeVO getContactWay(String token, String configId) throws WxErrorException {
Map<String, Object> map = new HashMap<>(); // String url = mainService.getWxCpConfigStorage().getApiUrl("/cgi-bin/externalcontact/get_contact_way");
map.put("config_id", configId); // Map<String, Object> map = new HashMap<>();
map.put("access_token", token); // map.put("config_id", configId);
String result = mainService.post(url, JSON.toJSONString(map)); // map.put("access_token", token);
JSONObject parseObject = JSON.parseObject(result); // String result = mainService.post(url, JSON.toJSONString(map));
QrCodeVO qrCodeVO = JSONObject.parseObject(parseObject.getString("contact_way"), QrCodeVO.class); // JSONObject parseObject = JSON.parseObject(result);
return qrCodeVO; // QrCodeVO qrCodeVO = JSONObject.parseObject(parseObject.getString("contact_way"), QrCodeVO.class);
} // return qrCodeVO;
// }
/** //
* // /**
* @return // * 添加店铺人员表
* @throws WxErrorException // * @return
*/ // * @throws WxErrorException
@Transactional(rollbackFor = Exception.class) // */
public int saveStoreStaff(PoiStoreStaffDO poiStoreStaffDO) throws Exception { // @Transactional(rollbackFor = Exception.class)
return poiStoreStaffDOMapper.insert(poiStoreStaffDO); // public int saveStoreStaff(PoiStoreStaffDO poiStoreStaffDO) throws Exception {
} // return poiStoreStaffDOMapper.insert(poiStoreStaffDO);
} // }
//}

@ -6,7 +6,7 @@ import com.kiisoo.ic.common.utils.SignUtils;
import com.kiisoo.ic.common.utils.WeixinApi; import com.kiisoo.ic.common.utils.WeixinApi;
import com.kiisoo.ic.employee.entity.QrCodeDO; import com.kiisoo.ic.employee.entity.QrCodeDO;
import com.kiisoo.ic.employee.entity.QrCodeVO; import com.kiisoo.ic.employee.entity.QrCodeVO;
import com.kiisoo.ic.employee.service.QrCodeService; //import com.kiisoo.ic.employee.service.QrCodeService;
import com.kiisoo.ic.wx.entity.ContactWayDTO; import com.kiisoo.ic.wx.entity.ContactWayDTO;
import com.kiisoo.ic.wx.service.WxAccessService; import com.kiisoo.ic.wx.service.WxAccessService;
import com.kiisoo.ic.wx.service.WxLoginService; import com.kiisoo.ic.wx.service.WxLoginService;
@ -55,8 +55,8 @@ public class WxAccessController extends BaseController {
@Autowired @Autowired
private WxResponseService wxResponseService; private WxResponseService wxResponseService;
@Autowired // @Autowired
private QrCodeService qrCodeService; // private QrCodeService qrCodeService;
private String loginPageUrl = "http://localhost:8311/kiisoo-ic-ui"; private String loginPageUrl = "http://localhost:8311/kiisoo-ic-ui";
private String baseUrl = "http://jdxdev.vipgz4.idcfengye.com/kiisoo-ic"; private String baseUrl = "http://jdxdev.vipgz4.idcfengye.com/kiisoo-ic";
@ -318,9 +318,9 @@ public class WxAccessController extends BaseController {
// contactWayDTO.setState("D1"); // contactWayDTO.setState("D1");
contactWayDTO.setState("D2"); contactWayDTO.setState("D2");
QrCodeVO res = qrCodeService.getQrCode(contactWayDTO); // QrCodeVO res = qrCodeService.getQrCode(contactWayDTO);
System.out.println(res); // System.out.println(res);
return res; return null;
} catch (Exception e) { } catch (Exception e) {
//验证URL失败错误原因请查看异常 //验证URL失败错误原因请查看异常
e.printStackTrace(); e.printStackTrace();

@ -55,7 +55,7 @@ public class QWMailListManageService {
* *
*/ */
public List<WxCpDepart> syncDepartment() throws WxErrorException { public List<WxCpDepart> syncDepartment() throws WxErrorException {
wxCpService = WxCpConfiguration.getCpService(applicationid); wxCpService = WxCpConfiguration.getCpService(1);
WxCpDepartmentService departmentService = wxCpService.getDepartmentService(); WxCpDepartmentService departmentService = wxCpService.getDepartmentService();
return departmentService.list(null); return departmentService.list(null);
} }

@ -8,7 +8,7 @@ mybatis:
spring: spring:
datasource: datasource:
url: jdbc:mysql://192.168.0.215:3306/p2p?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true url: jdbc:mysql://192.168.0.215:3306/ic?characterEncoding=utf8&allowMultiQueries=true&autoReconnect=true
username: p2p username: p2p
password: p2p password: p2p
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver

Loading…
Cancel
Save