소스 검색

fixed 员工提成功能迭代

fushengqian 1 년 전
부모
커밋
be0a7c405f

+ 37 - 0
fuint-application/src/main/java/com/fuint/common/enums/CommissionStatusEnum.java

@@ -0,0 +1,37 @@
+package com.fuint.common.enums;
+
+/**
+ * 分佣状态
+ *
+ * Created by FSQ
+ * CopyRight https://www.fuint.cn
+ */
+public enum CommissionStatusEnum {
+    NORMAL("A", "正常"),
+    CANCEL("N", "作废");
+
+    private String key;
+
+    private String value;
+
+    CommissionStatusEnum(String key, String value) {
+        this.key = key;
+        this.value = value;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+}

+ 12 - 11
fuint-application/src/main/java/com/fuint/common/service/AccountService.java

@@ -27,17 +27,17 @@ public interface AccountService extends IService<TAccount> {
     PaginationResponse<AccountDto> getAccountListByPagination(PaginationRequest paginationRequest) throws BusinessCheckException;
 
     /**
-     * 根据用户名获取用户对象
+     * 根据账号名称获取账号信息
      *
-     * @param userName 用户名
+     * @param userName 账号名称
      * @return
-     */
+     * */
     AccountInfo getAccountByName(String userName);
 
     /**
      * 获取用户信息
      *
-     * @param id
+     * @param id 账号ID
      * @return
      */
     TAccount getAccountInfoById(Integer id);
@@ -45,8 +45,8 @@ public interface AccountService extends IService<TAccount> {
     /**
      * 创建账号信息
      *
-     * @param  accountInfo
-     * @param  duties
+     * @param accountInfo 账号信息
+     * @param duties 角色
      * @return
      * */
     TAccount createAccountInfo(TAccount accountInfo, List<TDuty> duties) throws BusinessCheckException;
@@ -54,7 +54,7 @@ public interface AccountService extends IService<TAccount> {
     /**
      * 获取账号角色ID
      *
-     * @param accountId
+     * @param accountId 账号ID
      * @return
      * */
     List<Long> getRoleIdsByAccountId(Integer accountId);
@@ -64,6 +64,7 @@ public interface AccountService extends IService<TAccount> {
      *
      * @param tAccount 账户实体
      * @throws BusinessCheckException
+     * @return
      */
     void editAccount(TAccount tAccount, List<TDuty> duties) throws BusinessCheckException;
 
@@ -86,18 +87,18 @@ public interface AccountService extends IService<TAccount> {
     /**
      * 删除后台账号
      *
-     * @param userId
+     * @param accountId 账号ID
      * @return
      * */
-    void deleteAccount(Long userId);
+    void deleteAccount(Long accountId);
 
     /**
      * 密码加密
      *
-     * @param user
+     * @param tAccount 账号信息
      * @return
      * */
-    void entryptPassword(TAccount user);
+    void entryptPassword(TAccount tAccount);
 
     /**
      * 获取加密密码

+ 4 - 4
fuint-application/src/main/java/com/fuint/common/service/CommissionLogService.java

@@ -5,6 +5,7 @@ import com.fuint.common.dto.CommissionLogDto;
 import com.fuint.framework.pagination.PaginationRequest;
 import com.fuint.framework.pagination.PaginationResponse;
 import com.fuint.framework.exception.BusinessCheckException;
+import com.fuint.module.backendApi.request.CommissionLogRequest;
 import com.fuint.repository.model.MtCommissionLog;
 
 /**
@@ -42,12 +43,11 @@ public interface CommissionLogService extends IService<MtCommissionLog> {
     CommissionLogDto queryCommissionLogById(Integer id) throws BusinessCheckException;
 
     /**
-     * 根据ID删除分销提成记录
+     * 更新分销提成记录
      *
-     * @param id 记录ID
-     * @param operator 操作人
+     * @param commissionLogRequest 请求参数
      * @throws BusinessCheckException
      * @return
      */
-    void deleteCommissionLog(Integer id, String operator) throws BusinessCheckException;
+    void updateCommissionLog(CommissionLogRequest commissionLogRequest) throws BusinessCheckException;
 }

+ 22 - 10
fuint-application/src/main/java/com/fuint/common/service/impl/AccountServiceImpl.java

@@ -122,6 +122,12 @@ public class AccountServiceImpl extends ServiceImpl<TAccountMapper, TAccount> im
         return paginationResponse;
     }
 
+    /**
+     * 根据账号名称获取账号信息
+     *
+     * @param userName 账号名称
+     * @return
+     * */
     @Override
     public AccountInfo getAccountByName(String userName) {
         Map<String, Object> param = new HashMap();
@@ -155,9 +161,15 @@ public class AccountServiceImpl extends ServiceImpl<TAccountMapper, TAccount> im
         }
     }
 
+    /**
+     * 根据ID获取账号信息
+     *
+     * @param userId 账号ID
+     * @return
+     * */
     @Override
-    public TAccount getAccountInfoById(Integer id) {
-        TAccount tAccount = tAccountMapper.selectById(id);
+    public TAccount getAccountInfoById(Integer userId) {
+        TAccount tAccount = tAccountMapper.selectById(userId);
         return tAccount;
     }
 
@@ -283,14 +295,14 @@ public class AccountServiceImpl extends ServiceImpl<TAccountMapper, TAccount> im
     /**
      * 删除账号
      *
-     * @param userId
+     * @param accountId 账号ID
      * @return
      * */
     @Override
     @Transactional(rollbackFor = Exception.class)
     @OperationServiceLog(description = "删除后台账户")
-    public void deleteAccount(Long userId) {
-        TAccount tAccount = tAccountMapper.selectById(userId);
+    public void deleteAccount(Long accountId) {
+        TAccount tAccount = tAccountMapper.selectById(accountId);
         tAccount.setAccountStatus(-1);
         tAccount.setModifyDate(new Date());
         tAccountMapper.updateById(tAccount);
@@ -299,15 +311,15 @@ public class AccountServiceImpl extends ServiceImpl<TAccountMapper, TAccount> im
     /**
      * 设定安全的密码
      *
-     * @param user
+     * @param tAccount 账号信息
      * @return
      */
     @Override
-    public void entryptPassword(TAccount user) {
+    public void entryptPassword(TAccount tAccount) {
         byte[] salt = Digests.generateSalt(8);
-        user.setSalt(Encodes.encodeHex(salt));
-        byte[] hashPassword = Digests.sha1(user.getPassword().getBytes(), salt, 1024);
-        user.setPassword(Encodes.encodeHex(hashPassword));
+        tAccount.setSalt(Encodes.encodeHex(salt));
+        byte[] hashPassword = Digests.sha1(tAccount.getPassword().getBytes(), salt, 1024);
+        tAccount.setPassword(Encodes.encodeHex(hashPassword));
     }
 
     /**

+ 18 - 13
fuint-application/src/main/java/com/fuint/common/service/impl/CommissionLogServiceImpl.java

@@ -4,15 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fuint.common.dto.CommissionLogDto;
-import com.fuint.common.enums.CommissionTargetEnum;
-import com.fuint.common.enums.GoodsTypeEnum;
-import com.fuint.common.enums.OrderTypeEnum;
+import com.fuint.common.enums.*;
 import com.fuint.common.service.*;
 import com.fuint.framework.annoation.OperationServiceLog;
+import com.fuint.framework.exception.BusinessCheckException;
 import com.fuint.framework.pagination.PaginationRequest;
 import com.fuint.framework.pagination.PaginationResponse;
+import com.fuint.module.backendApi.request.CommissionLogRequest;
 import com.fuint.repository.mapper.MtCommissionLogMapper;
-import com.fuint.common.enums.StatusEnum;
 import com.fuint.repository.mapper.MtCommissionRuleItemMapper;
 import com.fuint.repository.mapper.MtOrderGoodsMapper;
 import com.fuint.repository.model.*;
@@ -196,23 +195,29 @@ public class CommissionLogServiceImpl extends ServiceImpl<MtCommissionLogMapper,
     }
 
     /**
-     * 根据ID删除
+     * 更新分销提成记录
      *
-     * @param id 分佣提成记录ID
-     * @param operator 操作人
+     * @param commissionLogRequest 请求参数
      * @return
      */
     @Override
     @Transactional
-    @OperationServiceLog(description = "删除分销提成记录")
-    public void deleteCommissionLog(Integer id, String operator) {
-        MtCommissionLog mtCommissionLog =  mtCommissionLogMapper.selectById(id);
+    @OperationServiceLog(description = "更新分销提成记录")
+    public void updateCommissionLog(CommissionLogRequest commissionLogRequest) throws BusinessCheckException {
+        MtCommissionLog mtCommissionLog =  mtCommissionLogMapper.selectById(commissionLogRequest.getId());
         if (mtCommissionLog == null) {
-            logger.error("删除分销提成记录失败...");
-            return;
+            logger.error("更新分销提成记录失败...");
+            throw new BusinessCheckException("更新分销提成记录失败");
         }
-        mtCommissionLog.setStatus(StatusEnum.DISABLE.getKey());
+        mtCommissionLog.setStatus(commissionLogRequest.getStatus() == null ? CommissionStatusEnum.NORMAL.getKey() : commissionLogRequest.getStatus());
         mtCommissionLog.setUpdateTime(new Date());
+        if (commissionLogRequest.getAmount() != null) {
+            mtCommissionLog.setAmount(new BigDecimal(commissionLogRequest.getAmount()));
+        }
+        if (commissionLogRequest.getDescription() != null) {
+            mtCommissionLog.setDescription(commissionLogRequest.getDescription());
+        }
+        mtCommissionLog.setOperator(commissionLogRequest.getOperator());
         mtCommissionLogMapper.updateById(mtCommissionLog);
     }
 }

+ 39 - 1
fuint-application/src/main/java/com/fuint/module/backendApi/controller/BackendCommissionLogController.java

@@ -2,6 +2,8 @@ package com.fuint.module.backendApi.controller;
 
 import com.fuint.common.dto.AccountInfo;
 import com.fuint.common.dto.CommissionLogDto;
+import com.fuint.common.dto.ParamDto;
+import com.fuint.common.enums.CommissionStatusEnum;
 import com.fuint.common.service.CommissionLogService;
 import com.fuint.common.service.StoreService;
 import com.fuint.common.util.TokenUtil;
@@ -12,7 +14,7 @@ import com.fuint.common.enums.StatusEnum;
 import com.fuint.framework.pagination.PaginationRequest;
 import com.fuint.framework.pagination.PaginationResponse;
 import com.fuint.framework.exception.BusinessCheckException;
-import com.fuint.repository.model.MtCommissionLog;
+import com.fuint.module.backendApi.request.CommissionLogRequest;
 import com.fuint.repository.model.MtStore;
 import com.fuint.utils.StringUtil;
 import io.swagger.annotations.Api;
@@ -21,6 +23,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -103,9 +106,21 @@ public class BackendCommissionLogController extends BaseController {
         }
         List<MtStore> storeList = storeService.queryStoresByParams(paramsStore);
 
+        // 状态列表
+        CommissionStatusEnum[] statusListEnum = CommissionStatusEnum.values();
+        List<ParamDto> statusList = new ArrayList<>();
+        for (CommissionStatusEnum enumItem : statusListEnum) {
+            ParamDto paramDto = new ParamDto();
+            paramDto.setKey(enumItem.getKey());
+            paramDto.setName(enumItem.getValue());
+            paramDto.setValue(enumItem.getKey());
+            statusList.add(paramDto);
+        }
+
         Map<String, Object> result = new HashMap<>();
         result.put("dataList", paginationResponse);
         result.put("storeList", storeList);
+        result.put("statusList", statusList);
 
         return getSuccessResult(result);
     }
@@ -133,4 +148,27 @@ public class BackendCommissionLogController extends BaseController {
 
         return getSuccessResult(result);
     }
+
+    /**
+     * 修改分销提成记录
+     *
+     * @param request HttpServletRequest对象
+     * @return
+     */
+    @ApiOperation(value = "修改分销提成记录")
+    @RequestMapping(value = "/save", method = RequestMethod.POST)
+    @PreAuthorize("@pms.hasPermission('commission:log:index')")
+    public ResponseObject save(HttpServletRequest request, @RequestBody CommissionLogRequest commissionLogRequest) throws BusinessCheckException {
+        String token = request.getHeader("Access-Token");
+
+        AccountInfo accountDto = TokenUtil.getAccountInfoByToken(token);
+        if (accountDto == null) {
+            return getFailureResult(1001, "请先登录");
+        }
+
+        commissionLogRequest.setOperator(accountDto.getAccountName());
+        commissionLogService.updateCommissionLog(commissionLogRequest);
+
+        return getSuccessResult(true);
+    }
 }

+ 30 - 0
fuint-application/src/main/java/com/fuint/module/backendApi/request/CommissionLogRequest.java

@@ -0,0 +1,30 @@
+package com.fuint.module.backendApi.request;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 分佣提成请求参数
+ *
+ * Created by FSQ
+ * CopyRight https://www.fuint.cn
+ */
+@Data
+public class CommissionLogRequest implements Serializable {
+
+    @ApiModelProperty(value="ID", name="id")
+    private Integer id;
+
+    @ApiModelProperty(value="分佣金额", name="amount")
+    private String amount;
+
+    @ApiModelProperty(value="备注说明", name="remark")
+    private String description;
+
+    @ApiModelProperty(value="状态", name="status")
+    private String status;
+
+    @ApiModelProperty(value="最后操作人", name="operator")
+    private String operator;
+}