diff --git a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysOrderController.java b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysOrderController.java index b37066e62..eb600ec82 100644 --- a/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysOrderController.java +++ b/stdiet-admin/src/main/java/com/stdiet/web/controller/custom/SysOrderController.java @@ -5,7 +5,7 @@ import com.stdiet.common.annotation.Log; import com.stdiet.common.core.domain.AjaxResult; import com.stdiet.common.core.domain.entity.SysUser; import com.stdiet.common.enums.BusinessType; -import com.stdiet.common.utils.DateUtils; +import com.stdiet.common.utils.SecurityUtils; import com.stdiet.common.utils.StringUtils; import com.stdiet.common.utils.poi.ExcelUtil; import com.stdiet.custom.controller.OrderBaseController; @@ -21,7 +21,6 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.net.URLDecoder; -import java.time.temporal.ChronoUnit; import java.util.List; /** @@ -50,6 +49,11 @@ public class SysOrderController extends OrderBaseController { public OrderTableDataInfo list(SysOrder sysOrder) { startPage(); dealOrderType(sysOrder); + String remark = SecurityUtils.getLoginUser().getUser().getRemark(); + if (StringUtils.isNotEmpty(remark) && remark.contains("|") && StringUtils.isEmpty(sysOrder.getAccount())) { + sysOrder.setAccRange(remark.split("\\|")); + } + List list = sysOrderService.selectSysOrderList(sysOrder); List userList = userService.selectAllUser(); BigDecimal totalAmount = sysOrderService.selectAllOrderAmount(sysOrder); @@ -57,30 +61,25 @@ public class SysOrderController extends OrderBaseController { totalAmount = new BigDecimal(0); } for (SysOrder order : list) { - initUserNickNameAndOrderType(userList,order); + initUserNickNameAndOrderType(userList, order); if (StringUtils.isNotEmpty(order.getPhone())) { order.setPhone(StringUtils.hiddenPhoneNumber(order.getPhone())); } - /*//根据服务时长、赠送天数计算服务天数 - int month = order.getServeTimeId() != null ? order.getServeTimeId().intValue() / 30 : 0; - if (order.getStartTime() != null && order.getServerEndTime() != null && order.getServeTimeId() != null && month > 0) { - long serverDay = ChronoUnit.DAYS.between(DateUtils.dateToLocalDate(order.getStartTime()), DateUtils.dateToLocalDate(order.getStartTime()).plusMonths(month).plusDays(order.getGiveServeDay() == null ? 0 : order.getGiveServeDay())) + 1; - order.setServerDay(Integer.parseInt(serverDay + "")); - }*/ } return getOrderDataTable(list, totalAmount); } /** * 处理订单类型 + * * @param sysOrder */ private void dealOrderType(SysOrder sysOrder) { - if(StringUtils.isNotEmpty(sysOrder.getOrderType())){ + if (StringUtils.isNotEmpty(sysOrder.getOrderType())) { try { - JSONArray array = JSONArray.parseArray(URLDecoder.decode(sysOrder.getOrderType(),"UTF-8")); + JSONArray array = JSONArray.parseArray(URLDecoder.decode(sysOrder.getOrderType(), "UTF-8")); sysOrder.setSearchOrderTypeArray(array.size() > 0 ? array : null); - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); } } @@ -96,7 +95,7 @@ public class SysOrderController extends OrderBaseController { List list = sysOrderService.selectSysOrderList(sysOrder); List userList = userService.selectAllUser(); for (SysOrder order : list) { - initUserNickNameAndOrderType(userList,order); + initUserNickNameAndOrderType(userList, order); if (StringUtils.isNotEmpty(order.getPhone())) { order.setPhone(StringUtils.hiddenPhoneNumber(order.getPhone())); } @@ -123,12 +122,12 @@ public class SysOrderController extends OrderBaseController { SysOrder order = sysOrderService.selectSysOrderById(orderId); if (order != null) { List userList = userService.selectAllUser(); - initUserNickNameAndOrderType(userList,order); + initUserNickNameAndOrderType(userList, order); } return AjaxResult.success(order); } - private void initUserNickNameAndOrderType(List userList, SysOrder order){ + private void initUserNickNameAndOrderType(List userList, SysOrder order) { for (SysUser user : userList) { if (user.getUserId().equals(order.getPreSaleId())) { order.setPreSale(user.getNickName()); diff --git a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysOrder.java b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysOrder.java index f9a1d712f..82cd80faf 100644 --- a/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysOrder.java +++ b/stdiet-custom/src/main/java/com/stdiet/custom/domain/SysOrder.java @@ -134,6 +134,8 @@ public class SysOrder extends BaseEntity { @Excel(name = "账号") private String account; + private String[] accRange; + /** * 策划 */ diff --git a/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml b/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml index ca57a9eff..3ecbb19ed 100644 --- a/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml +++ b/stdiet-custom/src/main/resources/mapper/custom/SysOrderMapper.xml @@ -41,14 +41,14 @@ - - - - - - - - + + + + + + + + @@ -73,7 +73,7 @@ - + ( @@ -99,8 +99,14 @@ and (customer like concat('%',#{customer},'%') or phone like concat('%',#{customer},'%')) + + and account_id in + + #{acc} + + and cus_id = #{cusId} - + and status = #{status} and pay_type_id = #{payTypeId} and pre_sale_id = #{preSaleId} @@ -113,8 +119,12 @@ and operator_id = #{operatorId} and operator_assis_id = #{operatorAssisId} and recommender = #{recommender} - and date_format(order_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') - and date_format(order_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + and date_format(order_time,'%y%m%d') >= + date_format(#{beginTime},'%y%m%d') + + and date_format(order_time,'%y%m%d') <= + date_format(#{endTime},'%y%m%d') + and serve_time_id = #{serveTimeId} and review_status = #{reviewStatus} @@ -141,7 +151,13 @@ and (sc.name like concat('%',#{customer},'%') or sc.phone like concat('%',#{customer},'%')) - and cus_id = #{cusId} + + and account_id in + + #{acc} + + + and cus_id = #{cusId} and sc.phone = #{phone} and status = #{status} and pay_type_id = #{payTypeId} @@ -155,8 +171,12 @@ and operator_id = #{operatorId} and operator_assis_id = #{operatorAssisId} and recommender = #{recommender} - and date_format(order_time,'%y%m%d') >= date_format(#{beginTime},'%y%m%d') - and date_format(order_time,'%y%m%d') <= date_format(#{endTime},'%y%m%d') + and date_format(order_time,'%y%m%d') >= + date_format(#{beginTime},'%y%m%d') + + and date_format(order_time,'%y%m%d') <= + date_format(#{endTime},'%y%m%d') + and serve_time_id = #{serveTimeId} and review_status = #{reviewStatus} @@ -319,10 +339,10 @@ - - - - + + + + @@ -362,14 +382,14 @@ - - - - - - - - + + + + + + + + @@ -378,17 +398,17 @@ - - - - - - - - - - - + + + + + + + + + + + - select o.order_id,o.order_time,o.commiss_start_time,o.server_end_time,o.customer,o.review_status,o.amount,o.serve_time_id,o.give_serve_day,o.after_sale_id,su_sale.nick_name as afterSale_name,o.nutritionist_id,su_nutritionist.nick_name as nutritionist_name - from sys_order o - left join sys_user su_sale on su_sale.user_id = o.after_sale_id and su_sale.del_flag = 0 - left join sys_user su_nutritionist on su_nutritionist.user_id = o.nutritionist_id and su_nutritionist.del_flag = 0 - where o.order_time >= '2021-01-01' and o.del_flag = 0 and (su_sale.user_id is not null OR su_nutritionist.user_id is not null) - and o.amount is not null - - and review_status = #{reviewStatus} - - - and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}) - - - AND DATE_FORMAT(o.order_time,'%Y-%m-%d') <= #{endTime} - - - AND #{serverScopeEndTime} >= DATE_FORMAT(o.commiss_start_time,'%Y-%m-%d') - - order by o.order_time desc - - - - + + + - SELECT s.yearMonth,SUM(s.amount) AS totalAmount FROM ( - SELECT CONCAT(YEAR(o.order_time),'',MONTH(o.order_time)) AS yearMonth,o.amount - FROM sys_order o - LEFT JOIN sys_user su_sale ON su_sale.user_id = o.after_sale_id AND su_sale.del_flag = 0 - LEFT JOIN sys_user su_nutritionist ON su_nutritionist.user_id = o.nutritionist_id AND su_nutritionist.del_flag = 0 - where o.order_time >= '2021-01-01' and o.del_flag = 0 and (su_sale.user_id is not null OR su_nutritionist.user_id is not null) - and o.amount is not null - + SELECT CONCAT(YEAR(o.order_time),'',MONTH(o.order_time)) AS yearMonth,o.amount + FROM sys_order o + LEFT JOIN sys_user su_sale ON su_sale.user_id = o.after_sale_id AND su_sale.del_flag = 0 + LEFT JOIN sys_user su_nutritionist ON su_nutritionist.user_id = o.nutritionist_id AND su_nutritionist.del_flag = + 0 + where o.order_time >= '2021-01-01' and o.del_flag = 0 and (su_sale.user_id is not null OR + su_nutritionist.user_id is not null) + and o.amount is not null + and o.review_status = #{reviewStatus} - - + + and (su_sale.user_id = #{userId} or su_nutritionist.user_id = #{userId}) - - + + AND DATE_FORMAT(o.order_time,'%Y-%m-%d') <= #{endTime} - - ORDER BY o.order_time ASC + + ORDER BY o.order_time ASC ) s GROUP BY s.yearMonth diff --git a/stdiet-ui/src/store/getters.js b/stdiet-ui/src/store/getters.js index 9b1577285..8550c09d2 100644 --- a/stdiet-ui/src/store/getters.js +++ b/stdiet-ui/src/store/getters.js @@ -11,6 +11,7 @@ const getters = { roles: state => state.user.roles, permissions: state => state.user.permissions, userId: state => state.user.userId, + userRemark: state => state.user.remark, permission_routes: state => state.permission.routes, // nutritionistIdOptions: state => state.global.nutritionistIdOptions, diff --git a/stdiet-ui/src/store/modules/user.js b/stdiet-ui/src/store/modules/user.js index 2ec9804d5..e84c27d88 100644 --- a/stdiet-ui/src/store/modules/user.js +++ b/stdiet-ui/src/store/modules/user.js @@ -1,100 +1,117 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken } from '@/utils/auth' +import { login, logout, getInfo } from "@/api/login"; +import { getToken, setToken, removeToken } from "@/utils/auth"; const user = { state: { token: getToken(), - name: '', - avatar: '', + name: "", + avatar: "", + remark: "", roles: [], permissions: [] }, mutations: { SET_TOKEN: (state, token) => { - state.token = token + state.token = token; }, SET_NAME: (state, name) => { - state.name = name + state.name = name; }, SET_AVATAR: (state, avatar) => { - state.avatar = avatar + state.avatar = avatar; }, SET_ROLES: (state, roles) => { - state.roles = roles + state.roles = roles; }, SET_PERMISSIONS: (state, permissions) => { - state.permissions = permissions + state.permissions = permissions; }, SET_USERID: (state, userId) => { - state.userId = userId + state.userId = userId; + }, + SET_REMARK: (state, remark) => { + state.remark = remark; } }, actions: { // 登录 Login({ commit }, userInfo) { - const username = userInfo.username.trim() - const password = userInfo.password - const code = userInfo.code - const uuid = userInfo.uuid + const username = userInfo.username.trim(); + const password = userInfo.password; + const code = userInfo.code; + const uuid = userInfo.uuid; return new Promise((resolve, reject) => { - login(username, password, code, uuid).then(res => { - setToken(res.token) - commit('SET_TOKEN', res.token) - resolve() - }).catch(error => { - reject(error) - }) - }) + login(username, password, code, uuid) + .then(res => { + setToken(res.token); + commit("SET_TOKEN", res.token); + resolve(); + }) + .catch(error => { + reject(error); + }); + }); }, // 获取用户信息 GetInfo({ commit, state }) { return new Promise((resolve, reject) => { - getInfo(state.token).then(res => { - const user = res.user - const avatar = user.avatar == "" ? require("@/assets/image/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar; - if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组 - commit('SET_ROLES', res.roles) - commit('SET_PERMISSIONS', res.permissions) - } else { - commit('SET_ROLES', ['ROLE_DEFAULT']) - } - commit('SET_NAME', user.userName) - commit('SET_AVATAR', avatar) - commit('SET_USERID', user.userId) - resolve(res) - }).catch(error => { - reject(error) - }) - }) + getInfo(state.token) + .then(res => { + const user = res.user; + const avatar = + user.avatar == "" + ? require("@/assets/image/profile.jpg") + : process.env.VUE_APP_BASE_API + user.avatar; + if (res.roles && res.roles.length > 0) { + // 验证返回的roles是否是一个非空数组 + commit("SET_ROLES", res.roles); + commit("SET_PERMISSIONS", res.permissions); + } else { + commit("SET_ROLES", ["ROLE_DEFAULT"]); + } + commit("SET_NAME", user.userName); + commit("SET_AVATAR", avatar); + commit("SET_USERID", user.userId); + commit("SET_REMARK", user.remark); + resolve(res); + }) + .catch(error => { + reject(error); + }); + }); }, // 退出系统 LogOut({ commit, state }) { return new Promise((resolve, reject) => { - logout(state.token).then(() => { - commit('SET_TOKEN', '') - commit('SET_ROLES', []) - commit('SET_PERMISSIONS', []) - removeToken() - resolve() - }).catch(error => { - reject(error) - }) - }) + logout(state.token) + .then(() => { + commit("SET_TOKEN", ""); + commit("SET_ROLES", []); + commit("SET_PERMISSIONS", []); + commit("SET_USERID", ""); + commit("SET_REMARK", ""); + removeToken(); + resolve(); + }) + .catch(error => { + reject(error); + }); + }); }, // 前端 登出 FedLogOut({ commit }) { return new Promise(resolve => { - commit('SET_TOKEN', '') - removeToken() - resolve() - }) + commit("SET_TOKEN", ""); + removeToken(); + resolve(); + }); } } -} +}; -export default user +export default user; diff --git a/stdiet-ui/src/views/custom/order/index.vue b/stdiet-ui/src/views/custom/order/index.vue index b5f513682..c6785c06c 100644 --- a/stdiet-ui/src/views/custom/order/index.vue +++ b/stdiet-ui/src/views/custom/order/index.vue @@ -19,7 +19,7 @@ /> - + - + @@ -70,7 +70,7 @@ - + - + - + - + - + - + - + - + - + { - this.accountIdOptions = response.data; + if (this.userRemark && this.userRemark.includes("|")) { + const accRange = this.userRemark.split("|"); + this.accountIdOptions = accRange.reduce((arr, accId) => { + const tarObj = response.data.find((obj) => obj.dictValue === accId); + if (tarObj) { + arr.push(tarObj); + } + return arr; + }, []); + } else { + this.accountIdOptions = response.data; + } }); this.getDicts("cus_serve_time").then((response) => { this.serveTimeIdOption = response.data;