From 1e676b408c8c7e1ccca08b151619d89fdc2bc9bf Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 10 十月 2023 14:40:31 +0800
Subject: [PATCH] Merge branch 'dev' of http://139.186.142.91:10010/r/productDev/parkBike into dev
---
server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java | 17 +++
server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java | 6 +
server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java | 57 ++++++++++
server/services/src/main/java/com/doumee/service/system/SystemDictDataService.java | 14 ++
server/services/src/main/java/com/doumee/service/business/MemberService.java | 28 +++++
server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 64 ++++++++++++
server/platform/src/main/java/com/doumee/api/business/MemberController.java | 16 +++
server/services/src/main/java/com/doumee/dao/business/web/response/MiniProgrammeDTO.java | 59 ++++++++---
server/services/src/main/java/com/doumee/dao/business/model/Member.java | 2
9 files changed, 239 insertions(+), 24 deletions(-)
diff --git a/server/platform/src/main/java/com/doumee/api/business/MemberController.java b/server/platform/src/main/java/com/doumee/api/business/MemberController.java
index 7962b8d..f09c46e 100644
--- a/server/platform/src/main/java/com/doumee/api/business/MemberController.java
+++ b/server/platform/src/main/java/com/doumee/api/business/MemberController.java
@@ -38,6 +38,14 @@
return ApiResponse.success(memberService.create(member));
}
+ @PreventRepeat
+ @ApiOperation("绠$悊鍛橀厤缃�")
+ @PostMapping("/createManageMember")
+ @RequiresPermissions("business:member:create")
+ public ApiResponse<String> createManageMember(@RequestBody Member member){
+ return ApiResponse.success(memberService.createManageMember(member));
+ }
+
@ApiOperation("鏍规嵁ID鍒犻櫎")
@GetMapping("/delete/{id}")
@RequiresPermissions("business:member:delete")
@@ -67,6 +75,14 @@
return ApiResponse.success(null);
}
+ @ApiOperation("鏍规嵁ID淇敼鍗′俊鎭�")
+ @PostMapping("/updateById")
+ @RequiresPermissions("business:member:update")
+ public ApiResponse update(@RequestBody Member member){
+ memberService.update(member);
+ return ApiResponse.success(null);
+ }
+
@ApiOperation("鍒嗛〉鏌ヨ")
@PostMapping("/page")
@RequiresPermissions("business:member:query")
diff --git a/server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java b/server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java
index 152535f..e93063b 100644
--- a/server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java
+++ b/server/platform/src/main/java/com/doumee/api/system/SystemDictDataController.java
@@ -7,6 +7,7 @@
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.web.response.MiniProgrammeDTO;
import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.vo.SystemDictDataListVO;
@@ -79,4 +80,20 @@
public ApiResponse<PageData<SystemDictDataListVO>> findPage (@RequestBody PageWrap<QuerySystemDictDataDTO> pageWrap) {
return ApiResponse.success(systemDictDataService.findPage(pageWrap));
}
+
+ @ApiOperation("鍒嗛〉鏌ヨ灏忕▼搴忓熀纭�閰嶇疆")
+ @PostMapping("/getMiniProgrammeDTO")
+// @RequiresPermissions("system:dict:update")
+ public ApiResponse<MiniProgrammeDTO> getMiniProgrammeDTO(){
+ return ApiResponse.success(systemDictDataService.getMiniProgrammeDTO());
+ }
+
+ @ApiOperation("淇敼灏忕▼搴忓熀纭�閰嶇疆")
+ @PostMapping("/updateMiniProgrammeDTO")
+// @RequiresPermissions("system:dict:update")
+ public ApiResponse updateMiniProgrammeDTO(@RequestBody MiniProgrammeDTO miniProgrammeDTO){
+ systemDictDataService.updateMiniProgrammeDTO(miniProgrammeDTO);
+ return ApiResponse.success(null);
+
+ }
}
diff --git a/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java b/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
index 83eab12..aee7901 100644
--- a/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
+++ b/server/services/src/main/java/com/doumee/core/mqtt/service/MqttPushCallback.java
@@ -8,21 +8,27 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+/**
+ * @author T14
+ */
@Service
public class MqttPushCallback implements MqttCallback {
@Autowired
private DeviceSubcribeService deviceSubcribeService;
//鎺ユ敹娑堟伅鍥炶皟
+ @Override
public void connectionLost(Throwable cause) {
// 杩炴帴涓㈠け鍚庯紝涓�鑸湪杩欓噷闈㈣繘琛岄噸杩�
System.out.println("杩炴帴鏂紑锛屽彲浠ュ仛閲嶈繛");
}
+ @Override
public void deliveryComplete(IMqttDeliveryToken token) {
System.out.println("deliveryComplete---------" + token.isComplete());
}
+ @Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
// subscribe鍚庡緱鍒扮殑娑堟伅浼氭墽琛屽埌杩欓噷闈�
System.out.println("鎺ユ敹娑堟伅涓婚 : " + topic);
diff --git a/server/services/src/main/java/com/doumee/dao/business/model/Member.java b/server/services/src/main/java/com/doumee/dao/business/model/Member.java
index b607224..b21c16e 100644
--- a/server/services/src/main/java/com/doumee/dao/business/model/Member.java
+++ b/server/services/src/main/java/com/doumee/dao/business/model/Member.java
@@ -1,5 +1,6 @@
package com.doumee.dao.business.model;
+import com.baomidou.mybatisplus.annotation.TableLogic;
import com.doumee.core.annotation.excel.ExcelColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@@ -45,6 +46,7 @@
@ApiModelProperty(value = "鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�", example = "1")
@ExcelColumn(name="鏄惁宸插垹闄� 0鏈垹闄� 1宸插垹闄�")
+ @TableLogic
private Integer isdeleted;
@ApiModelProperty(value = "澶囨敞")
diff --git a/server/services/src/main/java/com/doumee/dao/business/web/response/MiniProgrammeDTO.java b/server/services/src/main/java/com/doumee/dao/business/web/response/MiniProgrammeDTO.java
index dd4f919..fa51b26 100644
--- a/server/services/src/main/java/com/doumee/dao/business/web/response/MiniProgrammeDTO.java
+++ b/server/services/src/main/java/com/doumee/dao/business/web/response/MiniProgrammeDTO.java
@@ -1,7 +1,13 @@
package com.doumee.dao.business.web.response;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+
+import java.io.IOException;
/**
* @author T14
@@ -10,48 +16,69 @@
public class MiniProgrammeDTO {
@ApiModelProperty("涓婚〉涓婚")
- private String projectName;
+ private String projectName = "";
@ApiModelProperty("鏈嶅姟鐢佃瘽")
- private String serverPhone;
+ private String serverPhone = "";
@ApiModelProperty("鎶奸噾閲戦")
- private String rentDeposit;
+ private String rentDeposit = "";
@ApiModelProperty("钀ヤ笟鏃堕棿璧峰")
- private String businessStarttime;
+ private String businessStarttime = "";
@ApiModelProperty("钀ヤ笟鏃堕棿缁撴潫")
- private String businessEndtime;
+ private String businessEndtime = "";
@ApiModelProperty("鍏嶈垂楠戣鏃堕暱")
- private String freeRentTime;
+ private String freeRentTime = "";
@ApiModelProperty("婊¤冻棰勮鏈�灏忓��")
- private String warnMin;
+ private String warnMin = "";
@ApiModelProperty("婊¤冻棰勮鏈�澶у��")
- private String warnMax;
+ private String warnMax = "";
@ApiModelProperty("灏忕▼搴忛璀﹂拤閽夌兢鍦板潃")
- private String warnDingdingUrl;
+ private String warnDingdingUrl = "";
@ApiModelProperty("绉熻祦娴佺▼瑙嗛")
- private String rentTipsVideo;
+ private String rentTipsVideo = "";
@ApiModelProperty("楠戣溅閫氱煡鍐呭")
- private String rentNotice;
+ private String rentNotice = "";
@ApiModelProperty("鏄惁鍋滄鏈嶅姟")
- private String isStopServe;
+ private String isStopServe = "";
@ApiModelProperty("鍋滄鏈嶅姟鎻愮ず")
- private String stopServeTips;
-
+ private String stopServeTips = "";
@ApiModelProperty("鍋滄鏈嶅姟寮�濮�")
- private String stopServeStarttime;
+ private String stopServeStarttime = "";
@ApiModelProperty("鍋滄鏈嶅姟缁撴潫")
- private String stopServeEndtime;
+ private String stopServeEndtime = "";
+
+ /**
+ * 瀵硅薄椹煎嘲灞炴�ц浆涓嬪垝绾�
+ * @param object
+ * @return
+ * @throws JsonProcessingException
+ */
+ public static String toUnderlineJSONString(Object object) throws JsonProcessingException {
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
+ mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
+ String reqJson = mapper.writeValueAsString(object);
+ return reqJson;
+ }
+
+
+ public static <T> T toSnakeObject(String json, Class<T> clazz) throws IOException {
+ ObjectMapper mapper = new ObjectMapper();
+ mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
+ T reqJson = mapper.readValue(json, clazz);
+ return reqJson;
+ }
}
diff --git a/server/services/src/main/java/com/doumee/service/business/MemberService.java b/server/services/src/main/java/com/doumee/service/business/MemberService.java
index 9aefd3a..bc36b2a 100644
--- a/server/services/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/services/src/main/java/com/doumee/service/business/MemberService.java
@@ -19,11 +19,19 @@
/**
* 鍒涘缓
- *
+ *
* @param member 瀹炰綋瀵硅薄
* @return String
*/
String create(Member member);
+
+ /**
+ * 鍒涘缓
+ *
+ * @param member 瀹炰綋瀵硅薄
+ * @return String
+ */
+ String createManageMember(Member member);
/**
* 涓婚敭鍒犻櫎
@@ -52,6 +60,14 @@
* @param member 瀹炰綋瀵硅薄
*/
void updateById(Member member);
+
+
+ /**
+ * 涓婚敭鏇存柊鍗′俊鎭�
+ *
+ * @param member 瀹炰綋瀵硅薄
+ */
+ void update(Member member);
/**
* 鎵归噺涓婚敭鏇存柊
@@ -83,7 +99,7 @@
* @return List<Member>
*/
List<Member> findList(Member member);
-
+
/**
* 鍒嗛〉鏌ヨ
*
@@ -92,6 +108,14 @@
*/
PageData<Member> findPage(PageWrap<Member> pageWrap);
+
+ /**
+ * 鍒嗛〉鏌ヨ鍗′俊鎭�
+ *
+ * @param pageWrap 鍒嗛〉瀵硅薄
+ * @return PageData<Member>
+ */
+ PageData<Member> findManagerMemberPage(PageWrap<Member> pageWrap);
/**
* 鏉′欢缁熻
*
diff --git a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index 20b977d..d0051b2 100644
--- a/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -12,6 +12,7 @@
import com.doumee.core.constants.Constants;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Utils;
@@ -26,6 +27,7 @@
import com.doumee.service.business.MemberService;
import me.chanjar.weixin.common.error.WxErrorException;
import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -57,6 +59,36 @@
}
@Override
+ public String createManageMember(Member member) {
+ LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+
+ QueryWrapper<Member> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .eq(Member::getIsdeleted,Constants.ZERO)
+ .eq(Member::getType,Constants.ONE)
+ .eq(Member::getCardNo,member.getCardNo());
+ Integer integer = memberMapper.selectCount(wrapper);
+
+ if (integer > 0){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鍗″彿瀛樺湪閲嶅");
+ }
+ Member insert = new Member();
+ insert.setCreateDate(new Date());
+ insert.setCreator(principal.getId());
+ insert.setEditDate(new Date());
+ insert.setEditor(principal.getId());
+ insert.setIsdeleted(Constants.ZERO);
+ insert.setName(member.getName());
+ insert.setName(member.getNickname());
+ insert.setStatus(Constants.ZERO);
+ insert.setRegisterDate(new Date());
+ insert.setCardNo(member.getCardNo());
+ insert.setType(Constants.ONE);
+ memberMapper.insert(member);
+ return member.getId();
+ }
+
+ @Override
public void deleteById(String id) {
memberMapper.deleteById(id);
}
@@ -78,6 +110,19 @@
@Override
public void updateById(Member member) {
memberMapper.updateById(member);
+ }
+
+ @Override
+ public void update(Member member) {
+ LoginUserInfo principal = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+ Member update = new Member();
+ update.setId(member.getId());
+ update.setName(member.getName());
+ update.setStatus(member.getStatus());
+ update.setEditDate(new Date());
+ update.setEditor(principal.getId());
+ memberMapper.updateById(member);
+
}
@Override
@@ -106,7 +151,7 @@
QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
return memberMapper.selectList(wrapper);
}
-
+
@Override
public PageData<Member> findPage(PageWrap<Member> pageWrap) {
IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
@@ -195,6 +240,23 @@
return PageData.from(memberMapper.selectPage(page, queryWrapper));
}
+
+ @Override
+ public PageData<Member> findManagerMemberPage(PageWrap<Member> pageWrap) {
+
+ IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+ QueryWrapper<Member> queryWrapper = new QueryWrapper<>();
+ Utils.MP.blankToNull(pageWrap.getModel());
+ if (pageWrap.getModel().getName() != null) {
+ queryWrapper.lambda().like(Member::getName, pageWrap.getModel().getName());
+ }
+ if (pageWrap.getModel().getCardNo() != null) {
+ queryWrapper.lambda().like(Member::getCardNo, pageWrap.getModel().getCardNo());
+ }
+ queryWrapper.lambda().eq(Member::getType, Constants.ONE);
+ return PageData.from(memberMapper.selectPage(page, queryWrapper));
+ }
+
@Override
public long count(Member member) {
QueryWrapper<Member> wrapper = new QueryWrapper<>(member);
diff --git a/server/services/src/main/java/com/doumee/service/system/SystemDictDataService.java b/server/services/src/main/java/com/doumee/service/system/SystemDictDataService.java
index 063b5ac..bf33cbf 100644
--- a/server/services/src/main/java/com/doumee/service/system/SystemDictDataService.java
+++ b/server/services/src/main/java/com/doumee/service/system/SystemDictDataService.java
@@ -2,6 +2,7 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.web.response.MiniProgrammeDTO;
import com.doumee.dao.system.dto.QuerySystemDictDataDTO;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.vo.SystemDictDataListVO;
@@ -70,7 +71,7 @@
* @date 2022/03/15 09:54
*/
List<SystemDictData> findList(SystemDictData systemDictData);
-
+
/**
* 鍒嗛〉鏌ヨ
* @author Eva.Caesar Liu
@@ -85,4 +86,15 @@
*/
long count(SystemDictData systemDictData);
+ /**
+ * 鑾峰彇灏忕▼搴忛厤缃�
+ * @return
+ */
+ MiniProgrammeDTO getMiniProgrammeDTO();
+
+ /**
+ * 淇敼灏忕▼搴忛厤缃�
+ * @param miniProgrammeDTO
+ */
+ void updateMiniProgrammeDTO(MiniProgrammeDTO miniProgrammeDTO);
}
diff --git a/server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java b/server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
index 74ee0c0..ce54721 100644
--- a/server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
+++ b/server/services/src/main/java/com/doumee/service/system/impl/SystemDictDataServiceImpl.java
@@ -1,5 +1,11 @@
package com.doumee.service.system.impl;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.dao.business.web.response.MiniProgrammeDTO;
+import com.fasterxml.jackson.core.JsonProcessingException;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.doumee.core.model.PageData;
@@ -11,13 +17,15 @@
import com.doumee.service.system.SystemDictDataService;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
-import java.util.List;
-import java.util.UUID;
+import java.io.IOException;
+import java.util.*;
+import java.util.stream.Collectors;
import com.doumee.core.constants.Constants;
@@ -86,7 +94,7 @@
Wrapper<SystemDictData> wrapper = new QueryWrapper<>(systemDictData).orderByAsc("sort");
return systemDictDataMapper.selectList(wrapper);
}
-
+
@Override
public PageData<SystemDictDataListVO> findPage(PageWrap<QuerySystemDictDataDTO> pageWrap) {
PageHelper.startPage(pageWrap.getPage(), pageWrap.getCapacity());
@@ -99,7 +107,48 @@
return systemDictDataMapper.selectCount(wrapper);
}
+ @Override
+ public MiniProgrammeDTO getMiniProgrammeDTO() {
+ try {
+ String jasonStr = MiniProgrammeDTO.toUnderlineJSONString(new MiniProgrammeDTO());
+ JSONObject parse = (JSONObject) JSONObject.parse(jasonStr);
+ List<String> collect = parse.entrySet().stream().map(s -> s.getKey().toUpperCase()).collect(Collectors.toList());
+ QueryWrapper<SystemDictData> wrapper = new QueryWrapper<>();
+ wrapper.lambda()
+ .in(SystemDictData::getLabel,collect);
+ List<SystemDictData> systemDictData = systemDictDataMapper.selectList(wrapper);
+ if (CollectionUtils.isEmpty(systemDictData)){
+ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"瀛楀吀涓嶅瓨鍦�");
+ }
+ systemDictData.forEach(s->{
+ parse.put(s.getLabel().toLowerCase(),s.getCode());
+ });
+ String s = parse.toJSONString();
+ MiniProgrammeDTO miniProgrammeDTO = MiniProgrammeDTO.toSnakeObject(s, MiniProgrammeDTO.class);
+ return miniProgrammeDTO;
+ } catch (Exception e) {
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀛楀吀鍊艰В鏋愭湁璇�");
+ }
+ }
-
+ @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+ @Override
+ public void updateMiniProgrammeDTO(MiniProgrammeDTO miniProgrammeDTO) {
+ try {
+ String jasonStr = MiniProgrammeDTO.toUnderlineJSONString(miniProgrammeDTO);
+ JSONObject parse = (JSONObject) JSONObject.parse(jasonStr);
+ parse.entrySet().forEach(s->{
+ if (StringUtils.isEmpty((String)s.getValue())){
+ UpdateWrapper<SystemDictData> wrapper = new UpdateWrapper<>();
+ wrapper.lambda()
+ .eq(SystemDictData::getLabel,s.getKey().toUpperCase())
+ .set(SystemDictData::getCode,s.getValue());
+ systemDictDataMapper.update(null,wrapper);
+ }
+ });
+ } catch (JsonProcessingException e) {
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀛楀吀鍊艰В鏋愭湁璇�");
+ }
+ }
}
--
Gitblit v1.9.3