From 110a99baa82a748bee993ad01ca03370c9dc0cf2 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 01 Nov 2021 17:41:41 +0800
Subject: [PATCH] fix service and order numOfPeople
---
zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java | 3 +
zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java | 3 +
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 6 ++
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html | 1
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 7 +++
zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java | 14 +++++--
zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java | 1
zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java | 4 +-
zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java | 50 ++++++++++++++++++++-----
zq-erp/src/main/resources/config/application.properties | 6 ++
zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java | 7 +++
zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java | 10 +++++
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java | 5 ++
13 files changed, 97 insertions(+), 20 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
index f3e8702..44a65ca 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
@@ -68,12 +68,15 @@
@Value("${static_resource_url}")
private String nginxUrl;
+ @Value("${login_public_key}")
+ private String publicKey;
+
@ApiOperation(value = "登陆接口", notes = "手机端登陆接口")
@ApiResponses({
@ApiResponse(code = 200, message = "OK", response = UserInfoVo.class)
})
@PostMapping(value = "/login")
- public AjaxResult login(@RequestBody @Validated LoginDto loginDto) {
+ public AjaxResult login(@RequestBody @Validated LoginDto loginDto) throws Exception {
SysUsers user = new SysUsers();
user.setSuAccount(loginDto.getUsername());
@@ -97,10 +100,12 @@
userInfoVo.setRoleName(user.getRoleName());
userInfoVo.setPhoto(user.getSuPhoto());
+ String sb = token + "_1" + "_/api/vip/findVipInfoById/972";
AjaxResult result = AjaxResult.buildSuccessInstance("登陆成功");
authorityManager.initUserPower(result,user);
result.putInMap("user", userInfoVo);
result.putInMap("token", token);
+ result.putInMap("rasToken", RSAUtils.encryptByPublicKey(sb, publicKey));
return result;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java
index 312228d..5827bb1 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiSettingAction.java
@@ -12,10 +12,7 @@
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
/**
* @author jyy
@@ -44,4 +41,13 @@
return result;
}
+ @ApiOperation(value = "根据code获取配置", notes = "根据code获取配置")
+ @GetMapping(value = "/findAppSettingsByCode")
+ public AjaxResult findAppSettingsByCode(String code) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ AjaxResult result = AjaxResult.buildSuccessInstance("查询成功");
+ result.putInMap(code, busParameterSettingsDao.selectCompanyParamByCode(code,user.getCompanyId()));
+ return result;
+ }
+
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java
index 325c469..1934aaf 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/vo/VipInfoVo.java
@@ -42,6 +42,16 @@
@ApiModelProperty(value = "累计消费")
private BigDecimal totalShopping;
+ @ApiModelProperty(value = "欠款")
+ private BigDecimal arrears;
+
+ public BigDecimal getArrears() {
+ return arrears;
+ }
+
+ public void setArrears(BigDecimal arrears) {
+ this.arrears = arrears;
+ }
public String getPhoto() {
return photo;
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
index 9edf94f..fed9f78 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
@@ -261,6 +261,7 @@
vips.get(0).setLabels(sysVipLabelDao.selectByVipId(vips.get(0).getId()));
vips.get(0).setAge(DateUtil.getAgeForBirthDay(vips.get(0).getBirthday1()));
vips.get(0).setBalance(moneyCardUseDao.selectVipCardTotalMoney(vips.get(0).getId()));
+ vips.get(0).setArrears(sysOrderService.findVipArrearsByVipId(vips.get(0).getId()));
AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, vips, 0);
return result;
} else {
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
index 72f4119..09224d4 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/bean/SysVipInfo.java
@@ -9,6 +9,7 @@
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
+import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@@ -437,8 +438,7 @@
private String name;
+ private BigDecimal arrears;
-
-
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
index c052f28..22ef160 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysOrderDao.java
@@ -9,6 +9,7 @@
import com.matrix.system.shopXcx.api.vo.ErpOrderDetailVo;
import org.apache.ibatis.annotations.Param;
+import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@@ -54,4 +55,6 @@
List<ErpOrderDetailVo> selectErpOrderList(ErpOrderListDto erpOrderListDto);
ErpOrderDetailVo findUserOrderById(Long orderId);
+
+ BigDecimal selectArrearsByVipId(Long vipId);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
index 6e0e060..2be2912 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysOrderService.java
@@ -12,6 +12,7 @@
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpSession;
+import java.math.BigDecimal;
import java.util.List;
/**
@@ -142,4 +143,6 @@
List<RankingVo> findApiShopAchieveRanking(SysOrder sysOrder);
+ BigDecimal findVipArrearsByVipId(Long vipId);
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
index afec062..ff89cae 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
@@ -174,8 +174,7 @@
boolean flag = projServicesService.skipServiceOrderStep(Dictionary.SALE_MAN_IS_CONSUME_ACHIEVE);
-
-
+ Set<Long> beautyIds = new HashSet<>();
for (SysBeauticianState beauticianState : beauticianStateList) {
// 是否第一次计算改美疗师
boolean isFirst = true;
@@ -222,13 +221,13 @@
// }
}
- List<AchieveNew> beautyList = achieveNewDao.selectBeautyManAchieveList(beauticianState.getStaffId(), projServices.getVipId(), new Date());
- if (CollUtil.isEmpty(beautyList)) {
- achieveNew.setNumberOfPeople(1D / size);
- } else {
- achieveNew.setNumberOfPeople(1D / (size + beautyList.size()));
- achieveNewDao.updateAchieveNumOfPeople(beautyList, achieveNew.getNumberOfPeople());
- }
+// List<AchieveNew> beautyList = achieveNewDao.selectBeautyManAchieveList(beauticianState.getStaffId(), projServices.getVipId(), new Date());
+// if (CollUtil.isEmpty(beautyList)) {
+// achieveNew.setNumberOfPeople(1D / size);
+// } else {
+// achieveNew.setNumberOfPeople(1D / (size + beautyList.size()));
+// achieveNewDao.updateAchieveNumOfPeople(beautyList, achieveNew.getNumberOfPeople());
+// }
achieveNew.setProjNum(1);
if (StringUtils.isNotBlank(beauticianState.getExtract())) {
@@ -244,11 +243,14 @@
achieveNew.setProjTime(beauticianState.getExcTime());
isFirst = false;
}
+
+ beautyIds.add(achieveNew.getBeaultId());
achieveNewList.add(achieveNew);
}
if (CollectionUtils.isNotEmpty(achieveNewList)) {
achieveNewDao.batchInsert(achieveNewList);
+ achieveNumOfPeople(beautyIds, projServices.getVipId());
}
}
@@ -297,9 +299,31 @@
}
}
+ /**
+ *
+ * 合并订单与服务单人头逻辑,即每一个客户对美疗师/顾问来说,每一天同一个客户只算一个人头。
+ * 如若A给客户X下订单,并给客户X服务,对A来说只算一个人头
+ */
+ private void achieveNumOfPeople(Set<Long> beautyIds, Long vipId) {
+ for (Long userId : beautyIds) {
+ double num;
+ List<AchieveNew> achieveNewList = achieveNewDao.selectBeautyManAchieveList(userId, vipId, new Date());
+
+ if (CollUtil.isEmpty(achieveNewList)) {
+ num = 1D;
+ } else {
+ num = 1D / achieveNewList.size();
+ }
+
+ achieveNewDao.updateAchieveNumOfPeople(achieveNewList, num);
+ }
+
+ }
+
@Override
public void addAchaeveByOrder(SysOrder pageOrder) {
List<AchieveNew> achieveNewList = new ArrayList<>();
+ Set<Long> beautyIds = new HashSet<>();
if (CollectionUtils.isNotEmpty(pageOrder.getItems())) {
for (SysOrderItem orderItem : pageOrder.getItems()) {
@@ -309,13 +333,19 @@
if (achieveNew !=null && achieveNew.getGoodsCash()!=null) {
buildAchieve(pageOrder, orderItem, achieveNew);
achieveNewList.add(achieveNew);
+
+ beautyIds.add(achieveNew.getBeaultId());
}
}
}
}
}
+
if (CollectionUtils.isNotEmpty(achieveNewList)) {
achieveNewDao.batchInsert(achieveNewList);
+ if (!beautyIds.isEmpty()) {
+ achieveNumOfPeople(beautyIds, pageOrder.getVipId());
+ }
}
}
@@ -354,7 +384,7 @@
}
// 设置顾问人头业绩
- saleAchieveNumOfPeople(achieveNew);
+// saleAchieveNumOfPeople(achieveNew);
achieveNew.setOrderType(Dictionary.ORDER_TYPE_SEAL);
achieveNew.setOrderId(pageOrder.getId());
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index f569ace..f9bc208 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -1853,4 +1853,9 @@
sysInstoreInfoService.check(instoreInfo);
}
+
+ @Override
+ public BigDecimal findVipArrearsByVipId(Long vipId) {
+ return sysOrderDao.selectArrearsByVipId(vipId);
+ }
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
index 8980936..359169f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -79,6 +79,9 @@
@Autowired
ScoreVipDetailService scoreVipDetailService;
+ @Autowired
+ private SysOrderDao sysOrderDao;
+
/**
* 新增会员储值卡
@@ -440,7 +443,9 @@
@Override
public com.matrix.system.app.vo.VipInfoVo findApiVipInfoById(Long id) {
- return sysVipInfoDao.selectVipInfoById(id);
+ com.matrix.system.app.vo.VipInfoVo result = sysVipInfoDao.selectVipInfoById(id);
+ result.setArrears(sysOrderDao.selectArrearsByVipId(id));
+ return result;
}
@Override
diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties
index 7b6d3b6..a110e8a 100644
--- a/zq-erp/src/main/resources/config/application.properties
+++ b/zq-erp/src/main/resources/config/application.properties
@@ -4,9 +4,13 @@
#线上测试环境
#
+#spring.datasource.username=ct_test
+#spring.datasource.password=123456
+#spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test_meidu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
+
spring.datasource.username=ct_test
spring.datasource.password=123456
-spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test_meidu?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
+spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
#spring.datasource.username=xc_shop
#spring.datasource.password=xc_shop123!@#
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
index a9ba0be..955e108 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -494,7 +494,7 @@
MAX(pay_time) payTime,
GROUP_CONCAT(DISTINCT t2.shop_short_name) shopName
from sys_order t1
- left join sys_order_flow b on t1.id=b.ORDER_ID and pay_method!='储值卡'
+ left join sys_order_flow b on t1.id=b.ORDER_ID and pay_method!='储值卡' and pay_method!='欠款'
left join sys_shop_info t2 on t1.SHOP_ID=t2.ID
where t1.VIP_ID=#{vipId} and STATU='已付款';
</select>
@@ -690,4 +690,8 @@
</select>
+ <select id="selectArrearsByVipId" resultType="java.math.BigDecimal">
+ select sum(arrears) from sys_order
+ where vip_id=#{vipId} and statu='欠款'
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
index c2b4cda..654e4b9 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/vip.html
@@ -150,6 +150,7 @@
<el-row style="padding: 10px 20px;">
<p>余额:<span v-if="vipInfo.balance != null">{{vipInfo.balance}}元</span></p>
<p>积分:<span v-if="vipInfo.pointAll != null">{{vipInfo.pointAll}}</span></p>
+ <p>欠款金额:<span v-if="vipInfo.arrears != null">{{vipInfo.arrears}} 元</span></p>
<p>累计消费金额:<span v-if="vipInfo.totalMoney != null">{{vipInfo.totalMoney.toFixed(2)}} 元</span></p>
<p>累计消费次数:<span v-if="vipInfo.totalTimes != null">{{vipInfo.totalTimes}} 次</span></p>
<p>上次消费时间:<span v-if="vipInfo.payTime">{{vipInfo.payTime}}</span></p>
--
Gitblit v1.9.1