保存进度!

This commit is contained in:
Kane Wang 2023-09-21 16:56:34 +08:00
parent 0d0b61db3c
commit 1d554056ac
12 changed files with 537 additions and 234 deletions

View File

@ -4,6 +4,12 @@ CREATE OR REPLACE PACKAGE telsaler_reward_pkg IS
-- Created : 2023/9/13 10:05:43 -- Created : 2023/9/13 10:05:43
-- Purpose : 坐席奖励相关的包 -- Purpose : 坐席奖励相关的包
PROCEDURE add_telsaler_reward
(
a_reward_index VARCHAR2,
a_telsaler_name VARCHAR2
);
PROCEDURE save_telsaler_reward PROCEDURE save_telsaler_reward
( (
a_rec_id INTEGER, a_rec_id INTEGER,
@ -17,6 +23,30 @@ END telsaler_reward_pkg;
/ /
CREATE OR REPLACE PACKAGE BODY telsaler_reward_pkg IS CREATE OR REPLACE PACKAGE BODY telsaler_reward_pkg IS
PROCEDURE add_telsaler_reward
(
a_reward_index VARCHAR2,
a_telsaler_name VARCHAR2
) IS
BEGIN
BEGIN
INSERT INTO telsaler_reward
(reward_index,
telsaler_name)
VALUES
(a_reward_index,
a_telsaler_name);
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -00001
THEN
raise_application_error(-20001,
'ÖµÖظ´');
END IF;
END;
COMMIT;
END;
PROCEDURE save_telsaler_reward PROCEDURE save_telsaler_reward
( (
a_rec_id INTEGER, a_rec_id INTEGER,

View File

@ -21,7 +21,7 @@
"devDependencies": { "devDependencies": {
"@babel/eslint-parser": "^7.22.15", "@babel/eslint-parser": "^7.22.15",
"@rushstack/eslint-patch": "^1.4.0", "@rushstack/eslint-patch": "^1.4.0",
"@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/eslint-plugin": "^6.7.2",
"@vitejs/plugin-vue": "^4.3.4", "@vitejs/plugin-vue": "^4.3.4",
"@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8",
"@vue/eslint-config-typescript": "^12.0.0", "@vue/eslint-config-typescript": "^12.0.0",
@ -31,7 +31,7 @@
"eslint-config-standard-with-typescript": "^39.0.0", "eslint-config-standard-with-typescript": "^39.0.0",
"eslint-plugin-vue": "^9.17.0", "eslint-plugin-vue": "^9.17.0",
"node-sass": "^9.0.0", "node-sass": "^9.0.0",
"sass": "^1.67.0", "sass": "^1.68.0",
"style-loader": "^3.3.3", "style-loader": "^3.3.3",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"vue-eslint-parser": "^9.3.1" "vue-eslint-parser": "^9.3.1"
@ -1578,16 +1578,16 @@
} }
}, },
"node_modules/@typescript-eslint/eslint-plugin": { "node_modules/@typescript-eslint/eslint-plugin": {
"version": "6.7.0", "version": "6.7.2",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.0.tgz", "resolved": "https://registry.npmmirror.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.2.tgz",
"integrity": "sha512-gUqtknHm0TDs1LhY12K2NA3Rmlmp88jK9Tx8vGZMfHeNMLE3GH2e9TRub+y+SOjuYgtOmok+wt1AyDPZqxbNag==", "integrity": "sha512-ooaHxlmSgZTM6CHYAFRlifqh1OAr3PAQEwi7lhYhaegbnXrnh7CDcHmc3+ihhbQC7H0i4JF0psI5ehzkF6Yl6Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@eslint-community/regexpp": "^4.5.1", "@eslint-community/regexpp": "^4.5.1",
"@typescript-eslint/scope-manager": "6.7.0", "@typescript-eslint/scope-manager": "6.7.2",
"@typescript-eslint/type-utils": "6.7.0", "@typescript-eslint/type-utils": "6.7.2",
"@typescript-eslint/utils": "6.7.0", "@typescript-eslint/utils": "6.7.2",
"@typescript-eslint/visitor-keys": "6.7.0", "@typescript-eslint/visitor-keys": "6.7.2",
"debug": "^4.3.4", "debug": "^4.3.4",
"graphemer": "^1.4.0", "graphemer": "^1.4.0",
"ignore": "^5.2.4", "ignore": "^5.2.4",
@ -1608,50 +1608,6 @@
} }
} }
}, },
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.0.tgz",
"integrity": "sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.7.0",
"@typescript-eslint/visitor-keys": "6.7.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-6.7.0.tgz",
"integrity": "sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==",
"dev": true,
"engines": {
"node": "^16.0.0 || >=18.0.0"
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.0.tgz",
"integrity": "sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.7.0",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/eslint-visitor-keys": {
"version": "3.4.3",
"resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
@ -1723,13 +1679,13 @@
} }
}, },
"node_modules/@typescript-eslint/type-utils": { "node_modules/@typescript-eslint/type-utils": {
"version": "6.7.0", "version": "6.7.2",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-6.7.0.tgz", "resolved": "https://registry.npmmirror.com/@typescript-eslint/type-utils/-/type-utils-6.7.2.tgz",
"integrity": "sha512-f/QabJgDAlpSz3qduCyQT0Fw7hHpmhOzY/Rv6zO3yO+HVIdPfIWhrQoAyG+uZVtWAIS85zAyzgAFfyEr+MgBpg==", "integrity": "sha512-36F4fOYIROYRl0qj95dYKx6kybddLtsbmPIYNK0OBeXv2j9L5nZ17j9jmfy+bIDHKQgn2EZX+cofsqi8NPATBQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/typescript-estree": "6.7.0", "@typescript-eslint/typescript-estree": "6.7.2",
"@typescript-eslint/utils": "6.7.0", "@typescript-eslint/utils": "6.7.2",
"debug": "^4.3.4", "debug": "^4.3.4",
"ts-api-utils": "^1.0.1" "ts-api-utils": "^1.0.1"
}, },
@ -1745,93 +1701,6 @@
} }
} }
}, },
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-6.7.0.tgz",
"integrity": "sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==",
"dev": true,
"engines": {
"node": "^16.0.0 || >=18.0.0"
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.0.tgz",
"integrity": "sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.7.0",
"@typescript-eslint/visitor-keys": "6.7.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.0.tgz",
"integrity": "sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.7.0",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/eslint-visitor-keys": {
"version": "3.4.3",
"resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dev": true,
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
"dev": true
},
"node_modules/@typescript-eslint/types": { "node_modules/@typescript-eslint/types": {
"version": "6.7.2", "version": "6.7.2",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-6.7.2.tgz", "resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-6.7.2.tgz",
@ -1898,17 +1767,17 @@
"dev": true "dev": true
}, },
"node_modules/@typescript-eslint/utils": { "node_modules/@typescript-eslint/utils": {
"version": "6.7.0", "version": "6.7.2",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-6.7.0.tgz", "resolved": "https://registry.npmmirror.com/@typescript-eslint/utils/-/utils-6.7.2.tgz",
"integrity": "sha512-MfCq3cM0vh2slSikQYqK2Gq52gvOhe57vD2RM3V4gQRZYX4rDPnKLu5p6cm89+LJiGlwEXU8hkYxhqqEC/V3qA==", "integrity": "sha512-ZCcBJug/TS6fXRTsoTkgnsvyWSiXwMNiPzBUani7hDidBdj1779qwM1FIAmpH4lvlOZNF3EScsxxuGifjpLSWQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@eslint-community/eslint-utils": "^4.4.0", "@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12", "@types/json-schema": "^7.0.12",
"@types/semver": "^7.5.0", "@types/semver": "^7.5.0",
"@typescript-eslint/scope-manager": "6.7.0", "@typescript-eslint/scope-manager": "6.7.2",
"@typescript-eslint/types": "6.7.0", "@typescript-eslint/types": "6.7.2",
"@typescript-eslint/typescript-estree": "6.7.0", "@typescript-eslint/typescript-estree": "6.7.2",
"semver": "^7.5.4" "semver": "^7.5.4"
}, },
"engines": { "engines": {
@ -1918,73 +1787,6 @@
"eslint": "^7.0.0 || ^8.0.0" "eslint": "^7.0.0 || ^8.0.0"
} }
}, },
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.0.tgz",
"integrity": "sha512-lAT1Uau20lQyjoLUQ5FUMSX/dS07qux9rYd5FGzKz/Kf8W8ccuvMyldb8hadHdK/qOI7aikvQWqulnEq2nCEYA==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.7.0",
"@typescript-eslint/visitor-keys": "6.7.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
}
},
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/types/-/types-6.7.0.tgz",
"integrity": "sha512-ihPfvOp7pOcN/ysoj0RpBPOx3HQTJTrIN8UZK+WFd3/iDeFHHqeyYxa4hQk4rMhsz9H9mXpR61IzwlBVGXtl9Q==",
"dev": true,
"engines": {
"node": "^16.0.0 || >=18.0.0"
}
},
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.0.tgz",
"integrity": "sha512-dPvkXj3n6e9yd/0LfojNU8VMUGHWiLuBZvbM6V6QYD+2qxqInE7J+J/ieY2iGwR9ivf/R/haWGkIj04WVUeiSQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.7.0",
"@typescript-eslint/visitor-keys": "6.7.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
"semver": "^7.5.4",
"ts-api-utils": "^1.0.1"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
"version": "6.7.0",
"resolved": "https://registry.npmmirror.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.0.tgz",
"integrity": "sha512-/C1RVgKFDmGMcVGeD8HjKv2bd72oI1KxQDeY8uc66gw9R0OK0eMq48cA+jv9/2Ag6cdrsUGySm1yzYmfz0hxwQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.7.0",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
}
},
"node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": {
"version": "3.4.3",
"resolved": "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
"integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@typescript-eslint/utils/node_modules/lru-cache": { "node_modules/@typescript-eslint/utils/node_modules/lru-cache": {
"version": "6.0.0", "version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
@ -12813,9 +12615,9 @@
"dev": true "dev": true
}, },
"node_modules/sass": { "node_modules/sass": {
"version": "1.67.0", "version": "1.68.0",
"resolved": "https://registry.npmmirror.com/sass/-/sass-1.67.0.tgz", "resolved": "https://registry.npmmirror.com/sass/-/sass-1.68.0.tgz",
"integrity": "sha512-SVrO9ZeX/QQyEGtuZYCVxoeAL5vGlYjJ9p4i4HFuekWl8y/LtJ7tJc10Z+ck1c8xOuoBm2MYzcLfTAffD0pl/A==", "integrity": "sha512-Lmj9lM/fef0nQswm1J2HJcEsBUba4wgNx2fea6yJHODREoMFnwRpZydBnX/RjyXw2REIwdkbqE4hrTo4qfDBUA==",
"devOptional": true, "devOptional": true,
"dependencies": { "dependencies": {
"chokidar": ">=3.0.0 <4.0.0", "chokidar": ">=3.0.0 <4.0.0",

View File

@ -22,7 +22,7 @@
"devDependencies": { "devDependencies": {
"@babel/eslint-parser": "^7.22.15", "@babel/eslint-parser": "^7.22.15",
"@rushstack/eslint-patch": "^1.4.0", "@rushstack/eslint-patch": "^1.4.0",
"@typescript-eslint/eslint-plugin": "^6.7.0", "@typescript-eslint/eslint-plugin": "^6.7.2",
"@vitejs/plugin-vue": "^4.3.4", "@vitejs/plugin-vue": "^4.3.4",
"@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8",
"@vue/eslint-config-typescript": "^12.0.0", "@vue/eslint-config-typescript": "^12.0.0",
@ -32,7 +32,7 @@
"eslint-config-standard-with-typescript": "^39.0.0", "eslint-config-standard-with-typescript": "^39.0.0",
"eslint-plugin-vue": "^9.17.0", "eslint-plugin-vue": "^9.17.0",
"node-sass": "^9.0.0", "node-sass": "^9.0.0",
"sass": "^1.67.0", "sass": "^1.68.0",
"style-loader": "^3.3.3", "style-loader": "^3.3.3",
"ts-node": "^10.9.1", "ts-node": "^10.9.1",
"vue-eslint-parser": "^9.3.1" "vue-eslint-parser": "^9.3.1"

View File

@ -21,7 +21,9 @@ public interface RewardsMapper
public ArrayList<RewardGainer> queryRewardTelsaler(); public ArrayList<RewardGainer> queryRewardTelsaler();
public void saveRewardTelSaler( HashMap<String, Object> params ); public void addRewardTelSaler( HashMap<String, Object> params );
public void updateRewardTelSaler( HashMap<String, Object> params );
public void deleteRewardTelSaler( HashMap<String, Object> params ); public void deleteRewardTelSaler( HashMap<String, Object> params );
} }

View File

@ -0,0 +1,91 @@
/*
* @Author: Kane
* @Date: 2023-09-21 11:35:57
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/AddTelsalerRequest.java
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.rewards;
import com.fasterxml.jackson.annotation.JsonProperty;
public class AddTelsalerRequest
{
public AddTelsalerRequest() {}
public AddTelsalerRequest( String rewardIndex, String telsalerName )
{
this.rewardIndex = rewardIndex;
this.telsalerName = telsalerName;
}
public String getRewardIndex()
{
return rewardIndex;
}
public void setRewardIndex( String rewardIndex )
{
this.rewardIndex = rewardIndex;
}
public String getTelsalerName()
{
return telsalerName;
}
public void setTelsalerName( String telsalerName )
{
this.telsalerName = telsalerName;
}
@Override
public String toString()
{
return "AddTelsalerRequest [rewardIndex=" + rewardIndex + ", telsalerName=" + telsalerName
+ "]";
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + ((rewardIndex == null) ? 0 : rewardIndex.hashCode());
result = prime * result + ((telsalerName == null) ? 0 : telsalerName.hashCode());
return result;
}
@Override
public boolean equals( Object obj )
{
if ( this == obj )
return true;
if ( obj == null )
return false;
if ( getClass() != obj.getClass() )
return false;
AddTelsalerRequest other = (AddTelsalerRequest) obj;
if ( rewardIndex == null )
{
if ( other.rewardIndex != null )
return false;
} else if ( !rewardIndex.equals( other.rewardIndex ) )
return false;
if ( telsalerName == null )
{
if ( other.telsalerName != null )
return false;
} else if ( !telsalerName.equals( other.telsalerName ) )
return false;
return true;
}
@JsonProperty("rewardIndex")
private String rewardIndex;
@JsonProperty("telsalerName")
private String telsalerName;
}

View File

@ -0,0 +1,25 @@
/*
* @Author: Kane
* @Date: 2023-09-21 11:35:57
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/AddTelsalerResponse.java
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.rewards;
import com.cpic.xim.web.controllers.QueryResponse;
public class AddTelsalerResponse extends QueryResponse
{
public AddTelsalerResponse()
{
super();
}
public AddTelsalerResponse( boolean success, String message )
{
super( success, message );
}
}

View File

@ -0,0 +1,65 @@
/*
* @Author: Kane
* @Date: 2023-09-21 11:35:57
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/DeleteTelsalerRequest.java
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.rewards;
import com.fasterxml.jackson.annotation.JsonProperty;
public class DeleteTelsalerRequest
{
public DeleteTelsalerRequest() {}
public DeleteTelsalerRequest( int recordID)
{
this.recordID = recordID;
}
@Override
public String toString()
{
return "DeleteTelsalerRequest [recordID=" + recordID + "]";
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + recordID;
return result;
}
@Override
public boolean equals( Object obj )
{
if ( this == obj )
return true;
if ( obj == null )
return false;
if ( getClass() != obj.getClass() )
return false;
DeleteTelsalerRequest other = (DeleteTelsalerRequest) obj;
if ( recordID != other.recordID )
return false;
return true;
}
public int getRecordID()
{
return recordID;
}
public void setRecordID( int recordID )
{
this.recordID = recordID;
}
@JsonProperty("recordID")
private int recordID;
}

View File

@ -0,0 +1,25 @@
/*
* @Author: Kane
* @Date: 2023-09-21 11:35:57
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/AddTelsalerResponse.java
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.rewards;
import com.cpic.xim.web.controllers.QueryResponse;
public class DeleteTelsalerResponse extends QueryResponse
{
public DeleteTelsalerResponse()
{
super();
}
public DeleteTelsalerResponse( boolean success, String message )
{
super( success, message );
}
}

View File

@ -11,11 +11,14 @@ package com.cpic.xim.web.controllers.rewards;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import org.apache.ibatis.exceptions.PersistenceException;
import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSession;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import com.cpic.xim.mybatis.mapper.RewardsMapper; import com.cpic.xim.mybatis.mapper.RewardsMapper;
@ -68,13 +71,6 @@ public class RewardController
logger.debug( "查询奖项清单," + response.getMessage() + "" + error.getMessage() ); logger.debug( "查询奖项清单," + response.getMessage() + "" + error.getMessage() );
} }
finally
{
if ( session != null )
{
session.close();
}
}
return response; return response;
} }
@ -104,12 +100,130 @@ public class RewardController
response.setMessage( "查询失败!" + error.getMessage() ); response.setMessage( "查询失败!" + error.getMessage() );
response.setGainerList( null ); response.setGainerList( null );
} }
finally
return response;
}
@PostMapping( "/add_telsaler_reward.do" )
@ResponseBody
public AddTelsalerResponse addTelsalerReward( @RequestBody AddTelsalerRequest request )
{
AddTelsalerResponse response = new AddTelsalerResponse();
SqlSession session = null;
try
{
session = MybatisUtils.getSqlSession();
RewardsMapper mapper = session.getMapper( RewardsMapper.class );
HashMap<String, Object> params = new HashMap<>( 3 );
params.put( "a_reward_index", request.getRewardIndex() );
params.put( "a_telsaler_name", request.getTelsalerName() );
mapper.addRewardTelSaler( params );
session.commit();
response.setSuccess( true );
response.setMessage( "添加成功!" );
}
catch ( PersistenceException error )
{ {
if ( session != null ) if ( session != null )
{ {
session.close(); session.rollback();
} }
logger.error( "添加获奖坐席失败,原因:" + error.getMessage() );
response.setSuccess( false );
response.setMessage( error.getMessage() );
}
catch ( IOException error )
{
logger.error( "添加获奖坐席失败,原因:" + error.getMessage() );
response.setSuccess( false );
response.setMessage( error.getMessage() );
}
return response;
}
@PostMapping( "/delete_telsaler_reward.do" )
@ResponseBody
public DeleteTelsalerResponse deleteTelsalerReward( @RequestBody DeleteTelsalerRequest request )
{
DeleteTelsalerResponse response = new DeleteTelsalerResponse();
SqlSession session = null;
try
{
session = MybatisUtils.getSqlSession();
RewardsMapper mapper = session.getMapper( RewardsMapper.class );
HashMap<String, Object> param = new HashMap<String, Object>( 3 );
param.put( "a_rec_id", request.getRecordID() );
mapper.deleteRewardTelSaler( param );
response.setSuccess( true );
response.setMessage( "删除成功!" );
}
catch ( IOException error )
{
logger.error( "删除获奖坐席失败,原因:" + error.getMessage() );
response.setSuccess( false );
response.setMessage( error.getMessage() );
}
catch ( PersistenceException error )
{
logger.error( "删除获奖坐席失败,原因:" + error.getMessage() );
response.setSuccess( false );
response.setMessage( error.getMessage() );
}
return response;
}
@PostMapping( "update_telsaler_reward.do" )
@ResponseBody
UpdateTelsalerResponse updateTelsalerReward( @RequestBody UpdateTelsalerRequest request )
{
UpdateTelsalerResponse response = new UpdateTelsalerResponse();
SqlSession session = null;
try
{
session = MybatisUtils.getSqlSession();
RewardsMapper mapper = session.getMapper( RewardsMapper.class );
HashMap<String, Object> params = new HashMap<>( 3 );
params.put( "a_rec_id", request.getRecordID() );
params.put( "a_telsaler_name", request.getTelsalerName() );
params.put( "a_reward_index", request.getRewardIndex() );
mapper.updateRewardTelSaler( params );
response.setSuccess( true );
response.setMessage( "更新成功!" );
}
catch ( IOException error )
{
logger.error( "更新获奖坐席失败,原因:" + error.getMessage() );
response.setSuccess( false );
response.setMessage( error.getMessage() );
}
catch ( PersistenceException error )
{
logger.error( "更新获奖坐席失败,原因:" + error.getMessage() );
response.setSuccess( false );
response.setMessage( error.getMessage() );
} }
return response; return response;

View File

@ -0,0 +1,109 @@
/*
* @Author: Kane
* @Date: 2023-09-21 16:01:51
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/UpdateTelsalerRequest.java
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.rewards;
import com.fasterxml.jackson.annotation.JsonProperty;
public class UpdateTelsalerRequest
{
public UpdateTelsalerRequest() {}
public UpdateTelsalerRequest( int recordID, String rewardIndex, String telsalerName )
{
this.recordID = recordID;
this.rewardIndex = rewardIndex;
this.telsalerName = telsalerName;
}
public String getRewardIndex()
{
return rewardIndex;
}
public void setRewardIndex( String rewardIndex )
{
this.rewardIndex = rewardIndex;
}
public String getTelsalerName()
{
return telsalerName;
}
public void setTelsalerName( String telsalerName )
{
this.telsalerName = telsalerName;
}
public int getRecordID()
{
return recordID;
}
public void setRecordID( int recordID )
{
this.recordID = recordID;
}
@Override
public String toString()
{
return "UpdateTelsalerRequest [recordID=" + recordID + ", rewardIndex=" + rewardIndex
+ ", telsalerName=" + telsalerName + "]";
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + recordID;
result = prime * result + ((rewardIndex == null) ? 0 : rewardIndex.hashCode());
result = prime * result + ((telsalerName == null) ? 0 : telsalerName.hashCode());
return result;
}
@Override
public boolean equals( Object obj )
{
if ( this == obj )
return true;
if ( obj == null )
return false;
if ( getClass() != obj.getClass() )
return false;
UpdateTelsalerRequest other = (UpdateTelsalerRequest) obj;
if ( recordID != other.recordID )
return false;
if ( rewardIndex == null )
{
if ( other.rewardIndex != null )
return false;
} else if ( !rewardIndex.equals( other.rewardIndex ) )
return false;
if ( telsalerName == null )
{
if ( other.telsalerName != null )
return false;
} else if ( !telsalerName.equals( other.telsalerName ) )
return false;
return true;
}
@JsonProperty("recordID")
private int recordID;
@JsonProperty("rewardIndex")
private String rewardIndex;
@JsonProperty("telsalerName")
private String telsalerName;
}

View File

@ -0,0 +1,25 @@
/*
* @Author: Kane
* @Date: 2023-09-21 11:35:57
* @LastEditors: Kane
* @FilePath: /desktop_archievement_backend/src/main/java/com/cpic/xim/web/controllers/rewards/UpdateTelsalerResponsense.java
* @Description:
*
* Copyright (c) ${2022} by Kane, All Rights Reserved.
*/
package com.cpic.xim.web.controllers.rewards;
import com.cpic.xim.web.controllers.QueryResponse;
public class UpdateTelsalerResponse extends QueryResponse
{
public UpdateTelsalerResponse()
{
super();
}
public UpdateTelsalerResponse( boolean success, String message )
{
super( success, message );
}
}

View File

@ -28,8 +28,23 @@
<result column="reward_index" property="rewardProjectCode" /> <result column="reward_index" property="rewardProjectCode" />
</resultMap> </resultMap>
<select id="" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap"> <select id="addRewardTelSaler" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
call telsaler_reward_pkg.add_telsaler_reward(
#{a_reward_index,mode=IN,jdbcType=VARCHAR},
#{a_telsaler_name,mode=IN,jdbcType=VARCHAR})
</select>
<!-- 删除获奖坐席记录 -->
<select id="deleteRewardTelSaler" flushCache="true" statementType="CALLABLE" parameterType="java.util.HashMap">
call telsaler_reward_pkg.delete_telsaler_reward( call telsaler_reward_pkg.delete_telsaler_reward(
#{a_rec_id,mode=IN,jdbcType=INTEGER}) #{a_rec_id,mode=IN,jdbcType=INTEGER})
</select> </select>
<!-- 更新获奖坐席 -->
<select id="updateRewardTelSaler" statementType="CALLABLE" flushCache="true" parameterType="java.util.HashMap" >
call telsaler_reward_pkg.update_telsaler_reward(
#{a_rec_id,mode=IN,jdbcType=INTEGER},
#{a_telsaler_name,mode=IN,jdbcType=VARCHAR},
#{a_reward_index,mode=IN,jdbcType=VARCHAR})
</select>
</mapper> </mapper>