Compare commits
11
Commits
515b231718
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5307f30fd8 | ||
|
|
f2d53786c2 | ||
|
|
712f295d57 | ||
|
|
e39496cca1 | ||
|
|
f48d94227b | ||
|
|
9be9985905 | ||
|
|
950d7999cb | ||
|
|
2527c5e765 | ||
|
|
ef4b27f560 | ||
|
|
3500408271 | ||
|
|
1ec8f5ad62 |
+4
-5
@@ -573,11 +573,10 @@
|
|||||||
SELECT
|
SELECT
|
||||||
member_id,
|
member_id,
|
||||||
top_up_balance,
|
top_up_balance,
|
||||||
reward_balance,
|
reward_balance
|
||||||
(top_up_balance + reward_balance) AS balance
|
FROM st_client_member_balance
|
||||||
FROM
|
WHERE member_id IN (SELECT id FROM sys_user_sub WHERE update_time > FROM_UNIXTIME(#{timestamp}/1000))
|
||||||
st_client_member_balance
|
OR
|
||||||
WHERE
|
|
||||||
create_time > FROM_UNIXTIME(#{timestamp} / 1000)
|
create_time > FROM_UNIXTIME(#{timestamp} / 1000)
|
||||||
OR update_time > FROM_UNIXTIME(#{timestamp} / 1000)
|
OR update_time > FROM_UNIXTIME(#{timestamp} / 1000)
|
||||||
OR last_consumption_time > FROM_UNIXTIME(#{timestamp} / 1000)
|
OR last_consumption_time > FROM_UNIXTIME(#{timestamp} / 1000)
|
||||||
|
|||||||
+3
-3
@@ -387,9 +387,9 @@ public class StBbzxOrderInfoController {
|
|||||||
// String exportFields = "serialNo|交易流水号,orderNo|交易单号,userName|姓名,phone|手机号,workNo|工号," +
|
// String exportFields = "serialNo|交易流水号,orderNo|交易单号,userName|姓名,phone|手机号,workNo|工号," +
|
||||||
// "statusName|操作类型,transactionAmount|交易金额,paymentMethodName|结账方式,storedBalance|储值金额变动(元),rewardBalance|赠送金额变动(元),availableBalance|余额," +
|
// "statusName|操作类型,transactionAmount|交易金额,paymentMethodName|结账方式,storedBalance|储值金额变动(元),rewardBalance|赠送金额变动(元),availableBalance|余额," +
|
||||||
// "integralBalance|积分变动,createTime|交易时间,payTime|结账时间,updateStatusName|操作端,createOne|操作人";
|
// "integralBalance|积分变动,createTime|交易时间,payTime|结账时间,updateStatusName|操作端,createOne|操作人";
|
||||||
String exportFields = "userName|姓名,deptName|部门,phone|手机号,workNo|工号,restName|食堂名称," +
|
String exportFields = "workNo|工号,userName|姓名,restName|充值食堂名称,transactionAmount|交易金额,statusName|操作类型," +
|
||||||
"transactionAmount|交易金额,statusName|操作类型,paymentMethodName|充值方式,availableBalance|现金余额," +
|
"availableBalance|现金余额," +
|
||||||
"createTime|充值时间,createOne|操作人";
|
"createTime|充值时间,phone|手机号";
|
||||||
ExcelUtils.export(response, "充值记录", statisticsCanteenBusiness, exportFields, "yyyy-MM-dd HH:mm",true);
|
ExcelUtils.export(response, "充值记录", statisticsCanteenBusiness, exportFields, "yyyy-MM-dd HH:mm",true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -483,8 +483,8 @@ public class StClientMemberBalanceController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
query.setCanteenIdList(canteenIdList);
|
query.setCanteenIdList(canteenIdList);
|
||||||
query.setStatus(1);//消费=101
|
query.setStatus(101);
|
||||||
List<StClientMemberTransactionRecordVO> statisticsCanteenBusiness = iStClientMemberTransactionRecordService.queryList(query);
|
List<StClientMemberTransactionRecordVO> statisticsCanteenBusiness = iStClientMemberTransactionRecordService.queryListNew(query);
|
||||||
StClientMemberTransactionRecordVO sumResult = GenericSumUtil.sumList(statisticsCanteenBusiness, StClientMemberTransactionRecordVO.class);
|
StClientMemberTransactionRecordVO sumResult = GenericSumUtil.sumList(statisticsCanteenBusiness, StClientMemberTransactionRecordVO.class);
|
||||||
|
|
||||||
StClientMemberTransactionRecordVO stClientMemberTransactionRecordVO = new StClientMemberTransactionRecordVO();//只汇总交易金额
|
StClientMemberTransactionRecordVO stClientMemberTransactionRecordVO = new StClientMemberTransactionRecordVO();//只汇总交易金额
|
||||||
@@ -523,8 +523,8 @@ public class StClientMemberBalanceController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
query.setCanteenIdList(canteenIdList);
|
query.setCanteenIdList(canteenIdList);
|
||||||
query.setStatus(1);//消费=101
|
query.setStatus(101);
|
||||||
List<StClientMemberTransactionRecordVO> statisticsCanteenBusiness = iStClientMemberTransactionRecordService.queryList(query);
|
List<StClientMemberTransactionRecordVO> statisticsCanteenBusiness = iStClientMemberTransactionRecordService.queryListNew(query);
|
||||||
|
|
||||||
StClientMemberTransactionRecordVO sumResult = GenericSumUtil.sumList(statisticsCanteenBusiness, StClientMemberTransactionRecordVO.class);
|
StClientMemberTransactionRecordVO sumResult = GenericSumUtil.sumList(statisticsCanteenBusiness, StClientMemberTransactionRecordVO.class);
|
||||||
StClientMemberTransactionRecordVO stClientMemberTransactionRecordVO = new StClientMemberTransactionRecordVO();//只汇总交易金额
|
StClientMemberTransactionRecordVO stClientMemberTransactionRecordVO = new StClientMemberTransactionRecordVO();//只汇总交易金额
|
||||||
@@ -537,8 +537,8 @@ public class StClientMemberBalanceController {
|
|||||||
// "payTime|结账时间,updateStatusName|操作端,createOne|操作人";
|
// "payTime|结账时间,updateStatusName|操作端,createOne|操作人";
|
||||||
// "dinnerType|餐次名称,restName|食堂名称,createTime|交易时间,payTime|结账时间,updateStatusName|操作端,createOne|操作人";
|
// "dinnerType|餐次名称,restName|食堂名称,createTime|交易时间,payTime|结账时间,updateStatusName|操作端,createOne|操作人";
|
||||||
|
|
||||||
String exportFields = "userName|姓名,workNo|工号,dinnerType|餐次名称,transactionAmount|交易金额,availableBalance|剩余金额,createTime|上传时间,serialNo|交易流水号,orderNo|交易单号,phone|手机号码,cardCode|卡号," +
|
String exportFields = "userName|姓名,workNo|工号,dinnerType|餐次名称,transactionAmount|交易金额,restName|食堂名称,availableBalance|剩余金额,createTime|上传时间,serialNo|交易流水号,orderNo|交易单号,phone|手机号码,cardCode|卡号," +
|
||||||
"statusName|操作类型,paymentMethodName|结账方式,businessModelName|消费类型名称,restName|食堂名称,storedBalance|储值金额变动(元)," +
|
"statusName|操作类型,paymentMethodName|结账方式,businessModelName|消费类型名称,storedBalance|储值金额变动(元)," +
|
||||||
"updateStatusName|操作端,payTime|扣费时间";
|
"updateStatusName|操作端,payTime|扣费时间";
|
||||||
// "dinnerType|餐次名称,restName|食堂名称,,payTime|结账时间,updateStatusName|操作端,createOne|操作人";
|
// "dinnerType|餐次名称,restName|食堂名称,,payTime|结账时间,updateStatusName|操作端,createOne|操作人";
|
||||||
ExcelUtils.export(response, "消费明细", statisticsCanteenBusiness, exportFields, "yyyy-MM-dd HH:mm",true);
|
ExcelUtils.export(response, "消费明细", statisticsCanteenBusiness, exportFields, "yyyy-MM-dd HH:mm",true);
|
||||||
|
|||||||
+4
-17
@@ -1,9 +1,12 @@
|
|||||||
package org.jeecg.payment.listUtils;
|
package org.jeecg.payment.listUtils;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||||
|
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* * 订单编码码生成器,生成32位数字编码,
|
* * 订单编码码生成器,生成32位数字编码,
|
||||||
@@ -107,26 +110,10 @@ public class OrderUtils {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
public static String getOrderCodeV2() {
|
public static String getOrderCodeV2() {
|
||||||
return ORDER_CODE + getDateTimeV2();
|
return getDateTime() + IdWorker.get32UUID();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生成退货单号编码(调用方法)
|
|
||||||
* @param userId 网站中该用户唯一ID 防止重复
|
|
||||||
*/
|
|
||||||
public static String getReturnCode(Integer userId) {
|
|
||||||
return RETURN_ORDER + getCode(userId);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 生成退款单号编码(调用方法)
|
|
||||||
* @param userId 网站中该用户唯一ID 防止重复
|
|
||||||
*/
|
|
||||||
public static String getRefundCode(Integer userId) {
|
|
||||||
return REFUND_ORDER + getCode(userId);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@ public interface StClientMemberTransactionRecordMapper extends BaseMapper<StClie
|
|||||||
|
|
||||||
long pageListCount(@Param("vo") StClientMemberTransactionRecordDTO query);
|
long pageListCount(@Param("vo") StClientMemberTransactionRecordDTO query);
|
||||||
IPage<StClientMemberTransactionRecordVO> pageList2(Page<StClientMemberTransactionRecordVO> page, @Param("vo") StClientMemberTransactionRecordDTO query);
|
IPage<StClientMemberTransactionRecordVO> pageList2(Page<StClientMemberTransactionRecordVO> page, @Param("vo") StClientMemberTransactionRecordDTO query);
|
||||||
|
List<StClientMemberTransactionRecordVO> pageList2( @Param("vo") StClientMemberTransactionRecordDTO query);
|
||||||
/**
|
/**
|
||||||
* 列表查询
|
* 列表查询
|
||||||
* @return
|
* @return
|
||||||
|
|||||||
+7
-5
@@ -235,6 +235,7 @@
|
|||||||
SUM(oi.order_price) orderPrice,
|
SUM(oi.order_price) orderPrice,
|
||||||
(SELECT COUNT(DISTINCT member_id) FROM st_bbzx_order_info WHERE eat_day = oi.eat_day and `status` = 5
|
(SELECT COUNT(DISTINCT member_id) FROM st_bbzx_order_info WHERE eat_day = oi.eat_day and `status` = 5
|
||||||
and order_type = 3
|
and order_type = 3
|
||||||
|
AND canteen_id = oi.canteen_id
|
||||||
<if test="list != null and list.size() > 0">
|
<if test="list != null and list.size() > 0">
|
||||||
and canteen_id IN
|
and canteen_id IN
|
||||||
<foreach collection="list" item="canteenId" separator="," open="(" close=")" >
|
<foreach collection="list" item="canteenId" separator="," open="(" close=")" >
|
||||||
@@ -242,7 +243,7 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="startDate != '' and startDate != null ">
|
<if test="startDate != '' and startDate != null ">
|
||||||
and eat_day between #{startDate} and #{endDate}
|
and DATE_FORMAT(create_time,'%Y-%m-%d') between #{startDate} and #{endDate}
|
||||||
</if>
|
</if>
|
||||||
) AS totalNum
|
) AS totalNum
|
||||||
FROM
|
FROM
|
||||||
@@ -258,11 +259,12 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="startDate != '' and startDate != null ">
|
<if test="startDate != '' and startDate != null ">
|
||||||
and oi.eat_day between #{startDate} and #{endDate}
|
and DATE_FORMAT(oi.create_time,'%Y-%m-%d') between #{startDate} and #{endDate}
|
||||||
</if>
|
</if>
|
||||||
GROUP BY
|
GROUP BY
|
||||||
oi.canteen_id,
|
oi.canteen_id,
|
||||||
oi.eat_day
|
oi.eat_day,
|
||||||
|
r.rest_name
|
||||||
order by oi.eat_day desc
|
order by oi.eat_day desc
|
||||||
</select>
|
</select>
|
||||||
<select id="statisticsTheAmountSpentEveryMember"
|
<select id="statisticsTheAmountSpentEveryMember"
|
||||||
@@ -307,8 +309,8 @@
|
|||||||
) AS totalNum
|
) AS totalNum
|
||||||
FROM
|
FROM
|
||||||
st_bbzx_order_info oi
|
st_bbzx_order_info oi
|
||||||
JOIN sys_user_sub u ON oi.member_id = u.id
|
LEFT JOIN sys_user_sub u ON oi.member_id = u.id
|
||||||
JOIN sys_user_sub pay ON oi.pay_member_id = pay.id
|
LEFT JOIN sys_user_sub pay ON oi.pay_member_id = pay.id
|
||||||
LEFT JOIN st_base_restaurant AS sr ON sr.id = oi.canteen_id
|
LEFT JOIN st_base_restaurant AS sr ON sr.id = oi.canteen_id
|
||||||
LEFT JOIN sys_pay_depart direct_depart ON pay.depart_ids = direct_depart.id AND direct_depart.del_flag = '0'
|
LEFT JOIN sys_pay_depart direct_depart ON pay.depart_ids = direct_depart.id AND direct_depart.del_flag = '0'
|
||||||
LEFT JOIN sys_pay_depart parent_depart ON direct_depart.parent_id = parent_depart.id AND parent_depart.del_flag = '0'
|
LEFT JOIN sys_pay_depart parent_depart ON direct_depart.parent_id = parent_depart.id AND parent_depart.del_flag = '0'
|
||||||
|
|||||||
+12
-4
@@ -135,7 +135,15 @@
|
|||||||
#{canteenId}
|
#{canteenId}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
order by a.create_time desc
|
order by a.create_time
|
||||||
|
<choose>
|
||||||
|
<when test="vo.status != null and vo.status == 3 ">
|
||||||
|
asc
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
desc
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="pageListCount" resultType="java.lang.Long">
|
<select id="pageListCount" resultType="java.lang.Long">
|
||||||
@@ -200,7 +208,7 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
<select id="pageList2" resultType="org.jeecg.payment.vo.StClientMemberTransactionRecordVO">
|
<select id="pageList2" resultType="org.jeecg.payment.vo.StClientMemberTransactionRecordVO">
|
||||||
SELECT
|
SELECT DISTINCT
|
||||||
a.id,
|
a.id,
|
||||||
a.serial_no as serialNo,
|
a.serial_no as serialNo,
|
||||||
a.order_no as orderNo,
|
a.order_no as orderNo,
|
||||||
@@ -216,14 +224,14 @@
|
|||||||
a.integral_balance as integralBalance,
|
a.integral_balance as integralBalance,
|
||||||
a.create_time as createTime,
|
a.create_time as createTime,
|
||||||
a.pay_time as payTime,
|
a.pay_time as payTime,
|
||||||
-- sr.rest_name as restName,
|
sr.rest_name as restName,
|
||||||
a.update_status as updateStatus
|
a.update_status as updateStatus
|
||||||
FROM
|
FROM
|
||||||
st_client_member_transaction_record as a
|
st_client_member_transaction_record as a
|
||||||
<if test="vo.dinnerType != null and vo.dinnerType != ''">
|
<if test="vo.dinnerType != null and vo.dinnerType != ''">
|
||||||
LEFT JOIN st_bbzx_order_info sboi ON a.order_no = sboi.order_no
|
LEFT JOIN st_bbzx_order_info sboi ON a.order_no = sboi.order_no
|
||||||
</if>
|
</if>
|
||||||
-- LEFT JOIN st_base_restaurant AS sr ON sr.id = a.canteen_id
|
LEFT JOIN st_base_restaurant AS sr ON sr.id = a.canteen_id
|
||||||
LEFT JOIN sys_user_sub AS c ON a.pay_member_id = c.id
|
LEFT JOIN sys_user_sub AS c ON a.pay_member_id = c.id
|
||||||
LEFT JOIN sys_user_sub AS pay ON a.member_id = pay.id
|
LEFT JOIN sys_user_sub AS pay ON a.member_id = pay.id
|
||||||
WHERE a.is_del = 0
|
WHERE a.is_del = 0
|
||||||
|
|||||||
+8
@@ -34,6 +34,14 @@ public interface IStClientMemberTransactionRecordService extends JeecgService<St
|
|||||||
*/
|
*/
|
||||||
List<StClientMemberTransactionRecordVO> queryList(StClientMemberTransactionRecordDTO query);
|
List<StClientMemberTransactionRecordVO> queryList(StClientMemberTransactionRecordDTO query);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询导出
|
||||||
|
*
|
||||||
|
* @param query
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<StClientMemberTransactionRecordVO> queryListNew(StClientMemberTransactionRecordDTO query);
|
||||||
|
|
||||||
IPage<StClientMemberTransactionRecordVO> pageBalanceRefundList(Page<StClientMemberTransactionRecordVO> page, StClientMemberTransactionRecordDTO query);
|
IPage<StClientMemberTransactionRecordVO> pageBalanceRefundList(Page<StClientMemberTransactionRecordVO> page, StClientMemberTransactionRecordDTO query);
|
||||||
|
|
||||||
InOutRecordInfoVo getOneInOutInfo(String recordId);
|
InOutRecordInfoVo getOneInOutInfo(String recordId);
|
||||||
|
|||||||
+3
-2
@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.xkcoding.http.util.StringUtil;
|
import com.xkcoding.http.util.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -752,7 +753,7 @@ public class StBbzxOrderInfoServiceImpl extends JeecgServiceImpl<StBbzxOrderInfo
|
|||||||
public StBbzxOrderInfo buildOrderInfoNew(Date dateTime,String restId,String dinnerType,String plateNumber,String userId,String memberName,String memberPhone,Integer deductionType,StClientMemberLevelDeductRuleVo levelDeductRuleVo , String remark,StRfidVo stRfidVo){
|
public StBbzxOrderInfo buildOrderInfoNew(Date dateTime,String restId,String dinnerType,String plateNumber,String userId,String memberName,String memberPhone,Integer deductionType,StClientMemberLevelDeductRuleVo levelDeductRuleVo , String remark,StRfidVo stRfidVo){
|
||||||
StBbzxOrderInfo stBbzxOrderInfo = new StBbzxOrderInfo();
|
StBbzxOrderInfo stBbzxOrderInfo = new StBbzxOrderInfo();
|
||||||
stBbzxOrderInfo.setOrderType(3);
|
stBbzxOrderInfo.setOrderType(3);
|
||||||
String orderNo = OrderUtils.getOrderCode(10);
|
String orderNo = OrderUtils.getOrderCodeV2();
|
||||||
stBbzxOrderInfo.setOrderNo(orderNo);
|
stBbzxOrderInfo.setOrderNo(orderNo);
|
||||||
stBbzxOrderInfo.setSerialNo(stRfidVo.getCardCode());
|
stBbzxOrderInfo.setSerialNo(stRfidVo.getCardCode());
|
||||||
stBbzxOrderInfo.setDinnerType(dinnerType);
|
stBbzxOrderInfo.setDinnerType(dinnerType);
|
||||||
@@ -815,7 +816,7 @@ public class StBbzxOrderInfoServiceImpl extends JeecgServiceImpl<StBbzxOrderInfo
|
|||||||
StBbzxOrderInfo stBbzxOrderInfo = new StBbzxOrderInfo();
|
StBbzxOrderInfo stBbzxOrderInfo = new StBbzxOrderInfo();
|
||||||
stBbzxOrderInfo.setDeviceCode(stRfidVo.getDeviceCode());
|
stBbzxOrderInfo.setDeviceCode(stRfidVo.getDeviceCode());
|
||||||
stBbzxOrderInfo.setOrderType(3);
|
stBbzxOrderInfo.setOrderType(3);
|
||||||
String orderNo = OrderUtils.getOrderCode(10);
|
String orderNo = OrderUtils.getOrderCodeV2();
|
||||||
stBbzxOrderInfo.setOrderNo(orderNo);
|
stBbzxOrderInfo.setOrderNo(orderNo);
|
||||||
stBbzxOrderInfo.setSerialNo(miniMineBalanceVo.getCardCode());
|
stBbzxOrderInfo.setSerialNo(miniMineBalanceVo.getCardCode());
|
||||||
stBbzxOrderInfo.setDinnerType(dinnerType);
|
stBbzxOrderInfo.setDinnerType(dinnerType);
|
||||||
|
|||||||
+19
@@ -144,6 +144,25 @@ public class StClientMemberTransactionRecordServiceImpl extends JeecgServiceImpl
|
|||||||
return pageList;
|
return pageList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<StClientMemberTransactionRecordVO> queryListNew(StClientMemberTransactionRecordDTO query) {
|
||||||
|
List<StClientMemberTransactionRecordVO> pageList = baseMapper.pageList2(query);
|
||||||
|
if (CollectionUtils.isNotEmpty(pageList)) {
|
||||||
|
for (StClientMemberTransactionRecordVO model : pageList) {
|
||||||
|
model.setStatusName(MemberTransactionTypeEnum.getName(model.getStatus()));
|
||||||
|
model.setPaymentMethodName(MemberEnum.getXcxName(model.getPaymentMethod()));
|
||||||
|
model.setUpdateStatusName(null != model.getUpdateStatus() && 1 == model.getUpdateStatus() ? "前端":"后台");
|
||||||
|
if(null != model.getBusinessModel()&& 1 == model.getBusinessModel() ){
|
||||||
|
model.setBusinessModelName("定值模式");//扣费类型(1:固定扣费,2:固定+补贴扣费,3:按量扣费,4:自定义金额)
|
||||||
|
}
|
||||||
|
if(null != model.getBusinessModel()&& 4 == model.getBusinessModel() ){
|
||||||
|
model.setBusinessModelName("金额模式");//扣费类型(1:固定扣费,2:固定+补贴扣费,3:按量扣费,4:自定义金额)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return pageList;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public IPage<StClientMemberTransactionRecordVO> pageBalanceRefundList(Page<StClientMemberTransactionRecordVO> page,StClientMemberTransactionRecordDTO query) {
|
public IPage<StClientMemberTransactionRecordVO> pageBalanceRefundList(Page<StClientMemberTransactionRecordVO> page,StClientMemberTransactionRecordDTO query) {
|
||||||
|
|
||||||
|
|||||||
+11
-1
@@ -149,6 +149,8 @@ public class SwUserFaceimgController extends JeecgController<SwUserFaceimg, ISwU
|
|||||||
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
||||||
slUserFaceimg.setFaceFeatureData(feature);
|
slUserFaceimg.setFaceFeatureData(feature);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return Result.error("人脸特征码提取失败!");
|
||||||
}
|
}
|
||||||
slUserFaceimg.setFaceStatus("1");
|
slUserFaceimg.setFaceStatus("1");
|
||||||
slUserFaceimg.setUserId(userId);
|
slUserFaceimg.setUserId(userId);
|
||||||
@@ -215,6 +217,8 @@ public class SwUserFaceimgController extends JeecgController<SwUserFaceimg, ISwU
|
|||||||
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
||||||
slUserFaceimg.setFaceFeatureData(feature);
|
slUserFaceimg.setFaceFeatureData(feature);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return Result.error("人脸特征码提取失败!");
|
||||||
}
|
}
|
||||||
slUserFaceimg.setFaceStatus("1");
|
slUserFaceimg.setFaceStatus("1");
|
||||||
slUserFaceimg.setUserId(userId);
|
slUserFaceimg.setUserId(userId);
|
||||||
@@ -285,6 +289,8 @@ public class SwUserFaceimgController extends JeecgController<SwUserFaceimg, ISwU
|
|||||||
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
||||||
slUserFaceimg.setFaceFeatureData(feature);
|
slUserFaceimg.setFaceFeatureData(feature);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return Result.error("人脸特征码提取失败!");
|
||||||
}
|
}
|
||||||
slUserFaceimg.setFaceStatus("1");
|
slUserFaceimg.setFaceStatus("1");
|
||||||
slUserFaceimg.setUserId(userId);
|
slUserFaceimg.setUserId(userId);
|
||||||
@@ -329,7 +335,7 @@ public class SwUserFaceimgController extends JeecgController<SwUserFaceimg, ISwU
|
|||||||
*/
|
*/
|
||||||
@GetMapping(value = "/updateAllUserFaceImg")
|
@GetMapping(value = "/updateAllUserFaceImg")
|
||||||
public Result<String> updateAllUserFaceImg(@RequestParam(name = "type", required = false,defaultValue = "0") Integer type){
|
public Result<String> updateAllUserFaceImg(@RequestParam(name = "type", required = false,defaultValue = "0") Integer type){
|
||||||
return Result.OK(swUserFaceimgService.updateAllUserFaceImg(type));
|
return swUserFaceimgService.updateAllUserFaceImg(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Result<?> saveFaceImgSubLocalUpload(@RequestBody Map map) {
|
public Result<?> saveFaceImgSubLocalUpload(@RequestBody Map map) {
|
||||||
@@ -361,6 +367,8 @@ public class SwUserFaceimgController extends JeecgController<SwUserFaceimg, ISwU
|
|||||||
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
||||||
slUserFaceimg.setFaceFeatureData(feature);
|
slUserFaceimg.setFaceFeatureData(feature);
|
||||||
}
|
}
|
||||||
|
}else{
|
||||||
|
return Result.error("人脸特征码提取失败!");
|
||||||
}
|
}
|
||||||
slUserFaceimg.setFaceStatus("1");
|
slUserFaceimg.setFaceStatus("1");
|
||||||
slUserFaceimg.setUserId(userId);
|
slUserFaceimg.setUserId(userId);
|
||||||
@@ -516,6 +524,8 @@ public class SwUserFaceimgController extends JeecgController<SwUserFaceimg, ISwU
|
|||||||
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
||||||
slUserFaceimg.setFaceFeatureData(feature);
|
slUserFaceimg.setFaceFeatureData(feature);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return Result.error("人脸特征码提取失败!");
|
||||||
}
|
}
|
||||||
slUserFaceimg.setFaceStatus("1");
|
slUserFaceimg.setFaceStatus("1");
|
||||||
slUserFaceimg.setUserId(userId);
|
slUserFaceimg.setUserId(userId);
|
||||||
|
|||||||
+1
-1
@@ -46,5 +46,5 @@ public interface ISwUserFaceimgService extends IService<SwUserFaceimg> {
|
|||||||
*/
|
*/
|
||||||
void sendPaymentGateUserInfo(UserFaceInfo userFaceInfo, Integer type, Boolean isConfirm, String userId) ;
|
void sendPaymentGateUserInfo(UserFaceInfo userFaceInfo, Integer type, Boolean isConfirm, String userId) ;
|
||||||
|
|
||||||
String updateAllUserFaceImg(Integer type);
|
Result<String> updateAllUserFaceImg(Integer type);
|
||||||
}
|
}
|
||||||
|
|||||||
+9
-3
@@ -307,6 +307,8 @@ public class SwUserFaceimgServiceImpl extends ServiceImpl<SwUserFaceimgMapper, S
|
|||||||
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
||||||
slUserFaceimg.setFaceFeatureData(feature);
|
slUserFaceimg.setFaceFeatureData(feature);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
slUserFaceimg.setFaceStatus("1");
|
slUserFaceimg.setFaceStatus("1");
|
||||||
slUserFaceimg.setCardNumber(cardNo);
|
slUserFaceimg.setCardNumber(cardNo);
|
||||||
@@ -411,7 +413,7 @@ public class SwUserFaceimgServiceImpl extends ServiceImpl<SwUserFaceimgMapper, S
|
|||||||
}
|
}
|
||||||
//此方法是为了更新人脸特征数据 , 因为初始化数据 进去的人脸特征识别有问题, 现通过程序重新识别生成特征码并更新
|
//此方法是为了更新人脸特征数据 , 因为初始化数据 进去的人脸特征识别有问题, 现通过程序重新识别生成特征码并更新
|
||||||
@Override
|
@Override
|
||||||
public String updateAllUserFaceImg(Integer type){
|
public Result<String> updateAllUserFaceImg(Integer type){
|
||||||
|
|
||||||
if(type == 1){
|
if(type == 1){
|
||||||
//正式员工人脸表
|
//正式员工人脸表
|
||||||
@@ -436,11 +438,13 @@ public class SwUserFaceimgServiceImpl extends ServiceImpl<SwUserFaceimgMapper, S
|
|||||||
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
||||||
swUserFaceimg.setFaceFeatureData(feature);
|
swUserFaceimg.setFaceFeatureData(feature);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return Result.error("人脸特征码提取失败!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.updateBatchById(list);
|
this.updateBatchById(list);
|
||||||
}
|
}
|
||||||
return "此次操作更新人脸主表数据"+ list.size()+"条数据";
|
return Result.OK("此次操作更新人脸主表数据"+ list.size()+"条数据");
|
||||||
}else {
|
}else {
|
||||||
//子用户
|
//子用户
|
||||||
//正式员工人脸表
|
//正式员工人脸表
|
||||||
@@ -464,11 +468,13 @@ public class SwUserFaceimgServiceImpl extends ServiceImpl<SwUserFaceimgMapper, S
|
|||||||
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
byte[] feature = faceEngineService.extractFaceFeature(rgbData, faceInfo);
|
||||||
faceimgSub.setFaceFeatureData(feature);
|
faceimgSub.setFaceFeatureData(feature);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return Result.error("人脸特征码提取失败!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
swUserFaceimgSubService.updateBatchById(subList);
|
swUserFaceimgSubService.updateBatchById(subList);
|
||||||
}
|
}
|
||||||
return "此次操作更新人脸子表数据"+subList.size()+"条数据";
|
return Result.OK("此次操作更新人脸子表数据"+subList.size()+"条数据");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+68
-33
@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -39,48 +40,82 @@ public class SysPayDepartServiceImpl extends ServiceImpl<SysPayDepartMapper, Sys
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<String> getAllCascadeDeptIds(String deptId) {
|
public List<String> getAllCascadeDeptIds(String deptId) {
|
||||||
List<String> allDeptIds = new ArrayList<>();
|
|
||||||
if (deptId == null) {
|
if (deptId == null) {
|
||||||
return allDeptIds;
|
return Collections.emptyList();
|
||||||
}
|
|
||||||
// 从目标部门开始递归查询
|
|
||||||
recursiveQueryDeptIds(deptId, allDeptIds);
|
|
||||||
return allDeptIds;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
// 1. 一次性查询所有有效部门
|
||||||
* 递归查询部门ID及其所有子部门ID
|
List<SysPayDepart> allDepts = this.list(new LambdaQueryWrapper<SysPayDepart>()
|
||||||
* @param deptId 当前部门ID
|
|
||||||
* @param result 用于收集结果的集合
|
|
||||||
*/
|
|
||||||
private void recursiveQueryDeptIds(String deptId, List<String> result) {
|
|
||||||
// 1. 先查询当前部门信息并添加到结果集(去重)
|
|
||||||
if (!result.contains(deptId)) {
|
|
||||||
// 验证当前部门是否存在且有效
|
|
||||||
SysPayDepart currentDept = this.getOne(new LambdaQueryWrapper<SysPayDepart>()
|
|
||||||
.eq(SysPayDepart::getId, deptId)
|
|
||||||
.eq(SysPayDepart::getDelFlag, "0"));
|
.eq(SysPayDepart::getDelFlag, "0"));
|
||||||
|
|
||||||
if (currentDept != null) {
|
// 2. 构建部门父子关系Map
|
||||||
result.add(deptId);
|
Map<String, List<String>> parentToChildrenMap = allDepts.stream()
|
||||||
} else {
|
.collect(Collectors.groupingBy(
|
||||||
// 当前部门不存在或已删除,终止递归
|
SysPayDepart::getParentId,
|
||||||
return;
|
Collectors.mapping(SysPayDepart::getId, Collectors.toList())
|
||||||
}
|
));
|
||||||
|
|
||||||
|
// 3. 在内存中递归查找
|
||||||
|
List<String> result = new ArrayList<>();
|
||||||
|
recursiveFindDeptIds(deptId, parentToChildrenMap, result);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 查询当前部门的直接子部门
|
private void recursiveFindDeptIds(String currentDeptId,
|
||||||
List<SysPayDepart> childDepts = this.list(new LambdaQueryWrapper<SysPayDepart>()
|
Map<String, List<String>> parentToChildrenMap,
|
||||||
.eq(SysPayDepart::getParentId, deptId)
|
List<String> result) {
|
||||||
.eq(SysPayDepart::getDelFlag, "0"));
|
result.add(currentDeptId);
|
||||||
|
List<String> children = parentToChildrenMap.get(currentDeptId);
|
||||||
// 3. 对每个子部门递归查询其下属部门
|
if (children != null) {
|
||||||
for (SysPayDepart child : childDepts) {
|
for (String childId : children) {
|
||||||
String childId = child.getId();
|
recursiveFindDeptIds(childId, parentToChildrenMap, result);
|
||||||
// 递归处理子部门,会自动添加子部门及其下级
|
|
||||||
recursiveQueryDeptIds(childId, result);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
//
|
||||||
|
// public List<String> getAllCascadeDeptIds(String deptId) {
|
||||||
|
// List<String> allDeptIds = new ArrayList<>();
|
||||||
|
// if (deptId == null) {
|
||||||
|
// return allDeptIds;
|
||||||
|
// }
|
||||||
|
// // 从目标部门开始递归查询
|
||||||
|
// recursiveQueryDeptIds(deptId, allDeptIds);
|
||||||
|
// return allDeptIds;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 递归查询部门ID及其所有子部门ID
|
||||||
|
// * @param deptId 当前部门ID
|
||||||
|
// * @param result 用于收集结果的集合
|
||||||
|
// */
|
||||||
|
// private void recursiveQueryDeptIds(String deptId, List<String> result) {
|
||||||
|
// // 1. 先查询当前部门信息并添加到结果集(去重)
|
||||||
|
// if (!result.contains(deptId)) {
|
||||||
|
// // 验证当前部门是否存在且有效
|
||||||
|
// SysPayDepart currentDept = this.getOne(new LambdaQueryWrapper<SysPayDepart>()
|
||||||
|
// .eq(SysPayDepart::getId, deptId)
|
||||||
|
// .eq(SysPayDepart::getDelFlag, "0"));
|
||||||
|
//
|
||||||
|
// if (currentDept != null) {
|
||||||
|
// result.add(deptId);
|
||||||
|
// } else {
|
||||||
|
// // 当前部门不存在或已删除,终止递归
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 2. 查询当前部门的直接子部门
|
||||||
|
// List<SysPayDepart> childDepts = this.list(new LambdaQueryWrapper<SysPayDepart>()
|
||||||
|
// .eq(SysPayDepart::getParentId, deptId)
|
||||||
|
// .eq(SysPayDepart::getDelFlag, "0"));
|
||||||
|
//
|
||||||
|
// // 3. 对每个子部门递归查询其下属部门
|
||||||
|
// for (SysPayDepart child : childDepts) {
|
||||||
|
// String childId = child.getId();
|
||||||
|
// // 递归处理子部门,会自动添加子部门及其下级
|
||||||
|
// recursiveQueryDeptIds(childId, result);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ spring:
|
|||||||
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
|
||||||
datasource:
|
datasource:
|
||||||
master:
|
master:
|
||||||
url: jdbc:mysql://10.59.235.137:3306/zhst_finance?Unicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
|
url: jdbc:mysql://10.59.235.137:3306/zhst_finance_new?Unicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
|
||||||
username: root
|
username: root
|
||||||
password: 123qwe!@#P@ssw0rd
|
password: 123qwe!@#P@ssw0rd
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
@@ -289,9 +289,9 @@ third-app:
|
|||||||
# 虹软人脸识别(WIN和UNIX的sdkKey不一致,需要切换) 激活码需要配置
|
# 虹软人脸识别(WIN和UNIX的sdkKey不一致,需要切换) 激活码需要配置
|
||||||
face:
|
face:
|
||||||
# windows
|
# windows
|
||||||
appId: 3RX8bPDaEx3ZLYrxKEZ9F8hT5cqTma49AoeQhTMW8Wvg
|
appId: 5fiiFa6fTSRhDbiarBSMGVS1hEkDyMQLYyBgn97EzZyb
|
||||||
sdkKey: CsNxFiPekJAyuQRjwY3c918ARVEEyCyzuvmMwWDUAjsF
|
sdkKey: 3QndXfNCsoUM5hDyzSw2a3j7Ke3eL4J9by1yKfUsQJSC
|
||||||
activeKey: 86L1-11ZG-412Q-XKLB
|
activeKey: 86L1-11Z4-61B4-AEQ1
|
||||||
libPath: ./facelib
|
libPath: ./facelib
|
||||||
detect:
|
detect:
|
||||||
pool:
|
pool:
|
||||||
|
|||||||
Reference in New Issue
Block a user