Procházet zdrojové kódy

Merge remote-tracking branch 'origin/develop' into develop

‘linchangsheng’ před 6 měsíci
rodič
revize
c3acce072b
17 změnil soubory, kde provedl 101 přidání a 44 odebrání
  1. 3 3
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/commonmapper/MaterialMapper.java
  2. 1 1
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/common/SMSLogic.java
  3. 1 1
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/material/NormRecordLogic.java
  4. 1 1
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/material/PartsRefundLogic.java
  5. 22 22
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/material/parts/OldRefundManageLogic.java
  6. 3 0
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/material/parts/WebsitPartsSalesOrderLogic.java
  7. 2 2
      mall-miniapp-service/src/main/resources/mapper/MaterialMapper.xml
  8. 3 0
      mall-server-api/src/main/java/com/gree/mall/manager/bean/material/manage/WebsitPartsCreditBean.java
  9. 2 2
      mall-server-api/src/main/java/com/gree/mall/manager/bean/material/manage/WebsitPartsCreditItemVO.java
  10. 4 3
      mall-server-api/src/main/java/com/gree/mall/manager/bean/material/manage/WebsitPartsCreditVO.java
  11. 5 0
      mall-server-api/src/main/java/com/gree/mall/manager/constant/Constant.java
  12. 2 2
      mall-server-api/src/main/java/com/gree/mall/manager/enums/material/PartsCreditEnum.java
  13. 4 1
      mall-server-api/src/main/java/com/gree/mall/manager/logic/admin/AdminCompanyWechatLogic.java
  14. 6 5
      mall-server-api/src/main/java/com/gree/mall/manager/logic/admin/AdminWebsitLogic.java
  15. 37 0
      mall-server-api/src/main/java/com/gree/mall/manager/logic/common/CommonLogic.java
  16. 2 1
      mall-server-api/src/main/java/com/gree/mall/manager/logic/material/manage/WebsitPartsCreditLogic.java
  17. 3 0
      mall-server-api/src/main/java/com/gree/mall/manager/logic/material/manage/WebsitPartsSalesOrderLogic.java

+ 3 - 3
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/commonmapper/MaterialMapper.java

