server_commit
This commit is contained in:
@@ -126,14 +126,14 @@ public class PwdUtil {
|
||||
// System.out.println(dbPwd);
|
||||
// System.out.println(s);
|
||||
|
||||
String pwd = "006207";
|
||||
String pwd = "004512";
|
||||
String dbPwd = PwdUtil.doSm4CbcEncrypt(pwd);
|
||||
System.out.println(dbPwd);
|
||||
|
||||
// 7fdc9e096de7e2c18e4ed4efa16f50f8
|
||||
|
||||
// e43646c461a8ee364c569552225e28be
|
||||
// String ddPwd = PwdUtil.doSm4CbcDecrypt("7fdc9e096de7e2c18e4ed4efa16f50f8");
|
||||
// String ddPwd = PwdUtil.doSm4CbcDecrypt("d3b42e17dba55dbe9bfa471c8ff191d9");
|
||||
// System.out.println(ddPwd);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,12 @@ import io.v.nutz.base.utils.LoginUtil;
|
||||
import io.v.nutz.base.utils.PwdUtil;
|
||||
import io.v.nutz.sys.models.Sys_user;
|
||||
import io.v.nutz.sys.services.SysUserService;
|
||||
import io.v.nutz.web.commons.base.Globals;
|
||||
import io.v.nutz.web.commons.shiro.exception.CaptchaEmptyException;
|
||||
import io.v.nutz.web.commons.shiro.exception.CaptchaIncorrectException;
|
||||
import io.v.nutz.web.commons.shiro.filter.PlatformAuthenticationFilter;
|
||||
import io.v.nutz.web.commons.utils.ShiroUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authc.AuthenticationException;
|
||||
@@ -29,10 +31,13 @@ import org.nutz.mvc.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
@IocBean
|
||||
@At("/mobile/login")
|
||||
@Ok("json")
|
||||
@Slf4j
|
||||
public class mobileLoginController {
|
||||
|
||||
@Inject
|
||||
@@ -164,4 +169,31 @@ public class mobileLoginController {
|
||||
return Result.success();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 解绑微信openId
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@At
|
||||
@Ok("re")
|
||||
public String clearWxOpenId() {
|
||||
try {
|
||||
sysUserService.update(Chain.make("openId", null), Cnd.where("id", "=", ShiroUtil.getPrincipalProperty("id")));
|
||||
Subject subject = SecurityUtils.getSubject();
|
||||
Sys_user user = (Sys_user) subject.getPrincipal();
|
||||
subject.logout();
|
||||
sysUserService.deleteCache(user.getId());
|
||||
return ">>:" + "https://zhgh.hrbnu.edu.cn/platform/wechat/oauth";
|
||||
} catch (SessionException ise) {
|
||||
log.debug("Encountered session exception during logout. This can generally safely be ignored.", ise);
|
||||
return ">>:" + "https://zhgh.hrbnu.edu.cn/platform/wechat/oauth";
|
||||
} catch (Exception e) {
|
||||
log.debug("Logout error", e);
|
||||
return ">>:" + "https://zhgh.hrbnu.edu.cn/platform/wechat/oauth";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -584,9 +584,9 @@ public class WelfareCommonController {
|
||||
entityList.add(new ExcelExportEntity("所选福利", "gift_name", 20));
|
||||
}
|
||||
|
||||
if (welfareProject.getProvideMode().equals(WelfareProvideMode.PERSONAL.getCode())) {
|
||||
entityList.add(new ExcelExportEntity("配送地址", "receiveAddress", 60));
|
||||
}
|
||||
// if (welfareProject.getProvideMode().equals(WelfareProvideMode.PERSONAL.getCode())) {
|
||||
entityList.add(new ExcelExportEntity("取货地址", "receiveAddress", 60));
|
||||
// }
|
||||
|
||||
try {
|
||||
ViTool.excelResponse(response, "会员福利领取情况.xls");
|
||||
|
||||
@@ -120,19 +120,16 @@ public class WelfareListController {
|
||||
wus.userSign,
|
||||
wus.courierNumber,
|
||||
GROUP_CONCAT(
|
||||
DISTINCT
|
||||
CONCAT(
|
||||
wuso.optionName,
|
||||
IF(wus.receiveAddress IS NOT NULL AND wus.receiveAddress != '', CONCAT('(', wus.receiveAddress, ')'), '')
|
||||
)
|
||||
) AS receiveAddress,
|
||||
IF
|
||||
( wus.receiveAddress IS NOT NULL AND wus.receiveAddress != '', wus.receiveAddress, '' )
|
||||
) AS receiveAddress,
|
||||
GROUP_CONCAT( DISTINCT wuso.optionName, '(', wus.selectNum, '份)' ) AS gist_list
|
||||
FROM
|
||||
view_welfare_list wl
|
||||
LEFT JOIN welfare_project_user_selection wus ON wus.welfareId = wl.projectId
|
||||
LEFT JOIN welfare_project_user_selection wus ON wus.welfareId = wl.projectId
|
||||
AND wus.selectUserId = wl.id
|
||||
LEFT JOIN welfare_project_subject_option wuso ON wus.selectOptionId = wuso.id
|
||||
LEFT JOIN welfare_courier_number wcn on wcn.selectUserId = wl.id
|
||||
LEFT JOIN welfare_courier_number wcn on wcn.selectUserId = wl.id
|
||||
LEFT JOIN welfare_project wp ON wp.id = wus.welfareId
|
||||
$condition
|
||||
""");
|
||||
|
||||
@@ -24,6 +24,7 @@ import org.nutz.ioc.aop.Aop;
|
||||
import org.nutz.ioc.loader.annotation.Inject;
|
||||
import org.nutz.ioc.loader.annotation.IocBean;
|
||||
import org.nutz.json.Json;
|
||||
import org.nutz.lang.Lang;
|
||||
import org.nutz.mvc.annotation.At;
|
||||
import org.nutz.mvc.annotation.Ok;
|
||||
import org.nutz.mvc.annotation.Param;
|
||||
@@ -32,6 +33,7 @@ import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @ClassName WelfareChooseController
|
||||
@@ -126,6 +128,12 @@ public class WelfareUserChooseController {
|
||||
selection.setReceiveAddress(receiveAddress);
|
||||
insertList.add(selection);
|
||||
});
|
||||
|
||||
List<WelfareUserSelection> list = insertList.stream().filter(v -> v.getSelectNum() > 1).collect(Collectors.toList());
|
||||
if (Lang.isNotEmpty(list)) {
|
||||
return Result.error();
|
||||
}
|
||||
|
||||
simpleService.dao().insert(insertList);
|
||||
simpleService.dao().update(WelfareList.class,
|
||||
Chain.make("isReceive", true),
|
||||
@@ -170,6 +178,9 @@ public class WelfareUserChooseController {
|
||||
for (WelfareUserSelection welfareUserSelection : welfareUserSelections) {
|
||||
welfareUserSelection.setSelectUserId(userId);
|
||||
welfareUserSelection.setSelectTime(new Date());
|
||||
if (welfareUserSelection.getSelectNum() > 1) {
|
||||
return Result.error("福利选择限制超过最大限制");
|
||||
}
|
||||
}
|
||||
|
||||
simpleService.dao().insert(welfareUserSelections);
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 165 KiB |
@@ -306,6 +306,10 @@ layout("/mobile/platform.html"){
|
||||
<img src="/assets/mobile/img/home/1民主管理.jpg" alt="" class="menu_item_img" />
|
||||
<span class="menu_item_name">修改密码</span>
|
||||
</div>
|
||||
<div @click="loginOut" class="menu_item">
|
||||
<img src="/assets/mobile/img/home/解除绑定.jpg" alt="" class="menu_item_img" />
|
||||
<span class="menu_item_name">解除绑定</span>
|
||||
</div>
|
||||
<div @click="switchModuleMenus(item)" v-for="item in moduleMenus" class="menu_item">
|
||||
<img :src="CREATE_PREVIEW_URL(item.iconClass)" alt="" class="menu_item_img" />
|
||||
<span class="menu_item_name">{{item.moduleName}}</span>
|
||||
@@ -525,6 +529,15 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
async loginOut(){
|
||||
const confirm = await vant.Dialog.confirm({
|
||||
title: '提示',
|
||||
message: '您确定要解除绑定当前登录账号吗?'
|
||||
})
|
||||
if (confirm === 'confirm') {
|
||||
window.location.href = '/mobile/login/clearWxOpenId'
|
||||
}
|
||||
},
|
||||
updatePwd() {
|
||||
this.updatePwdShow = true
|
||||
},
|
||||
|
||||
@@ -74,8 +74,9 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
|
||||
.logo {
|
||||
height: 300px;
|
||||
/*height: 300px;*/
|
||||
position: relative; /* 如果之前使用了绝对定位,改为相对定位 */
|
||||
height: 30%;
|
||||
z-index: 1; /* 确保logo在content下方 */
|
||||
}
|
||||
|
||||
@@ -86,7 +87,7 @@ layout("/mobile/platform.html"){
|
||||
</style>
|
||||
<div v-cloak id="app">
|
||||
<div class="logo">
|
||||
<img style="width: 100%" src="/assets/mobile/img/login.png" />
|
||||
<img style="width: 100%;height: 30vh" src="/assets/mobile/img/login.png" />
|
||||
</div>
|
||||
<div class="content">
|
||||
<van-row><h1 style="margin: 0px 0;color: #1d1b1b;font-family: 'SourceHanSansCN-Heav"> {{ '' }} </h1></van-row>
|
||||
|
||||
@@ -325,7 +325,7 @@ layout("/mobile/platform.html"){
|
||||
<van-cell>
|
||||
<van-field label="联系方式" v-model="mobile" required placeholder="请输入联系方式" type="tel" maxlength="11"></van-field>
|
||||
</van-cell>
|
||||
<van-cell @click="openShoppingPopup(item,index)" is-link title="收货门店" v-if="item.shoppingId">
|
||||
<van-cell @click="openShoppingPopup(item,index)" is-link title="取货门店" v-if="item.shoppingId">
|
||||
<template #label>{{item.receiveAddress?item.receiveAddress:'暂未选择'}}</template>
|
||||
</van-cell>
|
||||
</van-cell>
|
||||
@@ -640,12 +640,13 @@ layout("/mobile/platform.html"){
|
||||
}
|
||||
})
|
||||
if (notReceiveAddress.length > 0) {
|
||||
this.$modal.msg("请填写收货门店:" + notReceiveAddress.join(","))
|
||||
this.$modal.msg("请选择取货门店:" + notReceiveAddress.join(","))
|
||||
return
|
||||
}
|
||||
const { code, msg, data } = await $.post("/platform/welfare/userChoose/confirmSelect", {
|
||||
welfareUserSelections: JSON.stringify(formData),
|
||||
projectId: this.projectId
|
||||
projectId: this.projectId,
|
||||
mobile: this.mobile
|
||||
})
|
||||
if (code === 0) {
|
||||
this.getUserSelection(this.projectId)
|
||||
|
||||
@@ -330,13 +330,13 @@ layout("/layouts/platform.html"){
|
||||
|
||||
|
||||
</template>
|
||||
<template #func>
|
||||
<!--<template #func>
|
||||
<div class="mr10" v-if="unionLeaderCoach">
|
||||
<!--团长:<span style="color: #419BF8">{{headData.username | str}}</span> –>-->
|
||||
<!–团长:<span style="color: #419BF8">{{headData.username | str}}</span> –>–>
|
||||
领队:<span style="color: #419BF8">{{LeaderData.username | str}} </span> 
|
||||
教练:<span style="color: #419BF8">{{CoachData.username | str}}</span>
|
||||
<!-- 工作人员:<span
|
||||
style="color: #419BF8">{{staffData.username | str}}</span>-->
|
||||
<!– 工作人员:<span
|
||||
style="color: #419BF8">{{staffData.username | str}}</span>–>
|
||||
</div>
|
||||
<div>
|
||||
<el-button @click="openLeaderCoach" plain type="primary"
|
||||
@@ -344,7 +344,7 @@ layout("/layouts/platform.html"){
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
</template>-->
|
||||
</table-tool>
|
||||
|
||||
<el-table :data="tableData" :size="tableSize" @sort-change="pageOrder"
|
||||
@@ -1873,8 +1873,9 @@ layout("/layouts/platform.html"){
|
||||
this.athleteMaxNum = data.athletesMaxNum
|
||||
} else {
|
||||
if (data.unionLimit) {
|
||||
data.unionLimit = JSON.parse(data.unionLimit)
|
||||
const unionLimit = data.unionLimit.find(v => v.id === "${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
const unionLimitData = JSON.parse(data.unionLimit)
|
||||
// data.unionLimit = JSON.parse(data.unionLimit)
|
||||
const unionLimit = unionLimitData.find(v => v.id === "${@shiro.getPrincipalProperty('unit').getUnionid()}")
|
||||
this.athleteMaxNum = unionLimit.limitCount
|
||||
} else {
|
||||
this.athleteMaxNum = 0
|
||||
@@ -1954,7 +1955,7 @@ layout("/layouts/platform.html"){
|
||||
}
|
||||
|
||||
if (awardsModeG.length > 0) {
|
||||
this.appliedData3 = awardsModeG
|
||||
this.appliedData = awardsModeG
|
||||
}
|
||||
if (awardsModeT.length > 0) {
|
||||
this.appliedData = awardsModeT
|
||||
@@ -2100,7 +2101,7 @@ layout("/layouts/platform.html"){
|
||||
})
|
||||
//判断每一个选手填写的是否正确
|
||||
for (let i = 0; i < appliedData.length; i++) {
|
||||
if (!appliedData[i].position) {
|
||||
/* if (!appliedData[i].position) {
|
||||
this.$message.warning("请填写完整职称职务!")
|
||||
return
|
||||
}
|
||||
@@ -2113,7 +2114,7 @@ layout("/layouts/platform.html"){
|
||||
this.$message.warning("手机号填写不正确!")
|
||||
return
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
if (this.appliedData3.length == 0 && this.appliedData.length == 0) {
|
||||
@@ -2480,7 +2481,6 @@ layout("/layouts/platform.html"){
|
||||
this.rightChecked = v
|
||||
},
|
||||
flushApplyed(applyed) {
|
||||
debugger
|
||||
if (this.activityData2.id === "6a2546b6df41457b871d590c0290eb07") {
|
||||
if (["00dfa3b4f2ad4d238277b1345e6437f3", "6748ad4bd12c4af5b32c3ceace7fc694"].includes(this.team)
|
||||
&& "${@shiro.getPrincipalProperty('unit').getUnionid()}" !== "6234c0450ef0414f87a38794faac6c3d") {
|
||||
|
||||
@@ -287,17 +287,17 @@ layout("/layouts/platform.html"){
|
||||
size="small"
|
||||
@click="doAudit(true)"
|
||||
>
|
||||
核对名单
|
||||
提交核对
|
||||
</el-button>
|
||||
<!-- 取消确认 -->
|
||||
<!--<el-button
|
||||
<el-button
|
||||
:disabled="moment(projectInfo.choiceTimeEnd).valueOf()<moment().valueOf()"
|
||||
type="danger"
|
||||
size="small"
|
||||
@click="doAudit(false)"
|
||||
>
|
||||
取消核对
|
||||
</el-button>-->
|
||||
</el-button>
|
||||
<!-- <el-button :disabled="!pageForm.projectId" type="primary" size="small"
|
||||
icon="el-icon-download"
|
||||
@click="openExportWelFareList(pageForm.projectId)">导出签字表
|
||||
@@ -670,8 +670,8 @@ layout("/layouts/platform.html"){
|
||||
},
|
||||
tableColumns: commonColumns.concat([
|
||||
{ prop: "isChoose", label: "是否选择", width: "100px", sortable: true },
|
||||
{ prop: "gist_list", label: "所选福利", width: "100px" },
|
||||
{ prop: "receiveAddress", label: "地址", width: "100px" },
|
||||
{ prop: "gist_list", label: "所选福利"},
|
||||
{ prop: "receiveAddress", label: "取货门店"},
|
||||
{ prop: "userSign", label: "签字", width: "100px", checked: 0 },
|
||||
{ prop: "isAudit", label: "是否核对" },
|
||||
{ prop: "auditTime", label: "核对时间", checked: 0 }
|
||||
@@ -782,7 +782,8 @@ layout("/layouts/platform.html"){
|
||||
this.notifyWarning("当前分工会没有名单,暂不需要提交")
|
||||
return
|
||||
}
|
||||
const confirm = await this.$confirm("您确定名单都已核实,准确无误,提交后无法撤回,是否确认提交?", "提示", {
|
||||
const msg = flag ? "您确定名单都已核实,准确无误,提交后无法撤回,是否确认提交?" : "您是否要取消核对名单?"
|
||||
const confirm = await this.$confirm(msg , "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
|
||||
Reference in New Issue
Block a user