已添加1个文件
已删除28个文件
已修改15个文件
| | |
| | | # å¼åç¯å¢é
ç½® |
| | | NODE_ENV = 'development' |
| | | VUE_APP_API_URL = 'http://localhost:10010' |
| | | #VUE_APP_API_URL = 'http://localhost:10010' |
| | | VUE_APP_API_URL = 'https://lkshereporting.unilever-china.com/lianhelihua_interface' |
| | |
| | | # å
³éDEBUG |
| | | VUE_APP_DEBUG = 'off' |
| | | |
| | | VUE_APP_API_URL = 'https://dmtest.ahapp.net/lianhelihua_interface' |
| | | VUE_APP_API_URL = 'https://lkshereporting.unilever-china.com/lianhelihua_interface' |
| | |
| | | trim: true |
| | | }) |
| | | } |
| | | export function allList (data) { |
| | | return request.post('/business/company/list', encryptData(data), { |
| | | trim: true |
| | | }) |
| | | } |
| | | export function treeWithMember (data) { |
| | | return request.post('/business/company/treeWithMember', encryptData(data), { |
| | | trim: true |
| | |
| | | default-expand-all |
| | | @check-change="changeTree" |
| | | :expand-on-click-node="false" |
| | | :check-on-click-node="true" |
| | | :props="{children: 'childList',label: 'name'}"> |
| | | :check-on-click-node="false" |
| | | :props="{id:'id',children: 'childList',label: 'name',isLeaf:'isLeaf'}"> |
| | | </el-tree> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©è´è´£äººï¼" prop="memberIds" v-if="form.isMember==2" :required="true"> |
| | |
| | | import BaseOpera from '@/components/base/BaseOpera' |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { allList } from '@/api/business/member' |
| | | import { treeList } from '@/api/business/company' |
| | | import { treeList, allList as companyList } from '@/api/business/company' |
| | | import { createRoleMenu } from '@/api/system/role' |
| | | import { create } from '@/api/business/managers' |
| | | |
| | |
| | | }) |
| | | }, |
| | | methods: { |
| | | changeTree(){ |
| | | loadData (node, resolve) { |
| | | console.log(node) |
| | | if(!node.hasChildren || (node.childList && node.childList.length >0)){ |
| | | return |
| | | } |
| | | companyList({ parentId: node.id }) |
| | | .then(res => { |
| | | node.childList = res |
| | | }) |
| | | }, |
| | | changeTree (node) { |
| | | const selectedMenus = this.$refs.tree.getCheckedNodes(false, true) |
| | | this.form.companyIds = selectedMenus.map(menu => menu.id) |
| | | console.log(this.form.companyIds) |
| | |
| | | .then(res => { |
| | | if (res && res.length > 0) { |
| | | res[0].fsStatus = 1 |
| | | res[0].isLeaf = res[0].hasChildren |
| | | this.companyTree = res |
| | | // æ¾åºå¶èç¹ |
| | | this.companyTree = this.companyTree.filter(menu => this.companyTree .findIndex(m => m.parentId === menu.id) === -1) |
| | | // this.companyTree = this.companyTree.filter(menu => this.companyTree.findIndex(m => m.parentId === menu.id) === -1) |
| | | console.log(res) |
| | | // this.searchForm.erpOrgId = res[0].erpId |
| | | } |
| | |
| | | <div class="tree"> |
| | | <div v-for="(item, index) of list" :key="index" @click.stop="clickIten(item)"> |
| | | <div class="tree_item"> |
| | | <i class="el-icon-caret-bottom" :class="{ 'activeColor': item.actived === 1 }" v-show="item.fsStatus === 1 && item.childList.length > 0"></i> |
| | | <i class="el-icon-caret-right color" v-show="item.childList.length > 0 && (item.fsStatus === 0 || !item.fsStatus)"></i> |
| | | <div class="tree_item_label long-title-style" :title="item.name" :class="{ 'activeColor': item.actived === 1 }">{{ item.name }}</div> |
| | | <i class="el-icon-caret-bottom" :class="{ 'activeColor': item.fsStatus === 1 }" v-show="item.fsStatus === 1 && item.childList && item.childList.length > 0"></i> |
| | | <i class="el-icon-caret-right color" v-show="item.childList && item.childList.length > 0 && (item.fsStatus === 0 || !item.fsStatus)"></i> |
| | | <div class="tree_item_label long-title-style" :title="item.name" :class="{ 'activeColor': item.fsDate === 1 && item.childList && item.childList.length === 0 }">{{ item.name }}</div> |
| | | <!-- <i class="el-icon-caret-bottom" :class="{ 'activeColor': item[defaultProps.status] }" v-show="item[defaultProps.status] && item[defaultProps.children]"></i>--> |
| | | <!-- <i class="el-icon-caret-right color" v-show="item[defaultProps.children] && !item[defaultProps.status]"></i>--> |
| | | <!-- <div class="tree_item_label long-title-style" :title="item[defaultProps.name]" :class="{ 'activeColor': item[defaultProps.status] && !item[defaultProps.children] }">{{ item[defaultProps.name] }}</div>--> |
| | | </div> |
| | | <div class="tree_childern" v-show="item.fsStatus === 1"> |
| | | <tree |
| | | :list="item.childList" |
| | | :alllist="alllist" |
| | | :defaultProps="defaultProps" |
| | | @callback="callback" |
| | | /> |
| | |
| | | name: 'tree', |
| | | props: { |
| | | list: { |
| | | type: Array, |
| | | required: false, |
| | | default: () => [] |
| | | }, |
| | | alllist: { |
| | | type: Array, |
| | | required: false, |
| | | default: () => [] |
| | |
| | | } |
| | | }, |
| | | methods: { |
| | | listForList(){ |
| | | // console.log('===============================',this.alllist) |
| | | }, |
| | | // ç¹å»å½å项 |
| | | clickIten (item) { |
| | | // this.listForList() |
| | | // item[this.defaultProps.status] = !item[this.defaultProps.status] |
| | | // this.list.forEach(subItem => { |
| | | // if ((subItem[this.defaultProps.id] !== item[this.defaultProps.id] && subItem[this.defaultProps.status]) || (this.list.length === 1 && subItem[this.defaultProps.status] === false)) { |
| | | // subItem[this.defaultProps.status] = false |
| | | // if (subItem[this.defaultProps.children]) { |
| | | // this.recursion(subItem[this.defaultProps.children]) |
| | | // } |
| | | // } |
| | | // }) |
| | | // if (this.tempItem['id'] === item[this.defaultProps.id]) { |
| | | // this.tempItem = { |
| | | // id: null, |
| | | // name: null, |
| | | // erpId: null |
| | | // } |
| | | // } else { |
| | | // this.tempItem.id = item[this.defaultProps.id] |
| | | // this.tempItem.name = item[this.defaultProps.name] |
| | | // this.tempItem.erpId = item['erpId'] |
| | | // } |
| | | // item.fsDate === 0 || !item.fsDate ? item.fsDate = 1 : item.fsDate = 0 |
| | | const fsDate = item.fsDate === 0 || !item.fsDate ? 1 : 0 |
| | | this.alllist.forEach(i => { |
| | | this.list.forEach(i => { |
| | | i.fsDate = 0 |
| | | i.actived = 0 |
| | | this.recursion1(i.childList) |
| | | }) |
| | | item.fsDate = fsDate |
| | | item.actived = 1 |
| | | if (item.childList.length > 0) { |
| | | item.fsStatus === 0 || !item.fsStatus ? item.fsStatus = 1 : item.fsStatus = 0 |
| | | } |
| | | this.$emit('callback', item, item) |
| | | }, |
| | | recursion1 (children) { |
| | | if (!children || children.length === 0){ |
| | | return |
| | | } |
| | | // é彿¹æ³ |
| | | recursion (children) { |
| | | children.forEach(item => { |
| | | item.actived = 0 |
| | | if (item.childList && item.childList.length > 0) { |
| | | this.recursion1(item.childList) |
| | | item.fsDate = 0 |
| | | if (item.childList.length > 0) { |
| | | this.recursion(item.childList) |
| | | } |
| | | // item[this.defaultProps.status] = false |
| | | // if (item[this.defaultProps.children]) { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="tree"> |
| | | <div v-for="(item, index) of list" :key="index" @click.stop="clickIten(item)"> |
| | | <div class="tree_item"> |
| | | <i class="el-icon-caret-bottom" :class="{ 'activeColor': item.actived === 1 }" v-show="item.fsStatus === 1 && item.hasChildren"></i> |
| | | <i class="el-icon-caret-right color" v-show="item.hasChildren && (item.fsStatus === 0 || !item.fsStatus)"></i> |
| | | <div class="tree_item_label long-title-style" :title="item.name" :class="{ 'activeColor': item.actived === 1 }">{{ item.name }}</div> |
| | | </div> |
| | | <div class="tree_childern" v-show="item.fsStatus === 1"> |
| | | <tree |
| | | :list="item.childList" |
| | | :alllist="alllist" |
| | | :defaultProps="defaultProps" |
| | | @callback="callback" |
| | | /> |
| | | <!-- @callback="callback" --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | // import Bus from '@/utils/eventBus' |
| | | export default { |
| | | name: 'tree', |
| | | props: { |
| | | list: { |
| | | type: Array, |
| | | required: false, |
| | | default: () => [] |
| | | }, |
| | | alllist: { |
| | | type: Array, |
| | | required: false, |
| | | default: () => [] |
| | | }, |
| | | defaultProps: { |
| | | type: Object, |
| | | require: false, |
| | | default: () => { |
| | | return { |
| | | name: 'name', |
| | | status: 'status', |
| | | children: 'children', |
| | | id: 'id', |
| | | erpId: 'erpId' |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | tempItem: { |
| | | id: null, |
| | | name: null, |
| | | erpId: null |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | listForList(){ |
| | | // console.log('===============================',this.alllist) |
| | | }, |
| | | // ç¹å»å½å项 |
| | | clickIten (item) { |
| | | // this.listForList() |
| | | const fsDate = item.fsDate === 0 || !item.fsDate ? 1 : 0 |
| | | this.alllist.forEach(i => { |
| | | i.fsDate = 0 |
| | | i.actived = 0 |
| | | this.recursion1(i.childList) |
| | | }) |
| | | item.fsDate = fsDate |
| | | item.actived = 1 |
| | | if (item.hasChildren > 0) { |
| | | item.fsStatus === 0 || !item.fsStatus ? item.fsStatus = 1 : item.fsStatus = 0 |
| | | } |
| | | this.$emit('callback', item, item) |
| | | }, |
| | | recursion1 (children) { |
| | | if (!children || children.length === 0){ |
| | | return |
| | | } |
| | | children.forEach(item => { |
| | | item.actived = 0 |
| | | if (item.hasChildren) { |
| | | this.recursion1(item.childList) |
| | | } |
| | | // item[this.defaultProps.status] = false |
| | | // if (item[this.defaultProps.children]) { |
| | | // this.recursion(item[this.defaultProps.children]) |
| | | // } |
| | | }) |
| | | }, |
| | | callback (data, item) { |
| | | if (this.tempItem.id === data.id) { |
| | | this.tempItem = {} |
| | | } else { |
| | | this.tempItem.id = data.id |
| | | this.tempItem.name = data.name |
| | | } |
| | | this.$emit('callback', data, item) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .tree { |
| | | /*width: 100%;*/ |
| | | /*height: auto;*/ |
| | | /*border-radius: 5px;*/ |
| | | /*overflow: hidden;*/ |
| | | /*border: 1px solid #eeeeee;*/ |
| | | /*box-sizing: border-box;*/ |
| | | .tree_childern { |
| | | margin-left: 20px; |
| | | } |
| | | .activeItem { |
| | | background: #F4F7FC; |
| | | } |
| | | .tree_item { |
| | | display: flex; |
| | | align-items: center; |
| | | height: 48px; |
| | | cursor: pointer; |
| | | padding-left: 10px; |
| | | .tree_item_label { |
| | | font-size: 14px; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | white-space: nowrap; |
| | | } |
| | | i { |
| | | margin-right: 5px; |
| | | } |
| | | .color { |
| | | color: #999999 !important; |
| | | } |
| | | .activeColor { |
| | | color: #305ED5 !important; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <ul class="toolbar" v-permissions="['business:company:create', 'business:company:sync']"> |
| | | <li><el-button type="primary" v-permissions="['business:company:create']" :loading="loading" @click="synchronous()">å
¨é忥ä¼ä¸å¾®ä¿¡ç»ç»</el-button></li> |
| | | </ul> |
| | | <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="list" stripe |
| | | :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }" row-key="id" |
| | | @selection-change="handleSelectionChange" default-expand-all> |
| | | <el-table :height="tableHeightNew" |
| | | v-loading="isWorking.search" |
| | | :data="list" |
| | | stripe |
| | | lazy |
| | | :load="loadData" |
| | | :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }" |
| | | row-key="id" |
| | | @selection-change="handleSelectionChange" |
| | | :default-expand-all="false"> |
| | | <el-table-column prop="name" label="ç»ç»åç§°" min-width="100px"></el-table-column> |
| | | <el-table-column prop="namePath" label="ç»ç»è·¯å¾" min-width="100px"></el-table-column> |
| | | <el-table-column prop="qwId" label="ä¼ä¸å¾®ä¿¡æ è¯" min-width="100px"></el-table-column> |
| | |
| | | <script> |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout from '@/layouts/TableLayout' |
| | | import { companySync } from '@/api/business/company' |
| | | import {allList, companySync} from '@/api/business/company' |
| | | export default { |
| | | name: 'internalCompany', |
| | | extends: BaseTable, |
| | |
| | | }, |
| | | methods: { |
| | | // 页ç åæ´å¤ç |
| | | handlePageChange (pageIndex) { |
| | | handlePageChange (pid) { |
| | | this.__checkApi() |
| | | this.isWorking.search = true |
| | | this.api.treeList({}) |
| | | this.api.allList({parentId:pid}) |
| | | .then(data => { |
| | | console.log(data) |
| | | this.list = data |
| | | }) |
| | | .catch(e => { |
| | |
| | | this.isWorking.search = false |
| | | }) |
| | | }, |
| | | // è·ååçº§æ°æ® |
| | | loadData (row, treeNode, resolve) { |
| | | console.log(row, treeNode) |
| | | this.api.allList({parentId: row.id}) |
| | | .then(data => { |
| | | resolve(data) |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.isWorking.search = false |
| | | }) |
| | | }, |
| | | // åæ¥ä¿¡æ¯ |
| | | async synchronous () { |
| | | this.$dialog.actionConfirm(' æ¨ç¡®è®¤åæ¥å
¨é¨ä¿¡æ¯åï¼', 'æä½ç¡®è®¤æé') |
| | |
| | | style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;"> |
| | | ä¼ä¸ç»ç»</div> |
| | | <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;"> |
| | | <Tree :list="companyTree" :alllist="companyTree" :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }" |
| | | <Tree :list="companyTree" :alllist="companyTree" |
| | | :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }" |
| | | @callback="callback" /> |
| | | </div> |
| | | </template> |
| | |
| | | import BaseTable from '@/components/base/BaseTable' |
| | | import TableLayout1 from '@/layouts/TableLayout1' |
| | | import Pagination from '@/components/common/Pagination' |
| | | import Tree from '@/components/common/Tree' |
| | | import Tree from '@/components/common/TreeNew' |
| | | import OperaMemberWindow from '@/components/business/OperaMemberWindow' |
| | | import { treeList } from '@/api/business/company' |
| | | import { allList,treeList } from '@/api/business/company' |
| | | import { memberSync} from '@/api/business/member' |
| | | export default { |
| | | name: 'internalMember', |
| | |
| | | data() { |
| | | return { |
| | | TreeList: [], |
| | | defaultExpanedKeys:null, |
| | | // æç´¢ |
| | | searchForm: { |
| | | name: '' , |
| | |
| | | loading: false, |
| | | heading: false, |
| | | working: false, |
| | | dataList: [], |
| | | companyTree: [], |
| | | department: [] |
| | | } |
| | |
| | | methods: { |
| | | // è·åç»ç»æ |
| | | getfindCompanyTreePage() { |
| | | treeList({}) |
| | | allList({}) |
| | | .then(res => { |
| | | console.log(res) |
| | | if (res && res.length > 0) { |
| | | res[0].fsStatus = 1 |
| | | this.getCompanyList(res[0]) |
| | | this.companyTree = res |
| | | this.search() |
| | | this.department = this.getDepartmentTree(res) |
| | | // this.department = this.getDepartmentTree(res) |
| | | } |
| | | }) |
| | | }, |
| | | getCompanyList(row){ |
| | | allList({parentId:row.id}) |
| | | .then(res => { |
| | | console.log(res) |
| | | if (res && res.length > 0) { |
| | | row.childList = res |
| | | } |
| | | }) |
| | | }, |
| | |
| | | this.searchForm.erpOrgId = row.erpId |
| | | this.searchForm.companyId = row.id |
| | | this.search() |
| | | if(row.hasChildren && (row.childList == null || row.childList.length == 0)){ |
| | | this.getCompanyList(row) |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | <!-- <img src="@/assets/icons/home_icon3.png" alt="" />--> |
| | | </div> |
| | | <div class="content"> |
| | | <div>符å项ï¼{{ headerData.dcaNoNum || 0}}</div> |
| | | <div>ä¸ç¬¦å项ï¼{{ headerData.dcaYesNum || 0}}</div> |
| | | <div>符å项ï¼{{ headerData.dcaYesNum || 0}}</div> |
| | | <div>ä¸ç¬¦å项ï¼{{ headerData.dcaNoNum || 0}}</div> |
| | | <div>æ»ä¸æ¥æ¬¡æ°ï¼{{ headerData.dcaNum || 0}}</div> |
| | | </div> |
| | | </div> |
| | |
| | | public ApiResponse<List<Company>> tree (@RequestBody Company company){ |
| | | return ApiResponse.success(companyService.companyTree()); |
| | | } |
| | | @ApiOperation("æ ¹æ®ç¶çº§æ¥è¯¢éå") |
| | | @PostMapping("/list") |
| | | @EncryptionResp |
| | | @EncryptionReq |
| | | @RequiresPermissions("business:company:query") |
| | | public ApiResponse<List<Company>> list (@RequestBody Company company){ |
| | | return ApiResponse.success(companyService.findList(company)); |
| | | } |
| | | @ApiOperation("ç»ç»æ æ¥è¯¢") |
| | | @PostMapping("/treeWithMember") |
| | | @EncryptionResp |
| | |
| | | @ApiOperation(value = "æ¹éä¸ä¼ æä»¶å°FTP") |
| | | @RequestMapping(method= RequestMethod.POST,value="/uploadBatch") |
| | | @ResponseBody |
| | | // public void uploadBatch(@RequestParam("files") MultipartFile[] fileList,HttpServletRequest request, HttpServletResponse response, String folder) throws Exception { |
| | | public void uploadBatch(MultipartRequest request, HttpServletResponse response, String folder) throws Exception { |
| | | if(Objects.isNull(folder)){ |
| | | throw new BusinessException(ResponseStatus.BAD_REQUEST); |
| | |
| | | @ApiModelProperty(value = "人åç¼ç ï¼å
³èmember", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer memberId; |
| | | @ApiModelProperty(value = "ä¸çº§é¨é¨æ°é", example = "1") |
| | | @TableField(exist = false) |
| | | private Integer childNum; |
| | | |
| | | } |
| | |
| | | package com.doumee.service.business.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | |
| | | |
| | | @Override |
| | | public List<Company> findList(Company company) { |
| | | QueryWrapper<Company> wrapper = new QueryWrapper<>(company); |
| | | return companyMapper.selectList(wrapper); |
| | | MPJLambdaWrapper<Company> wrapper = new MPJLambdaWrapper<Company>(); |
| | | wrapper.selectAll(Company.class ) |
| | | .select(" (select count(1) from company t1 where t1.isdeleted=0 and t1.parent_id = t.id )",Company::getChildNum) |
| | | .isNull(company.getParentId()==null,Company::getParentId) |
| | | .eq(company.getParentId()!=null,Company::getParentId,company.getParentId()) |
| | | .eq(Company::getIsdeleted,Constants.ZERO) |
| | | .orderByAsc(Company::getName); |
| | | List<Company> companyList = companyMapper.selectJoinList(Company.class,wrapper); |
| | | |
| | | if(companyList.size()>0){ |
| | | for (Company c : companyList){ |
| | | c.setHasChildren(Constants.formatIntegerNum(c.getChildNum())>0); |
| | | } |
| | | } |
| | | return companyList; |
| | | } |
| | | |
| | | @Override |
| | |
| | | queryWrapper.leftJoin(Company.class,Company::getId,Company::getParentId); |
| | | queryWrapper.leftJoin(SystemUser.class,SystemUser::getId,Company::getEditor); |
| | | queryWrapper.eq(Company::getIsdeleted,Constants.ZERO); |
| | | queryWrapper.orderByAsc( "t.code"); |
| | | queryWrapper.orderByAsc( "t.name"); |
| | | List<Company> companyList = companyMapper.selectJoinList(Company.class,queryWrapper); |
| | | List<CompanyMember> memberList = null; |
| | | if(type == 1){ |
| | |
| | | .selectAs(Member::getName,CompanyMember::getMemberName) |
| | | .leftJoin(Member.class,Member::getId,CompanyMember::getMemberId) |
| | | .eq(Member::getIsdeleted,Constants.ZERO ) |
| | | .eq(CompanyMember::getIsdeleted,Constants.ZERO )); |
| | | .eq(CompanyMember::getIsdeleted,Constants.ZERO ) |
| | | .orderByAsc(Member::getName)); |
| | | } |
| | | CompanyTree treeBuild = new CompanyTree(companyList, 0,memberList); |
| | | companyList = treeBuild.buildTree(); |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.github.yulichang.wrapper.MPJLambdaWrapper; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.shiro.SecurityUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.data.redis.core.RedisTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestHeader; |
| | |
| | | * @since 2025/04/02 17:49 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class MemberServiceImpl implements MemberService { |
| | | |
| | | @Resource(name="sessionRedisTemplate") |
| | |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void syncQwAll(){ |
| | | if(Constants.DEALING_MEMBER_SYNC){ |
| | | throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"对ä¸èµ·ï¼åæ¥ä»»å¡æ£å¨è¿è¡ï¼è¯·ç¨åå·æ°é¡µé¢éè¯ï¼"); |
| | |
| | | LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); |
| | | Date date = new Date(); |
| | | List<QywxUserListResponse> list = new ArrayList<>(); |
| | | int index =0; |
| | | for(Company c : companyList){ |
| | | List<QywxUserListResponse> tList = QywxUtil.getUserList(systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(),c.getQwId()); |
| | | if(tList!=null){ |
| | | log.error((index++)+"==============="+c.getName()+"============äººåæ°éï¼"+tList.size()); |
| | | list.addAll(tList); |
| | | }else{ |
| | | log.error((index++)+"==============="+c.getName()+"============äººåæ°éï¼0"); |
| | | } |
| | | } |
| | | if(list == null || list.size() ==0){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªåæ¥å°ä»»ä½ç»ç»ä¿¡æ¯ï¼"); |
| | | } |
| | | log.error( "###################=================äººåæ»æ°éï¼"+list.size()); |
| | | List<Member> memberList = memberMapper.selectList(new LambdaQueryWrapper<Member>().eq(Member::getIsdeleted,Constants.ZERO)); |
| | | List<Member> newList = new ArrayList<>(); |
| | | List<Member> updateList = new ArrayList<>(); |
| | |
| | | env: production |
| | | # 模å¼ï¼testingæµè¯æ¨¡å¼ |
| | | mode: production |
| | | |
| | | # WEBæå¡å¨é
ç½® |
| | | server: |
| | | port: 10010 |
| | | port: 10040 |
| | | |
| | | spring: |
| | | # æ°æ®æºé
ç½® |
| | | datasource: |
| | | url: jdbc:mysql://solution-cnn3-d-shereport-db-mysql01.mysql.database.chinacloudapi.cn:3306/lianhelihua?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai |
| | | url: jdbc:mysql://solution-cnn3-p-shereport-db-mysql01.mysql.database.chinacloudapi.cn:3306/lianhelihua?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai |
| | | username: service_account |
| | | password: yP5@jJzqME63 |
| | | password: vW3&QbcdMSyF |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | type: com.alibaba.druid.pool.DruidDataSource |
| | | redis: |
| | |
| | | jackson: |
| | | time-zone: GMT+8 |
| | | date-format: yyyy-MM-dd HH:mm:ss |
| | | # mail: |
| | | # username: jiangping0849@outlook.com |
| | | # password: mwzaislgioyhxnig |
| | | # host: smtp-mail.outlook.com |
| | | # port: 587 |
| | | # default-encoding: UTF-8 |
| | | # properties: |
| | | # mail: |
| | | # debug: true |
| | | # smtp: |
| | | # ssl: |
| | | # socketFactory: |
| | | # class: com.sun.mail.util.MailSSLSocketFactory |
| | | # fallback: false |
| | | # auth: true |
| | | # starttls: |
| | | # enable: true |
| | | # required: true |
| | | mail: |
| | | host: smtp.aliyun.com |
| | | port: 465 |
| | | username: your_email@aliyun.com |
| | | password: your_password |
| | | host: smtpdm.aliyun.com |
| | | username: lkshereport@mail.unilever-china.com |
| | | password: f2fLk384RChX |
| | | default-encoding: UTF-8 |
| | | port: 80 |
| | | properties: |
| | | mail: |
| | | smtp: |
| | |
| | | starttls: |
| | | enable: true |
| | | required: true |
| | | ssl: |
| | | enable: true |
| | | |
| | | debug_model: true |
| | | |
| | | # Swaggeré
ç½® |
| | | swagger: |
| | | host: 127.0.0.1 |
| | | host: |
| | | title: ${project.name}æ¥å£ææ¡£ |
| | | description: ${project.name}æ¥å£ææ¡£ |
| | | # å¯ç¨Swaggerï¼ç产ç¯å¢å»ºè®®å
³é |
| | | enabled: true |
| | | context-path: |
| | | # å¯ç¨swaggerå å¯ |
| | | enable-encrypt: true |
| | | # ç¦ç¨swaggeræ¶çéå®åå°å |
| | | redirect-uri: / |
| | | |
| | | des_pwd: 123456SDFKDJF |
| | | |
| | | des_pwd: 123456SDFKDJF |
| | | knife4j: |
| | | enable: true |
| | | basic: |
| | | enable: true |
| | | username: admin |
| | | password: |
| | | password: Doumee@168 |
| | | |
| | | |
| | | upload: |
| | | type: blob |
| | | |
| | | qiwei: |
| | | serviceurl: https://wecom-qyapi.unilever-china.com/ |
| | | serviceurl: https://wecom-qyapi.unilever-china.com |
| | |
| | | |
| | | spring: |
| | | profiles: |
| | | active: test |
| | | active: pro |
| | | # JSONè¿åé
ç½® |
| | | jackson: |
| | | # é»è®¤æ¶åº |