From 80fd41ea0dc602ac3ca33778f17fce5bc2e817b1 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 16 一月 2026 18:58:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java | 158 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 158 insertions(+), 0 deletions(-)
diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java
new file mode 100644
index 0000000..61d1d72
--- /dev/null
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/UserActionServiceImpl.java
@@ -0,0 +1,158 @@
+package com.doumee.service.business.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.model.PageData;
+import com.doumee.core.model.PageWrap;
+import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.Utils;
+import com.doumee.dao.business.UserActionMapper;
+import com.doumee.dao.business.model.Member;
+import com.doumee.dao.business.model.UserAction;
+import com.doumee.dao.system.model.SystemUser;
+import com.doumee.service.business.UserActionService;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
+
+/**
+ * 浜哄憳鎿嶄綔璁板綍鏃ュ織Service瀹炵幇
+ * @author 姹熻箘韫�
+ * @date 2023/12/14 13:57
+ */
+@Service
+public class UserActionServiceImpl implements UserActionService {
+
+ @Autowired
+ private UserActionMapper userActionMapper;
+
+
+ @Override
+ public Integer create(UserAction userAction) {
+ userActionMapper.insert(userAction);
+ return userAction.getId();
+ }
+
+ @Override
+ public void deleteById(Integer id) {
+ userActionMapper.deleteById(id);
+ }
+
+ @Override
+ public void delete(UserAction userAction) {
+ UpdateWrapper<UserAction> deleteWrapper = new UpdateWrapper<>(userAction);
+ userActionMapper.delete(deleteWrapper);
+ }
+
+ @Override
+ public void deleteByIdInBatch(List<Integer> ids) {
+ if (CollectionUtils.isEmpty(ids)) {
+ return;
+ }
+ userActionMapper.deleteBatchIds(ids);
+ }
+
+ @Override
+ public void updateById(UserAction userAction) {
+ userActionMapper.updateById(userAction);
+ }
+
+ @Override
+ public void updateByIdInBatch(List<UserAction> userActions) {
+ if (CollectionUtils.isEmpty(userActions)) {
+ return;
+ }
+ for (UserAction userAction: userActions) {
+ this.updateById(userAction);
+ }
+ }
+ public static void saveUserActionBiz(LoginUserInfo user,
+ Integer bizId,
+ Constants.UserActionType type,
+ UserActionMapper userActionMapper,
+ Date date,
+ String[] params,
+ String modelInfo,
+ String before,
+ String after) {
+ String info = type.getInfo();
+ if(params!=null){
+ for (int i = 0; i < params.length; i++) {
+ info = info.replace("${param"+(i+1)+"}",params[i]);
+ }
+ }
+ UserAction userAction=new UserAction();
+ userAction.setIsdeleted(Constants.ZERO);
+ userAction.setCreateDate(date);
+ userAction.setCreator(user.getId());
+ userAction.setBeforeStatus(Constants.ZERO);
+ userAction.setType(type.getKey());
+ userAction.setContent(modelInfo);
+ userAction.setRemark(info);
+ userAction.setBeforeInfo(before);
+ userAction.setAfterInfo(after);
+ userAction.setMemberId(bizId+"");
+ userActionMapper.insert(userAction);
+ }
+ @Override
+ public UserAction findById(Integer id) {
+ return userActionMapper.selectById(id);
+ }
+
+ @Override
+ public UserAction findOne(UserAction userAction) {
+ QueryWrapper<UserAction> wrapper = new QueryWrapper<>(userAction);
+ return userActionMapper.selectOne(wrapper);
+ }
+
+ @Override
+ public List<UserAction> findList(UserAction userAction) {
+ QueryWrapper<UserAction> wrapper = new QueryWrapper<>(userAction);
+ return userActionMapper.selectList(wrapper);
+ }
+
+ @Override
+ public PageData<UserAction> findPage(PageWrap<UserAction> pageWrap) {
+ IPage<UserAction> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ MPJLambdaWrapper<UserAction> queryWrapper = new MPJLambdaWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ UserAction queryModel = pageWrap.getModel();
+ queryWrapper.selectAll(UserAction.class)
+ .leftJoin(Member.class,Member::getId,UserAction::getMemberId)
+ .leftJoin(SystemUser.class,SystemUser::getId,UserAction::getCreator)
+ .selectAs(SystemUser::getRealname,UserAction::getCreateName)
+ .selectAs(Member::getName,UserAction::getMemberName)
+ .selectAs(Member::getPhone,UserAction::getMobile)
+ .like(StringUtils.isNotBlank(queryModel.getCreateName()),SystemUser::getRealname,queryModel.getCreateName())
+ .like(StringUtils.isNotBlank(queryModel.getMemberName()),Member::getName,queryModel.getMemberName())
+ .like(StringUtils.isNotBlank(queryModel.getMobile()),Member::getPhone,queryModel.getMobile())
+ .like(StringUtils.isNotBlank(queryModel.getRemark()),Member::getPhone,queryModel.getRemark())
+ .eq(!Objects.isNull(queryModel.getMemberType()),Member::getType,queryModel.getMemberType())
+ .eq(!Objects.isNull(queryModel.getBeforeStatus()),UserAction::getBeforeStatus,queryModel.getBeforeStatus())
+ .eq(!Objects.isNull(queryModel.getType()),UserAction::getType,queryModel.getType())
+ .orderByDesc(UserAction::getCreateDate)
+ ;
+ IPage<UserAction> result = userActionMapper.selectJoinPage(page,UserAction.class,queryWrapper);
+ if(result!=null &&result.getRecords()!=null){
+ for(UserAction model :result.getRecords()){
+ model.setTypeName(Constants.UserActionType.getName(model.getType()));
+ }
+ }
+ return PageData.from(result);
+ }
+
+ @Override
+ public long count(UserAction userAction) {
+ QueryWrapper<UserAction> wrapper = new QueryWrapper<>(userAction);
+ return userActionMapper.selectCount(wrapper);
+ }
+}
--
Gitblit v1.9.3