@@ -62,7 +62,7 @@ public interface MaterialMapper {
      *
      * @param page
      * @param companyWechatId
-     * @param userId
+     * @param workerId
      * @param orderId
      * @param goodsType
      * @param startTime
@@ -72,7 +72,7 @@ public interface MaterialMapper {
     @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
     IPage<NormRecordVO> normRecordList(IPage page,
                                        @Param("companyWechatId") String companyWechatId,
-                                       @Param("userId") String userId,
+                                       @Param("workerId") String workerId,
                                        @Param("orderId") String orderId,
                                        @Param("goodsType") String goodsType,
                                        @Param("startTime") String startTime,
@@ -81,7 +81,7 @@ public interface MaterialMapper {
     @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
     IPage<PartsRefundVO> partsRefundList(Page<Object> objectPage,
                                          @Param("companyWechatId") String currentCompanyWechatId,
-                                         @Param("userId") String userId,
+                                         @Param("workerId") String workerId,
                                          @Param("type") String type,
                                          @Param("status") String status);
 

+ 1 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/common/SMSLogic.java

@@ -232,7 +232,7 @@ public class SMSLogic {
         //6位随机数
         if (!active.equals("prd")) {
             //记录发送的code
-            redisUtil.set(Constant.RedisPrefix.SMS + ":" + mobile, "000000", 1 * 60);
+            redisUtil.set(Constant.RedisPrefix.SMS + ":" + mobile, "000000", 60);
         } else {
             Random random = new Random();
             int num = (int) (random.nextDouble() * (1000000 - 100000) + 100000);

+ 1 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/material/NormRecordLogic.java

@@ -37,7 +37,7 @@ public class NormRecordLogic {
         }
         CurrentCompanyWechat wechat = commonLogic.getCurrentCompanyWechat(request);
         IPage<NormRecordVO> page = materialMapper.normRecordList(new Page<>(pageNum, pageSize), wechat.getCurrentCompanyWechatId(),
-                wechat.getUserId(), orderId, goodsType, startTime, endTime);
+                wechat.getUser().getWorkerNumber(), orderId, goodsType, startTime, endTime);
         return page;
     }
 

+ 1 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/material/PartsRefundLogic.java

@@ -42,7 +42,7 @@ public class PartsRefundLogic {
     public IPage<PartsRefundVO> list(String type, String status, Integer pageNum, Integer pageSize, HttpServletRequest request) {
         CurrentCompanyWechat wechat = commonLogic.getCurrentCompanyWechat(request);
         IPage<PartsRefundVO> page = materialMapper.partsRefundList(new Page<>(pageNum, pageSize), wechat.getCurrentCompanyWechatId(),
-                wechat.getUserId(), type, status);
+                wechat.getUser().getWorkerNumber(), type, status);
         if (CollectionUtil.isNotEmpty(page.getRecords())) {
             // 查出明细
             List<WebsitPartsRetItem> itemList = websitPartsRetItemService.lambdaQuery()

+ 22 - 22
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/material/parts/OldRefundManageLogic.java

@@ -124,8 +124,8 @@ public class OldRefundManageLogic {
     }
 
     @Transactional
-    public String add(SalesCustomerPartsBean bean) {
-        try {
+    public String add(SalesCustomerPartsBean bean) throws Exception {
+//        try {
             ValidateUtil.validate(bean, ValidGroup.Add.class);
             for (SalesCustomerPartsItemBean itemBean : bean.getItems()) {
                 try {
@@ -228,26 +228,26 @@ public class OldRefundManageLogic {
             materialGoodsStockLogic.handleWorkerStock(workerStockDTOList);
 
             return sheetId;
-        } catch (Exception e) {
-            WorkerSalesCustomerInfo info = workerSalesCustomerInfoService.lambdaQuery()
-                    .eq(WorkerSalesCustomerInfo::getCompanyWechatId, bean.getCompanyWechatId())
-                    .eq(WorkerSalesCustomerInfo::getWorkOrderNo, bean.getWorkOrderNo())
-                    .eq(WorkerSalesCustomerInfo::getRepairFlag, bean.getRepairFlag())
-                    .one();
-
-            if (Objects.isNull(info)) {
-                info = new WorkerSalesCustomerInfo();
-                info.setErr(e.getMessage())
-                        .setSalesCustomerJson(JSONUtil.toJsonStr(bean))
-                        .setIdentity(bean.getIdentity())
-                        .setCompanyWechatId(bean.getCompanyWechatId())
-                        .insert();
-            } else {
-                info.setErr(e.getMessage())
-                        .updateById();
-            }
-        }
-        return null;
+//        } catch (Exception e) {
+//            WorkerSalesCustomerInfo info = workerSalesCustomerInfoService.lambdaQuery()
+//                    .eq(WorkerSalesCustomerInfo::getCompanyWechatId, bean.getCompanyWechatId())
+//                    .eq(WorkerSalesCustomerInfo::getWorkOrderNo, bean.getWorkOrderNo())
+//                    .eq(WorkerSalesCustomerInfo::getRepairFlag, bean.getRepairFlag())
+//                    .one();
+//
+//            if (Objects.isNull(info)) {
+//                info = new WorkerSalesCustomerInfo();
+//                info.setErr(e.getMessage())
+//                        .setSalesCustomerJson(JSONUtil.toJsonStr(bean))
+//                        .setIdentity(bean.getIdentity())
+//                        .setCompanyWechatId(bean.getCompanyWechatId())
+//                        .insert();
+//            } else {
+//                info.setErr(e.getMessage())
+//                        .updateById();
+//            }
+//        }
+//        return null;
     }
 
     private List<WorkerStockDTO> createWorkerStockDTO(WebsitPartsOldRefundManage partsOldRefundManage,

+ 3 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/material/parts/WebsitPartsSalesOrderLogic.java

@@ -640,6 +640,9 @@ public class WebsitPartsSalesOrderLogic {
                             .setCompanyWechatName(partsSalesOrderBean.getCompanyWechatName())
                             .setWebsitId(partsSalesOrderBean.getWebsitId())
                             .setWebsitName(partsSalesOrderBean.getWebsitName())
+                            .setWorkerId(partsSalesOrderBean.getWorkerId())
+                            .setWorkerName(partsSalesOrderBean.getWorkerName())
+                            .setIdentity(partsSalesOrderBean.getIdentity())
                             .setMobile(partsSalesOrderBean.getMobile())
                             .setSalesId(partsSalesOrderBean.getId())
                             .setSalesItemId(itemBean.getId())

+ 2 - 2
mall-miniapp-service/src/main/resources/mapper/MaterialMapper.xml

@@ -298,7 +298,7 @@
             websit_norm_record a
         WHERE
             a.company_wechat_id = #{companyWechatId}
-            AND a.worker_id = #{userId}
+            AND a.worker_id = #{workerId}
         <if test="orderId!=null and orderId!=''">
             AND a.order_id LIKE CONCAT ('%', #{orderId}, '%')
         </if>
@@ -318,7 +318,7 @@
         websit_parts_ret a
         WHERE
         a.company_wechat_id = #{companyWechatId}
-        AND a.worker_id = #{userId}
+        AND a.worker_id = #{workerId}
         <if test="type!=null and type!=''">
             AND a.type = #{type}
         </if>

+ 3 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/material/manage/WebsitPartsCreditBean.java

@@ -13,6 +13,9 @@ import java.util.Date;
 @Data
 public class WebsitPartsCreditBean {
 
+    @ApiModelProperty(value = "记账id")
+    private String id;
+
     @ApiModelProperty(value = "网点编号")
     private String websitId;
 

+ 2 - 2
mall-server-api/src/main/java/com/gree/mall/manager/bean/material/manage/WebsitPartsCreditItemVO.java

@@ -105,9 +105,9 @@ public class WebsitPartsCreditItemVO {
     @ApiModelProperty("收款状态")
     private PartsCreditEnum creditStatus;
 
-    @ApiModelProperty("收款人")
+    @ApiModelProperty("更新人")
     private String updateBy;
 
-    @ApiModelProperty("收款时间")
+    @ApiModelProperty("更新时间")
     private Date updateTime;
 }

+ 4 - 3
mall-server-api/src/main/java/com/gree/mall/manager/bean/material/manage/WebsitPartsCreditVO.java

@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.Date;
 
 @Data
 @ApiModel
@@ -35,12 +36,12 @@ public class WebsitPartsCreditVO {
     @ApiModelProperty(value = "记账总金额")
     private BigDecimal total;
 
-    @ApiModelProperty(value = "记账总金额")
+    @ApiModelProperty(value = "已付款金额")
     private BigDecimal recTotal;
 
-    @ApiModelProperty(value = "记账总金额")
+    @ApiModelProperty(value = "未付款金额")
     private BigDecimal creditTotal;
 
     @ApiModelProperty(value = "更新时间")
-    private Data updateTime;
+    private Date updateTime;
 }

+ 5 - 0
mall-server-api/src/main/java/com/gree/mall/manager/constant/Constant.java

@@ -1,5 +1,8 @@
 package com.gree.mall.manager.constant;
 
+import java.util.Arrays;
+import java.util.List;
+
 public class Constant {
 
     //校验的token
@@ -21,6 +24,8 @@ public class Constant {
     // 辅材编号前缀
     public final static String FC = "FC";
 
+    public final static List<String> INIT_INCR_LIST = Arrays.asList("WEBSIT_ID");
+
     public class Ali {
         public final static String ACCESS_KEY_ID = "LTAI4GK1q4mnpCFbonMd1pji";
         public final static String ACCESS_KEY_SECERT = "E5LW0V1H8HBxqjKkExIxaXUgSyex6C";

+ 2 - 2
mall-server-api/src/main/java/com/gree/mall/manager/enums/material/PartsCreditEnum.java

@@ -11,8 +11,8 @@ import lombok.RequiredArgsConstructor;
 @Getter
 @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
 public enum PartsCreditEnum implements BaseEnum,IEnum<Boolean> {
-    NOT("true","未收款"),
-    END("false","已收款"),
+    NOT("false","未收款"),
+    END("true","已收款"),
     ;
 
     @EnumValue

+ 4 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/admin/AdminCompanyWechatLogic.java

@@ -12,6 +12,7 @@ import com.gree.mall.manager.bean.admin.reqDto.AdminUserAddReqBean;
 import com.gree.mall.manager.bean.admin.respDto.AdminCompanyWechatRespPageBean;
 import com.gree.mall.manager.commonmapper.AdminMapper;
 import com.gree.mall.manager.config.wx.WxConfiguration;
+import com.gree.mall.manager.constant.Constant;
 import com.gree.mall.manager.enums.RoleTypeEnum;
 import com.gree.mall.manager.enums.admin.AdminWebsitTypeEnum;
 import com.gree.mall.manager.exception.RemoteServiceException;
@@ -146,9 +147,11 @@ public class AdminCompanyWechatLogic {
         adminWebsit.setParentId("1");
         adminWebsit.setType(AdminWebsitTypeEnum.B.getKey());
         adminWebsit.insert();
+        commonLogic.initIncrKeyValue(adminCompanyWechat.getCompanyWechatId(), adminCompanyWechat.getCompanyName(), Constant.INIT_INCR_LIST);
         //生成网点部门挂在商户目录下
         AdminWebsit adminWebsit2 = new AdminWebsit();
-        adminWebsit2.setWebsitId(IdWorker.getIdStr());
+        String websitId = commonLogic.getIncrKeyValue(adminCompanyWechat.getCompanyWechatId(), "WEBSIT_ID", "A",6);
+        adminWebsit2.setWebsitId(websitId);
         adminWebsit2.setName(adminCompanyWechat.getCompanyName()+"-网点");
         adminWebsit2.setWebsitNumber(adminWebsit.getWebsitId());
         adminWebsit2.setCompanyWechatId(adminCompanyWechat.getCompanyWechatId());

+ 6 - 5
mall-server-api/src/main/java/com/gree/mall/manager/logic/admin/AdminWebsitLogic.java

@@ -175,10 +175,16 @@ public class AdminWebsitLogic {
 //            }
 //        }
 
+        adminWebsit.setCompanyWechatId(parent.getCompanyWechatId());
+        adminWebsit.setCompanyWechatName(parent.getCompanyWechatName());
+
         if (parent.getType().equals(AdminWebsitTypeEnum.A.getKey())) {
+            adminWebsit.setWebsitId(IdWorker.getIdStr());
             adminWebsit.setType(AdminWebsitTypeEnum.B.getKey());
         } else if (parent.getType().equals(AdminWebsitTypeEnum.B.getKey())) {
             adminWebsit.setType(AdminWebsitTypeEnum.C.getKey());
+            String websitId = commonLogic.getIncrKeyValue(adminWebsit.getCompanyWechatId(), "WEBSIT_ID", "A",6);
+            adminWebsit.setWebsitId(websitId);
         }
 
         if (adminUser.getType() == 2 && adminWebsit.getType().equals(AdminWebsitTypeEnum.C.getKey())) {
@@ -193,11 +199,6 @@ public class AdminWebsitLogic {
             throw new RemoteServiceException("支付配置不能为空");
         }
 
-        adminWebsit.setCompanyWechatId(parent.getCompanyWechatId());
-        adminWebsit.setCompanyWechatName(parent.getCompanyWechatName());
-        if (!adminWebsit.getType().equals(AdminWebsitTypeEnum.C.getKey())) {
-            adminWebsit.setWebsitId(IdWorker.getIdStr());
-        }
         adminWebsit.setWebsitNumber(adminWebsit.getWebsitId());
         adminWebsit.insert();
 

+ 37 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/common/CommonLogic.java

@@ -1,5 +1,6 @@
 package com.gree.mall.manager.logic.common;
 
+import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.TypeReference;
@@ -23,6 +24,8 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.servlet.http.HttpServletRequest;
@@ -90,6 +93,8 @@ public class CommonLogic {
 
     @Autowired
     AdminDeptWebsitService adminDeptWebsitService;
+    @Autowired
+    IncrKeyValueService incrKeyValueService;
 
     public Map<String, String> getOSSConfig() throws UnsupportedEncodingException {
         return ossUtil.getConfig();
@@ -583,4 +588,36 @@ public class CommonLogic {
                 return BigDecimal.ZERO;
         }
     }
+
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public String getIncrKeyValue(String companyWechatId, String key, String start, int length) {
+        final IncrKeyValue incrKeyValue = incrKeyValueService.lambdaQuery()
+                .eq(IncrKeyValue::getCompanyWechatId, companyWechatId)
+                .eq(IncrKeyValue::getIncrKey, key)
+                .one();
+        final Integer value = incrKeyValue.getIncrValue();
+        incrKeyValue.setIncrValue(incrKeyValue.getIncrValue() + 1)
+                .updateById();
+        StringBuilder number = new StringBuilder();
+        number.append(start);
+        int ramainLen = length - number.toString().length();
+        //自增 填充位数
+        number.append(String.format("%0" + ramainLen + "d", Integer.parseInt(value.toString())));
+        return number.toString();
+    }
+
+    @Transactional(propagation = Propagation.REQUIRES_NEW)
+    public void initIncrKeyValue(String companyWechatId, String companyWechatName, List<String> keys) {
+        if (CollectionUtil.isNotEmpty(keys)) {
+            List<IncrKeyValue> list = new ArrayList<>();
+            for (String key : keys) {
+                IncrKeyValue incrKeyValue = new IncrKeyValue();
+                incrKeyValue.setCompanyWechatId(companyWechatId)
+                        .setCompanyName(companyWechatName)
+                        .setIncrKey(key);
+                list.add(incrKeyValue);
+            }
+            incrKeyValueService.saveBatch(list);
+        }
+    }
 }

+ 2 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/material/manage/WebsitPartsCreditLogic.java

@@ -68,7 +68,7 @@ public class WebsitPartsCreditLogic {
             throw new RemoteServiceException("单号不存在");
         }
         final WebsitPartsSales sales = websitPartsSalesService.lambdaQuery()
-                .eq(WebsitPartsSales::getCompanyWechatId, adminUser.getCompanyWechatId())
+                .eq(Objects.nonNull(adminUser.getAdminCompanyWechat()), WebsitPartsSales::getCompanyWechatId, adminUser.getCompanyWechatId())
                 .eq(WebsitPartsSales::getId, record.getSalesId())
                 .one();
         if (Objects.isNull(sales)) {
@@ -82,6 +82,7 @@ public class WebsitPartsCreditLogic {
                 .one();
         WebsitPartsCreditBean bean = new WebsitPartsCreditBean();
         BeanUtils.copyProperties(sales, bean);
+        bean.setId(record.getId());
         bean.setCreditStatus(record.getCreditStatus());
         bean.setItemTotalAmount(record.getTotalAmount());
         bean.setItem(item);

+ 3 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/material/manage/WebsitPartsSalesOrderLogic.java

@@ -712,6 +712,9 @@ public class WebsitPartsSalesOrderLogic {
                             .setCompanyWechatName(partsSalesOrderBean.getCompanyWechatName())
                             .setWebsitId(partsSalesOrderBean.getWebsitId())
                             .setWebsitName(partsSalesOrderBean.getWebsitName())
+                            .setWorkerId(partsSalesOrderBean.getWorkerId())
+                            .setWorkerName(partsSalesOrderBean.getWorkerName())
+                            .setIdentity(partsSalesOrderBean.getIdentity())
                             .setMobile(partsSalesOrderBean.getMobile())
                             .setSalesId(partsSalesOrderBean.getId())
                             .setSalesItemId(itemBean.getId())