Commit 9357bbe6 by zhiwj

门店保存店长

parent 0fb92ff8
......@@ -69,6 +69,7 @@ public class StoreDTO extends StoreInfoDTO implements Serializable {
* 有没有在转移中的会员 1有 0没有
*/
private Integer hasTransMember=0;
private ClerkDTO clerkLeader;
public Integer getStoreId() {
return storeId;
......@@ -282,4 +283,12 @@ public class StoreDTO extends StoreInfoDTO implements Serializable {
", hasTransMember=" + hasTransMember +
'}';
}
public void setClerkLeader(ClerkDTO clerkLeader) {
this.clerkLeader = clerkLeader;
}
public ClerkDTO getClerkLeader() {
return clerkLeader;
}
}
\ No newline at end of file
......@@ -45,6 +45,7 @@ import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
......@@ -173,6 +174,12 @@ public class StoreApiServiceImpl implements StoreApiService {
}
Integer id = storeService.save(storeDTO);
storeDTO.setStoreId(id);
// 保存店长 如果店长保存失败 回滚数据
ServiceResponse<Void> serviceResponse = saveClerkLeader(storeDTO);
if (!serviceResponse.isSuccess()) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return ServiceResponse.failure(serviceResponse.getCode(), serviceResponse.getMessage());
}
// 记录门店日志
saveAddLog(storeDTO);
} else {
......@@ -216,6 +223,12 @@ public class StoreApiServiceImpl implements StoreApiService {
return ServiceResponse.success(storeDTO);
}
private ServiceResponse<Void> saveClerkLeader(StoreDTO storeDTO) {
ClerkDTO clerkLeader = storeDTO.getClerkLeader();
clerkLeader.setStoreInfoId(storeDTO.getStoreInfoId());
return clerkApiService.saveOrUpdate(clerkLeader);
}
private ServiceResponse<StoreDTO> valid(StoreDTO storeDTO) {
boolean codeValid = storeService.validateStoreCodeIsExist(storeDTO.getEnterpriseId(), storeDTO.getRegionId(), storeDTO.getStoreCode(), storeDTO.getStoreId());
if (codeValid) {
......
......@@ -33,6 +33,7 @@ import com.gic.store.dto.*;
import com.gic.store.service.*;
import com.gic.store.utils.StoreRedisKeyUtils;
import com.gic.store.web.qo.PageQO;
import com.gic.store.web.qo.clerk.ClerkQO;
import com.gic.store.web.qo.store.QrcodeQO;
import com.gic.store.web.qo.store.StoreExportQO;
import com.gic.store.web.qo.store.StoreQO;
......@@ -108,13 +109,15 @@ public class StoreController extends DownloadUtils {
private BatchOperationApiService batchOperationApiService;
@Autowired
private UserOwnerApiService userOwnerApiService;
@Autowired
private ClerkApiService clerkApiService;
private Map<Integer, SimpleDateFormat> map = new ConcurrentHashMap<>();
private Map<Integer, SimpleDateFormat> map1 = new ConcurrentHashMap<>();
@RequestMapping("/save-store")
public RestResponse saveOrUpdate(@Validated({StoreQO.SaveValidView.class}) StoreQO storeQO) {
public RestResponse saveOrUpdate(@Validated({StoreQO.SaveValidView.class}) StoreQO storeQO, ClerkQO clerkQO) {
logger.info("门店参数:{}", JSON.toJSONString(storeQO));
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
StoreDTO storeDTO = EntityUtil.changeEntityByOrika(StoreDTO.class, storeQO);
......@@ -141,6 +144,11 @@ public class StoreController extends DownloadUtils {
storeDTO.setRemark(storeQO.getStoreId() == null ? "手工新增" : "单个编辑");
storeDTO.setOperatorId(UserDetailUtils.getUserDetail().getUserId());
storeDTO.setOperatorName(UserDetailUtils.getUserDetail().getUserInfo().getUserName());
// 保存店长
if (storeQO.getStoreId() != null) {
ClerkDTO saveClerk = getSaveClerk(clerkQO);
storeDTO.setClerkLeader(saveClerk);
}
ServiceResponse<StoreDTO> serviceResponse = storeApiService.saveOrUpdate(storeDTO);
if (serviceResponse.isSuccess()) {
LogUtils.createLog((storeQO.getStoreId() == null ? "新增" : "编辑") + "门店", storeQO.getStoreName());
......@@ -150,6 +158,22 @@ public class StoreController extends DownloadUtils {
}
}
private ClerkDTO getSaveClerk(ClerkQO clerkQO) {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
ClerkDTO clerkDTO = EntityUtil.changeEntityByOrika(ClerkDTO.class, clerkQO);
clerkDTO.setEnterpriseId(enterpriseId);
clerkDTO.setReason(ClerkLogReasonEnum.WEB.getCode());
if (clerkQO.getClerkId() == null) {
clerkDTO.setRemark("手工新增");
} else {
clerkDTO.setRemark("单个编辑");
}
clerkDTO.setOperatorId(UserDetailUtils.getUserDetail().getUserId());
clerkDTO.setOperatorName(UserDetailUtils.getUserDetail().getUserInfo().getUserName());
clerkQO.setClerkGender(com.gic.store.constant.Constants.CLERK_LEADER_POSITION_ID);
return clerkDTO;
}
@RequestMapping("/store-detail")
public RestResponse getStoreDetail(Integer storeId) {
Integer enterpriseId = UserDetailUtils.getUserDetail().getEnterpriseId();
......@@ -382,8 +406,8 @@ public class StoreController extends DownloadUtils {
if (type == 1 && toStoreId != null) {
// 如果是批量修改状态 要转移门店
ServiceResponse<Void> serviceResponse = storeTransferApiService.save(UserDetailUtils.getUserDetail().getEnterpriseId(), storeIds, toStoreId);
tranMemberStore(storeIds, memberTransStoreId, memberTransType);
}
tranMemberStore(storeIds, memberTransStoreId, memberTransType);
// 写日志
String[] storeArr = storeIds.split(",");
StoreSearchDTO storeSearchDTO = new StoreSearchDTO();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment